TRPO算法 车杆环境 倒立摆环境

第十一章 TPRO算法

11.1简介

本书之前介绍的基于策略的方法包括策略梯度算法和Actor-Critic算法。这些发方法虽然简单、直观,但在实际应用过程中会遇到训练不稳定的情况。基于策略的方法:参数化智能体的策略,并设计衡量策略好坏的目标函数,通过梯度上升的方法来最大化这个目标函数,使得策略最优。具体来说,假设θ\thetaθ表示策略πθ\pi_\thetaπθ的参数,定义J(θ)=Es0[Vπθ(s0)]=Eπθ[Σt=0∞γtr(st,at)]J(\theta)=\mathbb E_{s_0}[V^{\pi_\theta}(s_0)]=\mathbb E_{\pi_\theta}[\varSigma_{t=0}^{∞}\gamma^tr(s_t,a_t)]J(θ)=Es0[Vπθ(s0)]=Eπθ[Σt=0γtr(st,at)],基于策略的方法的目标是找到θ∗=argmaxθJ(θ)\theta^*=argmax_\theta J(\theta)θ=argmaxθJ(θ),策略梯度算法主要沿着∇θJ(θ)\nabla _{\theta}J\left( \theta \right) θJ(θ)方向迭代更新策略参数θ\thetaθ。但是这种算法有一个明显的缺点:当策略网络是深度模型时,沿着策略梯度更新参数,很有可能步长太大,策略突然显著变差,进而影响训练效果。

针对以上问题,我们考虑在更新时找到一块信任区域,在这个区域更新策略时能够得到某种策略性能的安全保证,这就是信任区域策略优化算法的主要思想。

11.2 策略目标

假设当前策略为πθ\pi_\thetaπθ,参数为θ\thetaθ。我们考虑如何借助当前的θ\thetaθ找到一个更优的参数θ′\theta 'θ,使得J(θ′)>=J(θ)J(\theta')>=J(\theta)J(θ)>=J(θ)。具体来说,由于初始状态s0s_0s0的分布和策略无关,因此上述策略πθ\pi_\thetaπθ下的优化目标J(θ)J(\theta)J(θ)可以写成再新策略πθ′\pi_{\theta'}πθ的期望形式:
J(θ)=Es0[Vπθ(s0)] J\left( \theta \right) =\mathbb E_{s_0}\left[ V^{\pi _{\theta}}\left( s_0 \right) \right] J(θ)=Es0[Vπθ(s0)]
=Eπθ′[Σ∞t=0γtVπθ(st)−Σ∞t=1γtVπθ(st)] =\mathbb E_{\pi _{\theta '}}\left[ \underset{t=0}{\overset{\infty}{\varSigma}}\gamma ^tV^{\pi _{\theta}}\left( s_t \right) -\underset{t=1}{\overset{\infty}{\varSigma}}\gamma ^tV^{\pi _{\theta}}\left( s_t \right) \right] =Eπθ[t=0ΣγtVπθ(st)t=1ΣγtVπθ(st)]
=−Eπθ′[Σ∞t=0γt(γVπθ(st+1)−Vπθ(st))] =-\mathbb E_{\pi _{\theta '}}\left[ \underset{t=0}{\overset{\infty}{\varSigma}}\gamma ^t\left( \gamma V^{\pi _{\theta}}\left( s_{t+1} \right) -V^{\pi _{\theta}}\left( s_t \right) \right) \right] =Eπθ[t=0Σγt(γVπθ(st+1)Vπθ(st))]

基于以上等式,我们可以推导新旧策略的目标函数之间的差距:
J(θ′)−J(θ)=Es0[Vπθ′(s0)]−E[Vπθ(s0)] J\left( \theta ' \right) -J\left( \theta \right) =\mathbb E_{s_0}\left[ V^{\pi _{\theta '}}\left( s_0 \right) \right] -\mathbb E\left[ V^{\pi _{\theta}}\left( s_0 \right) \right] J(θ)J(θ)=Es0[Vπθ(s0)]E[Vπθ(s0)]
=Eπθ′[Σ∞t=0γtr(st,at)]+Es0[Σ∞t=0γt(γVπθ(st+1)−Vπθ(st))] =\mathbb E_{\pi _{\theta '}}\left[ \underset{t=0}{\overset{\infty}{\varSigma}}\gamma ^tr\left( s_t,a_t \right) \right] +\mathbb E_{s_0}\left[ \underset{t=0}{\overset{\infty}{\varSigma}}\gamma ^t\left( \gamma V^{\pi _{\theta}}\left( s_{t+1} \right) -V^{\pi _{\theta}}\left( s_t \right) \right) \right] =Eπθ[t=0Σγtr(st,at)]+E

评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值