返回报告库

AI / Technology

近端策略优化算法

同一批轨迹反复更新时,无护栏可能让策略跳太远

图 1|教学示意。上路是未受约束的重复更新,下路是 PPO 的裁剪护栏。它表达机制,不是论文实验数据。

  1. 问题: 策略梯度如果在同一批轨迹上反复更新,策略可能一次跳得太远,刚收集的数据随即失真。论文第 2.1 节,第 2 页
  2. 改变: PPO 比较新旧策略采取同一动作的概率,用裁剪目标阻止“看起来有利”的概率比继续跑出区间;于是同一批数据可以做多轮小批量更新。论文第 3、5 节,第 3–5 页
  3. 结论边界: 论文中的裁剪版本在 MuJoCo 消融里最好,也在连续控制和 Atari 对比中表现强,但证据仍是 2017 年的特定网络、预算和基准,不是对所有强化学习任务的普遍保证。论文第 6 节及附录 A,第 6–10 页

把旧策略想成安全带中心:有利变化超出边界后不再获得额外激励,而不利变化仍计入损失。

图 2|裁剪直觉。安全带是概率比率的教学类比,不是参数空间中的真实墙壁。

论文示例取 ε = 0.2。当一个变化会改善代理目标时,超出区间后不再给额外激励;当变化会让目标更差时,损失仍保留。两项取较小值,使目标成为未裁剪代理目标的悲观下界。它不是把参数硬锁在区间里,也不保证每次真实回报都单调上升。论文式 (6)–(7) 与图 1,第 3 页

PPO 的一轮 actor-critic 训练

图 3|训练循环。圆环表示同一批数据被多轮小批量复用;盾牌表示裁剪目标控制更新激励。

每轮由 N 个并行 actor 各运行 T 步,形成 NT 个时间步;随后计算优势,把数据打散成大小不超过 NT 的小批量,并对代理目标优化 K 轮,最后把当前参数记为新的旧策略,再去采样。若策略和价值函数共享网络,完整目标还会组合裁剪代理项、价值函数平方误差与熵奖励。论文算法 1 与式 (9),第 4–5 页

研究附录

官方标题: Proximal Policy Optimization Algorithms
作者: John Schulman、Filip Wolski、Prafulla Dhariwal、Alec Radford、Oleg Klimov
来源: arXiv:1707.06347v2,2017-08-28 修订,12 页

核心结论

三句话带走

  1. 问题: 策略梯度如果在同一批轨迹上反复更新,策略可能一次跳得太远,刚收集的数据随即失真。论文第 2.1 节,第 2 页
  2. 改变: PPO 比较新旧策略采取同一动作的概率,用裁剪目标阻止“看起来有利”的概率比继续跑出区间;于是同一批数据可以做多轮小批量更新。论文第 3、5 节,第 3–5 页
  3. 结论边界: 论文中的裁剪版本在 MuJoCo 消融里最好,也在连续控制和 Atari 对比中表现强,但证据仍是 2017 年的特定网络、预算和基准,不是对所有强化学习任务的普遍保证。论文第 6 节及附录 A,第 6–10 页

一句话主线

PPO 想保留 TRPO“别让新策略离旧策略太远”的稳健直觉,却把复杂的受约束优化改成普通一阶优化可以直接使用的裁剪目标。论文摘要与第 1 节,第 1 页

问题

为什么一次更新会毁掉学习

强化学习的数据由当前策略自己产生。旧策略采到一批轨迹后,如果新策略在这批数据上被推得过猛,数据与新策略就不再匹配。普通策略梯度通常每份样本只做一次更新;直接复用同一批轨迹做很多步,论文称其经验上常导致“破坏性的大更新”。这让算法陷入两难:少更新浪费昂贵的环境交互,多更新又可能不稳。论文第 2.1 节,第 2 页

之前的办法为何不够顺手

TRPO 用 KL 散度约束更新幅度,目标明确,但求解要用线性、二次近似和共轭梯度;论文还指出,它不便直接配合 dropout 等含噪结构或策略与价值函数共享参数的结构。固定 KL 惩罚更简单,却很难找到跨任务、甚至贯穿同一训练过程都合适的惩罚系数。因此论文寻找的是:只用一阶优化、能重复利用批数据、又不轻易跨出安全范围 的办法。论文第 1、2.2 节,第 1–2 页

方法

裁剪到底裁了什么

先看概率比率 r_t(θ) = π_θ(a_t|s_t) / π_θold(a_t|s_t):它表示新策略相对旧策略,更愿意还是更不愿意在同一状态采取该动作;更新起点为 1。优势估计 Â_t 则回答“这个动作比当时的平均预期好还是差”。PPO 的裁剪目标为:

L^CLIP(θ) = Ê_t[min(r_t(θ)Â_t, clip(r_t(θ), 1−ε, 1+ε)Â_t)]

论文示例取 ε = 0.2。当一个变化会改善代理目标时,超出区间后不再给额外激励;当变化会让目标更差时,损失仍保留。两项取较小值,使目标成为未裁剪代理目标的悲观下界。它不是把参数硬锁在区间里,也不保证每次真实回报都单调上升。论文式 (6)–(7) 与图 1,第 3 页

正负优势为何不对称

Â_t > 0,数据说明该动作比预期好,优化会想提高它的概率;裁剪在上侧阻止这种“奖励”无限增长。若 Â_t < 0,数据说明动作较差,优化会想降低其概率;裁剪对应作用在下侧。min 的关键是只截掉让代理目标显得更漂亮的过度变化,不替策略掩盖更坏的变化。论文第 3 节与图 1,第 3 页

一轮训练如何运转

