第十一章 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

最低0.47元/天 解锁文章
2474





