TRPO and PPO

一、代理损失 (Surrogate Loss)
代理损失(Surrogate Loss)来源于重要性采样(Importance Sampling)的推导:
对其求梯度:
在
该推导表明,我们可以使用代理目标(surrogate objective)而不仅仅是梯度,从而设计更有效的优化策略。
二、Step-Sizing 和 Trust Region Policy Optimization (TRPO)
步长问题
强化学习中的步长控制尤为关键:
- 在监督学习中,步长太大可以通过下次迭代纠正;
- 在强化学习中,步长太大会导致策略恶化;
- 接下来采样的数据来自这个“糟糕策略”,无法轻易纠正;
- 常规解决方式是缩小步长,增加稳健性。
简单步长控制方法
- 使用梯度方向的线搜索;
- 虽然简单,但代价高且不考虑一阶近似的适用区域。
信赖域策略优化(Trust Region Policy Optimization, TRPO)
目标函数:
约束条件:
KL 散度的评估
轨迹分布为:
由于环境动态在正反比中相互抵消,KL 散度简化为:
TRPO 的实践效果良好,如应用于:
- Locomotion 学习任务(如 Hopper, Walker)
- Atari 游戏(如 Pong, Beamrider)
- GAE(Generalized Advantage Estimation)与 TRPO 搭配使用
三、Proximal Policy Optimization (PPO)
TRPO 的局限性
- 难以在复杂策略架构中强制执行信赖域约束;
- 如:包含 dropout 的网络结构,或策略与价值函数共享参数;
- 共轭梯度方法实现复杂;
- 不利于使用诸如 Adam、RMSProp 等优秀的一阶优化器。
PPO 版本 1 —— “Dual Descent TRPO”
- 基于对偶下降法(dual descent)对
进行更新; - 虽然有效,但仍显复杂。
PPO 版本 2 —— “Clipped Surrogate Loss”
定义:
目标函数为:
特点:
- 无需约束 KL;
- 简单易实现;
- 可以与常规的一阶优化器(如 Adam)配合;
- 实际表现优异,被广泛用于复杂任务中。
PPO 的应用实例
- OpenAI Five(Dota 2 游戏 AI)
- In-Hand 物体重定向(OpenAI)
- 魔方机器人手重构(OpenAI Rubik's Cube)
- 标题: TRPO and PPO
- 作者: Felix Christian
- 创建于 : 2025-07-14 00:22:05
- 更新于 : 2025-07-14 01:03:37
- 链接: https://felixchristian.top/2025/07/14/19-DeepRL_lecture4/
- 版权声明: 本文章采用 CC BY-NC-SA 4.0 进行许可。
评论