TRPO算法原理和实现

本文参考《深度强化学习》书籍和代码,介绍了置信域算法,包括近似和最大化步骤,推导了目标函数。详细阐述了TRPO算法,涉及目标函数、蒙特卡洛近似、折扣回报等内容,还给出了在置信域内寻找新参数的方法,最后提及代码实现。

参考:王树森《深度强化学习》书籍和代码

1、置信域算法

1.Approximation: Given θold constructL(θ∣θold)is an approximation to J(θ) in N(θold).1.{\text{Approximation: Given }\mathbf{\theta}_{\mathrm{old}}\text{ construct}}{L(\mathbf{\theta}\mid\mathbf{\theta}_{\mathrm{old}})}\text{is an approximation to }J(\mathbf{\theta})\text{ in }\mathcal{N}(\mathbf{\theta}_{\mathrm{old}}).1.Approximation: Given θold constructL(θθold)is an approximation to J(θ) in N(θold).

2. Maximization: In the trust region, find θnew by:2.\text{ Maximization: In the trust region, find }\mathbf{\theta}_{\mathrm{new}}\text{ by:}2. Maximization: In the trust region, find θnew by:

θnew←argmax⁡⁡θ∈N(θold)L(θ∣θold). \theta_{\mathrm{new}}\leftarrow\underset{\mathbf{\theta}\in\mathbb{N}(\mathbf{\theta}_{\mathrm{old}})}{\operatorname*{\operatorname{argmax}}}L(\mathbf{\theta}\mid\mathbf{\theta}_{\mathrm{old}}). θnewθN(θold)argmaxL(θθold).

注:做近似时,可以用二阶泰勒展开、蒙特卡洛近似等;在置信域求LLL最大化时用什么方法都可以;


2、目标函数的推导

Use policy network, π(a∣s;0),for controlling the agent.\text{Use policy network, }\pi(a|s;\mathbf{0}),\text{for controlling the agent.}Use policy network, π(as;0),for controlling the agent.

State-value function:\text{State-value function:}State-value function:
Vπ(s)=∑aπ(a∣s;θ)⋅Qπ(s,a)=∑aπ(a∣s;θold)⋅π(a∣s;θ)π(a∣s;θold)⋅Qπ(s,a)=EA∼π(⋅∣s;θold)[π(A∣s;θ)π(A∣s;θold)⋅Qπ(s,A)]. \begin{aligned}V_{\pi}(s)& =\sum_a\pi({a}\mid s;\mathbf{\theta})\cdot Q_\pi(s,{a}) \\&=\sum_{ {a}}\pi({a}\mid s;\mathbf{\theta}_{\mathrm{old}})\cdot\frac{\pi({a}\mid s;\mathbf{\theta})}{\pi({a}\mid s;\mathbf{\theta}_{\mathrm{old}})}\cdot Q_{\pi}({s},{a}) \\&={\mathbb{E}_{ {A}\sim\pi(\cdot|s;\mathbf{\theta}_{\mathrm{old}})}}[\frac{\pi({A}\mid s;\mathbf{\theta})}{\pi({A}\mid s;\mathbf{\theta}_{\mathrm{old}})}\cdot Q_\pi(s,{A})].\end{aligned} Vπ(s)=aπ(as;θ)Qπ(s,a)=aπ(as;θold)π(as;θold)π(as;θ)Qπ(s,a)=EAπ(s;θold)[π(As;θold)π(As;θ)Qπ(s,A)].
Objective function:\text{Objective function:}Objective function:
J(θ)=ES[Vπ(S)]=ES[EA[π(A∣S;θ)π(A∣S;θold)⋅Qπ(S,A)]] \begin{aligned}J(\mathbf{\theta})& =\mathbb{E}_S[V_\pi(S)] \\&={\mathbb{E}_S\left[\mathbb{E}_A\left[\frac{\pi(A\mid S;\mathbf{\theta})}{\pi(A\mid S;\mathbf{\theta}_{\mathrm{old}})}\cdot Q_\pi(S,A)\right]\right]}\end{aligned} J(θ)=ES[Vπ(S)]=ES[EA[π(AS;θold)π(A

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

KPer_Yang

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值