Proximal Policy Optimization (PPO) 原理

TRPO和PPO是强化学习中的策略优化算法。TRPO通过约束优化问题确保策略更新的稳定性,而PPO进一步简化为无约束问题,通过CLIP操作隐式保持策略的近似不变性。PPO的目标函数设计能避免大的策略跳跃,保证学习过程的效率和收敛性。
摘要由CSDN通过智能技术生成

1. Motivation

在TRPO中,我们通过解如下优化问题对策略参数进行更新:
maximize θ E t [ π θ ( a t ∣ s t ) π θ o l d ( a t ∣ s t ) A t ] , s . t . E [ D ˉ K L [ π θ o l d ( ⋅ , s t ) , π θ ( ⋅ , s t ) ] ] ≤ δ . (1) \text{maximize}_{\theta} \mathbb{E}_t[\frac{\pi_{\theta}(a_t|s_t)}{\pi_{\theta_{old}}(a_t|s_t)}A_t],\\ s.t. \mathbb{E}[\bar D_{KL}[\pi_{\theta_{old}}(\cdot,s_t),\pi_{\theta}(\cdot,s_t)]] \le \delta. \tag{1} maximizeθEt[πθold(atst)πθ(atst)At],s.t.E[DˉKL[πθold(,st),πθ(,st)]]δ.(1)PPO指出,实际在TRPO的理论分析中,针对的是无约束优化问题:
maximize θ E t [ π θ ( a t ∣ s t ) π θ o l d ( a t ∣ s t ) A t − β D K L m a x [ π θ o l d ( ⋅ , s t ) , π θ ( ⋅ , s t ) ] . (2) \text{maximize}_{\theta} \mathbb{E}_t[\frac{\pi_{\theta}(a_t|s_t)}{\pi_{\theta_{old}}(a_t|s_t)}A_t - \beta D_{KL}^{max}[\pi_{\theta_{old}}(\cdot,s_t),\pi_{\theta}(\cdot,s_t)].\tag{2} maximizeθEt[πθold(atst)πθ(atst)AtβDKLmax[πθold(,st),πθ(,st)].(2)TRPO中发现,难以选择合适的 β \beta β来解决(2)中的问题。并且,由于TRPO将 D K L m a x D_{KL}^{max} DKLmax(最大值)替换为了 D ˉ K L \bar D_{KL} DˉKL(平均值),导致实际上(2)是一个比(1)更低的下界估计。
因此,PPO从以上角度出发,首先将TRPO中的约束优化问题变为了无约束优化问题,并且通过修改目标函数,使得约束隐式地保留。

2. Algorithm

若不考虑约束,则TRPO的优化目标可以写为:
maximize θ E t [ π θ ( a t ∣ s t ) π θ o l d ( a t ∣ s t ) A t ] = E t [ r t ( θ ) A t ] , (3) \text{maximize}_{\theta} \mathbb{E}_t[\frac{\pi_{\theta}(a_t|s_t)}{\pi_{\theta_{old}}(a_t|s_t)}A_t] = \mathbb{E}_t[r_t(\theta)A_t],\tag{3} maximizeθEt[πθold(atst)πθ(atst)At]=Et[rt(θ)At],(3)其中 r ( θ ) = π θ ( a t ∣ s t ) π θ o l d ( a t ∣ s t ) ∈ [ 0 , + ∞ ] r(\theta) = \frac{\pi_{\theta}(a_t|s_t)}{\pi_{\theta_{old}}(a_t|s_t)} \in [0, +\infty] r(θ)=πθold(atst)πθ(atst)[0,+],且 r ( θ o l d ) = 1 r(\theta_{old})=1 r(θold)=1。为了使 r ( θ ) r(\theta) r(θ)不偏离1太远(类似于TRPO中的KL散度约束),PPO设计了以下的目标函数:
L C L I P ( θ ) = E t [ min ⁡ ( r t ( θ ) A t , clip ( r t ( θ ) , 1 − ϵ , 1 + ϵ ) A t ) ] . (4) L^{CLIP}(\theta) = \mathbb{E}_t[\min(r_t(\theta)A_t, \text{clip}(r_t(\theta), 1-\epsilon, 1+\epsilon)A_t)]. \tag{4} LCLIP(θ)=Et[min(rt(θ)At,clip(rt(θ),1ϵ,1+ϵ)At)].(4)其作用是当 A > 0 A>0 A>0时,将 r ( θ ) r(\theta) r(θ) 1 + ϵ 1+\epsilon 1+ϵ处截断,当 A < 0 A<0 A<0时,将 r ( θ ) r(\theta) r(θ) 1 − ϵ 1-\epsilon 1ϵ处截断(见PPO论文Figure1)。注意到,目标函数(4)是(3)的下界。其余部分与一般的AC算法无异,包括更新Critic网络,估计 A t A_t At等,可参考PPO论文5. Algorithm部分,在此不再赘述。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值