【强化学习】揭开PPO2算法的神秘面纱(一)

本文深入探讨了强化学习中的PPO2算法,解释了其作为一阶方法如何限制策略更新以避免性能下降。文章重点介绍了PPO-Clip版本,包括损失函数设计中的新老策略比例项,优势函数的计算,以及算法流程。同时,详细讨论了决策模型,如确定性和随机决策,特别是分类决策和连续决策(Diagonal Gaussian Policies)的模型创建、采样和似然函数。
摘要由CSDN通过智能技术生成

在上一篇强化学习应该知道的一些概念当中我们已经介绍了许多相关理论要点以及给出部分公式,下面就结合相关代码进行实践,由于篇幅过长,会分为两部分(或以上)进行讲解。

另外,可能有些地方名字不一样但指的是同一个东西的地方也请大家见谅,因为很多专业名词都暂时没有找到相关的翻译,后续会慢慢更改的~

一、算法简介

PPO受到与TRPO相同的问题的启发:我们如何才能使用当前拥有的数据在策略上采取最大可能的改进步骤,而又不会走得太远而导致意外导致性能下降?在TRPO试图通过复杂的二阶方法解决此问题的地方,PPO使用的是一阶方法,它使用其他一些技巧来使新策略接近于旧策略。PPO方法实施起来非常简单,而且从经验上看,其性能至少与TRPO相同。其次PPO算法也是AC架构。

PPO有两种主要形式:PPO-Penalty和PPO-Clip。

PPO-Penalty:近似地解决了TRPO之类的受KL约束的更新,但对目标函数中的KL偏离进行了惩罚而不是使其成为硬约束,并在训练过程中自动调整惩罚系数,以便对其进行适当缩放。

PPO-Clip:在目标中没有KL散度项,也完全没有约束。取而代之的是依靠对目标函数的专门裁剪来减小新老策略的差异。

在这里,我们只讨论PPO-Clip(OpenAI使用的主要形式)。

OPENAI的baseline里面有两个版本的ppo算法,安装他们的注释,ppo2应该才是正式版,其实两者差别不大,主要体现在算法的优化上面,基本思想还是限制新老策略的差别以防更新过快。

1、关键点

1.1 损失函数的设计

ppo算法最精髓的地方就是加入了一项比例用以描绘新老策略的差异,用 r t ( θ ) = π θ ( a t ∣ s t ) π θ k ( a t ∣ s t ) r_t(\theta)=\frac{\pi_{\theta}(a_t|s_t)}{\pi_{\theta _k}(a_t|s_t)} rt(θ)=πθk(atst)πθ(atst)表示,损失函数如下:

L ( s , a , θ k , θ ) = min ⁡ [ r ( θ ) A π θ k ( s , a ) ,      clip ( r ( θ ) , 1 − ϵ , 1 + ϵ ) A π θ k ( s , a ) ] L(s,a,\theta_k,\theta) = \min\left[ r(\theta) A^{\pi_{\theta_k}}(s,a), \;\; \text{clip}\left(r(\theta), 1 - \epsilon, 1+\epsilon \right) A^{\pi_{\theta_k}}(s,a) \right] L(s,a,θk,θ)=min[r(θ)Aπθk(s,a),clip(r(θ),1ϵ,1+ϵ)Aπθk(s,a)]

其中, ϵ \epsilon ϵ是一个(很小的)超参数,用以粗略限制 r ( θ ) r(\theta) r(θ)的变化范围。为了表达方便,我们将上面将该损失函数用 L c l i p ( θ ) L^{clip}(\theta) Lclip(θ)表示
 

ppo2里面,如果critic和actor共享参数的话,损失函数定义为如下:
L C L I P + V F + S = L C L I P ( θ ) − c 1 L V F ( θ ) + c 2 S [ π θ ] ( s t ) L^{CLIP + VF + S} = L^{CLIP}(\theta) - c_1 L^{VF}(\theta) +c_2S[\pi_{\theta}](s_t) LCLIP+VF+S=L

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

我是。

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

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

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

打赏作者

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

抵扣说明:

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

余额充值