TRPO and PPO

Felix Christian Lv3

一、代理损失 (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 进行许可。
评论