PPO 算法原理是什么?
未标记
考查重点:优势估计与裁剪更新。旧策略采轨迹,估优势,用新旧动作概率比的裁剪目标更新策略;限制单次漂移并监测回报和 KL
本题目录
参考答案
核心回答
PPO 是一种策略梯度优化方法,目标是提高获得较好回报的动作概率,同时减少策略一次变化过大带来的不稳定。以常用的 PPO-Clip 为例,训练反复进行四步:
- 用当前策略采样一批交互轨迹,保存动作、奖励和采样时的动作概率。
- 估计每个动作的优势,判断它相对当前状态下的预期表现好多少;常见 Actor-Critic 实现利用价值函数和
GAE估计。 - 计算新策略与采样旧策略的动作概率比,用裁剪代理目标更新策略,削弱沿有利方向过度更新的收益。
- 拟合价值函数,完成有限轮小批量更新后,再用新策略采样。
裁剪作用在优化目标里,不是把模型参数或所有动作概率强行锁在一个区间。它也不保证训练每一步都改善,实践中还要观察 KL、优势和价值拟合等情况。
概率比与优势分别表达什么
记 old 为产生这批样本的旧策略,new 为正在更新的策略。对同一个状态与已经采样的动作:
ratio = new(a | s) / old(a | s)
ratio 大于 1,表示新策略更倾向于这个动作;小于 1 则更不倾向。分母在这一批更新中固定,不能每个小批量都改成刚更新完的策略,否则比较基准会不断移动。
优势 A 反映动作的相对好坏。正优势表示这个动作比当前状态的基线更好,负优势表示更差;它不是奖励的另一个名字。价值函数预测从当前状态出发的预期累计回报,常用 GAE 将多步时序差分信息结合起来,在偏差与方差之间取舍。
例如状态价值估计为 4,某条路径的回报估计为 6,简单差值为正,策略应增加相关动作的倾向;实际训练会按所采用的优势估计方法计算,不能把所有任务都简化为这一笔相减。
PPO-Clip 为什么同时有 clip 和 min
对单个样本,策略希望最大化的贡献可以写成:
min(ratio × A, clip(ratio, 1-epsilon, 1+epsilon) × A)
整体对样本取平均;若实现用梯度下降最小化策略损失,通常取这个目标的负值。epsilon 决定裁剪范围,是待选择的超参数。
取 epsilon 为 0.2,观察四个算术例子:
- A = 1,ratio = 1.4:取
min(1.4, 1.2) = 1.2。增加好动作的概率超过上沿后,这个样本不再额外奖励继续增加。 - A = -1,ratio = 0.6:取
min(-0.6, -0.8) = -0.8。降低差动作的概率超过下沿后,也不再额外奖励继续降低。 - A = 1,ratio = 0.6:取
min(0.6, 0.8) = 0.6。错误地降低好动作的概率,仍保留较差的目标值。 - A = -1,ratio = 1.4:取
min(-1.4, -1.2) = -1.4。错误地增加差动作的概率,也不会被裁剪掩盖。
所以不是“不论正负,一超界就完全不更新”。平坦区也只是该样本代理项的性质,共享参数、其他样本和其他损失仍可能继续改变相应概率。
一轮训练怎样组织
先用固定的采样策略收集状态、动作、奖励、旧 log probability 和价值估计,再构造优势与回报目标。更新阶段把这一批数据分成小批量,进行有限轮策略和价值学习;计算概率比时,常用新旧 log probability 的差再取指数。
Actor 与 Critic 可以使用不同网络,也可以共享部分参数并有不同输出头;共享时要明确策略损失和价值损失怎样共同作用。某些实现还加入熵奖励以鼓励探索,具体权重和归一化方式属于训练配置。
PPO 通常归为 on-policy:允许对最近收集的一批数据作有限轮更新,不意味着可以无限复用任意旧策略的历史轨迹。更新过多会增大策略偏移,旧样本也会变得不适合当前策略。
大模型 RLHF 中怎样对应
对语言模型,状态可以看成问题与已生成的前缀,动作是下一个 Token。策略模型生成回答;奖励模型或可验证规则提供任务信号;价值模型估计后续回报,支持优势估计。
一些 RLHF 方案还保留参考策略,常以初始 SFT 模型为起点,通过 KL 惩罚减少偏离。这里有两个不同参照:
- 采样旧策略 old用于
PPO概率比和本轮更新控制。 - 参考策略 reference用于所选对齐方案的偏移惩罚,可以跨多轮保持不变,具体更新方式由训练设计决定。
奖励模型给出的偏好分数与 Critic 预测的累计回报也不同,不能把两个角色合并理解。标准 PPO-Clip 本身并不要求一个冻结的 SFT 参考模型;那是大模型对齐方案额外采用的设计。
常见追问
有 clip 就能保证新旧策略足够接近吗? 不能保证硬性的 KL 上界。可以同时监测近似 KL、裁剪比例、策略熵和价值误差,并按方案限制学习率、更新轮数或触发提前停止。PPO-Penalty 则是使用 KL 惩罚的另一类变体,不能把它与 PPO-Clip 的定义混成一个固定公式。
奖励持续上升就说明模型变好吗? 还要检查任务成功率、泛化、输出质量和约束。奖励设计有漏洞时,策略可能学会钻漏洞;PPO 解决更新方法,不能替代奖励与评估设计。
PPO 与 GRPO 最主要差别是什么? 常见 PPO Actor-Critic 实现用价值估计构造优势,GRPO 用同一问题多条输出的相对奖励构造优势,减少独立价值模型的需求。具体见GRPO 算法如何工作。
参考资料
- 国内:Onefly / zero2Agent:GRPO 与 PPO 对比:借鉴优势估计与 PPO 更新的说明,串起正文中采样、Critic、概率比与策略更新,并解释为何需要相对基线的优势。
- 国内:WeThinkIn:强化学习高频知识点:参考 Actor-Critic 与 RLHF 的角色划分,区分正文中策略、价值估计、奖励模型的职责并对应到语言模型训练。
- 国内:DeepSeek-AI 等:DeepSeekMath:依据 §4.1.1 的 Token 级 PPO 目标、GAE 与参考 KL,解释正文中价值模型、采样旧策略和参考模型的不同职责。
- 国外:Schulman 等:Proximal Policy Optimization Algorithms:§3 的裁剪目标和正负优势分析是公式依据,§5 说明采样后进行小批量多轮更新的训练过程。
- 国外:OpenAI Spinning Up:Proximal Policy Optimization:目标解释、训练伪代码与 KL 提前停止说明裁剪能起什么作用,以及为什么仍需监测策略偏移。



