RL论文阅读3-PPO.2017

PPO.2017

Tittle

在这里插入图片描述
source

标签

  • Model-free
  • Policy-based
  • On-policy
  • Continuous State Space
  • Continuous Action Space
  • Support High-dim Input

总结

针对的问题

TRPO算法虽然取得较好成果,但是相对复杂,不兼容一些包含噪声或者参数共享的架构。
其实和TRPO解决的问题一样,是PG过程中步长的问题,是在TRPO的基础上做了些修改。

解决思路

文章提出了两种方法:

  • 方法1 对于Loss函数,如果新旧策略相差很大,采取截断的方法。防止过分大的更新。
  • 方法2 动态修改KL乘法系数。效果不如方法1

优点

保留了TRPO的一些优点同时,更加简单、通用并且有更好的采样复杂性

原理和idea

一般来说,PG算法的损失函数
L P G ( θ ) = E t ^ [ log ⁡ π θ ( a t ∣ s t ) A ^ t ] L^{PG}(\theta) = \hat{\Bbb{E}_t}[\log \pi_\theta(a_t|s_t)\hat A_t] LPG(θ)=Et^[logπθ(atst)A^t]

A 为Advantage function

在TROP算法中,优化目标是在给定限制最大化目标函数
max ⁡ θ E t ^ [ π θ ( a t ∣ s t ) π θ o l d ( a t ∣ s t ) A ^ t ] s t . E t ^ [ K L [ π θ o l d ( ⋅ ∣ s t ) , π θ ( ⋅ ∣ s t ) ] ] ≤ δ \max _\theta \hat{\Bbb{E}_t}[\frac{\pi_\theta(a_t|s_t)}{\pi_{\theta_{old}}(a_t|s_t)}\hat A_t] \\ st. \hat{\Bbb{E}_t}[KL[\pi_{\theta_{old}}(\cdot|s_t), \pi_\theta(\cdot|s_t)]] \leq \delta θmaxEt^[πθold(atst)πθ(atst)A^t]st.Et^[KL[πθold(st),πθ(st)]]δ

TROP 实际上是把限制项放在原始作为批判项
max ⁡ θ E t ^ [ π θ ( a t ∣ s t ) π θ o l d ( a t ∣ s t ) A ^ t ] + β ( K L [ π θ o l d ( ⋅ ∣ s t ) , π θ ( ⋅ ∣ s t ) ] ) \max _\theta \hat{\Bbb{E}_t}[\frac{\pi_\theta(a_t|s_t)}{\pi_{\theta_{old}}(a_t|s_t)}\hat A_t] + \beta ( KL[\pi_{\theta_{old}}(\cdot|s_t), \pi_\theta(\cdot|s_t)] ) θmaxEt^[πθold(atst)πθ(atst)A^t]+β(KL[πθold(st),πθ(st)])
由于 β \beta β很难选择,所以就使用了限制项。

r t ( θ ) = π θ ( a t ∣ s t ) π θ o l d ( a t ∣ s t ) r_t(\theta) = \frac{\pi_\theta(a_t|s_t)}{\pi_{\theta_{old}}(a_t|s_t)} rt(θ)=πθold(atst)πθ(atst)

借助TROP的思想, 那么
L C P I ( θ ) = E t ^ [ π θ ( a t ∣ s t ) π θ o l d ( a t ∣ s t ) A ^ t ] = E t ^ [ r t ( θ ) A ^ t ] L^{CPI}(\theta) = \hat{\Bbb{E}_t}[\frac{\pi_\theta(a_t|s_t)}{\pi_{\theta_{old}}(a_t|s_t)}\hat A_t] = \hat{\Bbb{E}_t}[r_t(\theta) \hat A_t] LCPI(θ)=Et^[πθold(atst)πθ(atst)A^t]=Et^[rt(θ)A^t]

CPI : conservative policy iteration

如果没有TROP里的限制,最大化 L C P I L^{CPI} LCPI会导致策略更新过大,PPO的主要解决办法是直接clip,截断处,理
L C L I P ( θ ) = E t ^ [ min ⁡ ( r t ( θ ) A ^ t , c l i p ( r t ( θ ) , 1 − ϵ , 1 + ϵ ) A ^ t ) ] L^{CLIP} (\theta) = \hat{\Bbb{E}_t}[\min (r_t(\theta) \hat A_t, \rm{clip}(r_t(\theta),1-\epsilon, 1+ \epsilon)\hat A_t )] LCLIP(θ)=Et^[min(rt(θ)A^t,clip(rt(θ),1ϵ,1+ϵ)A^t)]
这个的意思就是

  • A ^ t > 0 \hat A_t > 0 A^t>0 : 整体为正,最大不能超过 ( 1 + ϵ ) A ^ t (1+\epsilon) \hat A_t (1+ϵ)A^t,最小值取决于 r t ( θ ) A ^ t r_t(\theta)\hat A_t rt(θ)A^t
  • A ^ t < 0 \hat A_t < 0 A^t<0 :整体为负,最大不能超过 ( 1 + ϵ ) A ^ t (1+\epsilon) \hat A_t (1+ϵ)A^t,最小值取决于 r t ( θ ) A ^ t r_t(\theta)\hat A_t rt(θ)A^t

在这里插入图片描述
在这里插入图片描述
这篇论文还提出使用 β \beta β批判项,但是实验效果差于使用clip

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值