深度强化学习原理--近端策略优化(PPO)

举报
剑指南天 发表于 2026/05/23 11:07:44 2026/05/23
【摘要】 PPO增加了一个软约束(裁剪机制),可能会做出一些错误的决策,但它在优化速度上取得了良好的平衡。实验结果证明,这种平衡能够以最简单的方式实现最佳性能。

1.概述

为了解决在强化学习中很难找到合适的学习率的问题,从最优化理论中得到启发,使用置信域的方法,找一个安全的步长,然后进行梯度上升。基于 Actor-Critic 架构的带裁剪近端策略优化(PPO)很好的实现这个方法。

2. 数学推导

2.1 PPO目标函数

为了解决在强化学习中很难找到合适的学习率的问题,将目标函数修订,使得训练出来的新策略一定比旧策略好,目标函数(代理目标函数)数学定义:

   

公式存在的问题是需要用新策略计算期望,但是新策略是未知的。但是可以使用旧策略的优势来估计新策略的优势,

如果分布接近,根据重要采样的期望公式,下面的公式成立:

所以当 分布接近,为了使最大化,使用梯度上升法。在训练过程中 会逐渐大于等于0。

为了使分布接近,KL散度可以很好的评估两组分布是否相似。根据KL散度公式和性质:KL散度的值大于或等于0,且仅当两个概率分布相同时,其值才为0:

容易得到 =1 的时候,散度最小为0。

设定一个超参数 ε ,如果 1-ε < < 1+ε ,则认为两组分布相似性可以接受,参与梯度更新。如果差异性较大,也给一定的概率参加更新。所以演化为下面的公式:

2.2 PPO目标函数的梯度等效于策略函数的梯度

2.3 PPO目标函数和策略函数在 E𝜏∼𝜋𝜃 [𝐺(𝜏)] 是等效的,所以PPO目标函数也称为代理目标函数。

3. 使用带裁剪近端策略优化进行500次倒立摆游戏,每次回报情况如下图。模型收敛很快,训练稳定性提高很多。

①训练过程中每条轨迹回报

②测试过程中每条轨迹回报

4. 总结:带裁剪的PPO目标函数,限制了当前策略与旧策略之间的差异范围,消除了部分比率超出区间导致训练不稳定的诱因,对梯度的更新产生积极的影响,如果比率为>1+𝜀 或 <1−𝜀,则梯度可能会为0。PPO增加了一个软约束(裁剪机制),可以通过一阶优化器(求一阶导数)进行优化。可能会做出一些错误的决策,但它在优化速度上取得了良好的平衡。实验结果证明,这种平衡能够以最简单的方式实现最佳性能。

【版权声明】本文为华为云社区用户原创内容,未经允许不得转载,如需转载请自行联系原作者进行授权。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。