每轮由 N 个并行 actor 各运行 T 步,形成 NT 个时间步;随后计算优势,把数据打散成大小不超过 NT 的小批量,并对代理目标优化 K 轮,最后把当前参数记为新的旧策略,再去采样。若策略和价值函数共享网络,完整目标还会组合裁剪代理项、价值函数平方误差与熵奖励。论文算法 1 与式 (9),第 4–5 页

证据与局限

最干净的证据是目标函数消融

论文在 7 个 MuJoCo 模拟机器人任务上,每个设置训练 100 万步、每个环境跑 3 个随机种子,共 21 次运行;评分由最后 100 个 episode 的平均总回报归一化后再跨运行平均。结果如下。论文第 6.1 节与表 1,第 6 页

目标设置平均归一化分数
不裁剪、不惩罚-0.39
裁剪,ε = 0.10.76
裁剪,ε = 0.20.82
裁剪,ε = 0.30.70
自适应 KL,目标 0.010.74
固定 KL,β = 0.30.62

表中的强信号不是“0.2 永远最好”,而是:在这组搜索条件下,无护栏版本会严重失败,裁剪版本的最佳设置高于固定或自适应 KL 版本。完整表还报告了其他 KL 设置。论文表 1,第 6 页

跨任务结果支持“折中好”,不支持“全面最好”

连续控制实验中,作者称 PPO 在几乎所有所测 MuJoCo 环境上超过 TRPO、A2C、带信赖域的 A2C、CEM 和自适应步长的普通策略梯度;这些曲线同样使用 100 万训练步。论文第 6.2 节与图 3,第 7 页 Atari 的 49 个游戏各比较 3 次试验:按整个训练期的平均 episode 回报,PPO 赢 30 局、ACER 赢 18 局、A2C 赢 1 局;按最后 100 个 episode,PPO 赢 19 局、ACER 赢 28 局、A2C 赢 1 局,另有 1 局平手。这说明 PPO 的早期样本效率更强,但最终表现并非压倒 ACER。论文第 6.4 节与表 2,第 8 页

读结果时要保留的问号

  • 比较只覆盖论文选择的模拟控制与 Atari 基准,不能直接推出对真实机器人、离线强化学习、大语言模型对齐或长期非平稳环境同样有效。
  • 随机种子数量是 3;论文给出曲线和均值,但主文没有系统报告置信区间或显著性检验。
  • 不同算法经过调参,但调参预算是否完全等价并未被严格证明;“实现更简单”主要由算法结构和作者经验支持,不是受控的人力成本研究。
  • 裁剪限制的是代理目标的激励,不是硬 KL 约束;实际策略仍可能移动过远,所以实现中仍应监控 KL、回报、熵和裁剪比例。
  • MuJoCo 示例超参数为 T=2048、10 个 epoch、小批量 64、学习率 3×10⁻⁴γ=0.99λ=0.95;Atari 使用了另一组设置,说明配置需要随任务变化。论文附录表 3–5,第 10 页

实际意义

什么时候值得用

如果环境交互昂贵、策略是可微的、又希望用常规 Adam 和小批量训练,PPO 提供了一个很实用的起点。它把“谨慎更新”的思想装进目标函数,工程上容易并行采样、复用批数据,也能自然结合 actor-critic、价值损失和熵奖励。这里的“实用”是基于论文结构和实验的解释,不等于作者证明了最低工程成本。

实现时盯住什么

先记录旧策略在采样动作上的 log probability,再用新旧 log probability 之差稳定地算概率比;优势通常要标准化,但应把这一实现选择和论文公式区分开。训练时同时看平均回报、KL、熵、价值损失、裁剪比例和梯度异常:若大量样本被裁剪或 KL 突增,往往意味着学习率、epoch 数或裁剪宽度过激。不要把 ε=0.2 当成定律;论文自己的 Atari 设置就让裁剪参数从 0.1 随训练线性退火到 0。论文附录表 3、5,第 10 页

最值得复核的三个问题

  1. 在你的环境和奖励尺度下,裁剪版本是否真的优于无裁剪、KL 惩罚与至少一个强基线?
  2. 换随机种子、网络宽度和采样预算后,收益是否仍在,方差是否可接受?
  3. 样本效率提升是否以更多优化 epoch、墙钟时间或隐藏调参成本为代价?

关于这篇论文的三个关键问题

近端策略优化算法 解决了什么问题?

强化学习的数据由当前策略自己产生。旧策略采到一批轨迹后,如果新策略在这批数据上被推得过猛,数据与新策略就不再匹配。普通策略梯度通常每份样本只做一次更新;直接复用同一批轨迹做很多步,论文称其经验上常导致“破坏性的大更新”。这让算法陷入两难:少更新浪费昂贵的环境交互,多更新又可能不稳。论文第 2.1 节,第 2 页

近端策略优化算法 的核心结论有哪些证据?

论文在 7 个 MuJoCo 模拟机器人任务上,每个设置训练 100 万步、每个环境跑 3 个随机种子,共 21 次运行;评分由最后 100 个 episode 的平均总回报归一化后再跨运行平均。结果如下。论文第 6.1 节与表 1,第 6 页

阅读 近端策略优化算法 时最需要注意什么局限?

论文在 7 个 MuJoCo 模拟机器人任务上,每个设置训练 100 万步、每个环境跑 3 个随机种子,共 21 次运行;评分由最后 100 个 episode 的平均总回报归一化后再跨运行平均。结果如下。论文第 6.1 节与表 1,第 6 页

今天还可免费读 2 篇新报告订阅 Pro 后无限阅读,并获得每月 10 篇新论文生成额度。升级 Pro