资讯

近端策略优化 PPO 是什么?强化学习和 RLHF 的主力算法

2026-11-053 分钟阅读百科
TL;DR近端策略优化(PPO)是 OpenAI 的 John Schulman 等人在 2017 年提出的强化学习算法,通过裁剪限制每次策略更新的幅度,在保证训练稳定的同时实现简单高效,被广泛用于游戏、机器人控制,也是 ChatGPT 等大模型基于人类反馈强化学习的核心算法。

近端策略优化(Proximal Policy Optimization,PPO)是强化学习领域的一种算法,用来训练智能体的决策策略,让它学会完成困难的任务。PPO 由 OpenAI 的 John Schulman 等人在 2017 年提出。它因为兼顾了稳定性、效率和实现的简便性,成为强化学习中最常用的算法之一,也是训练 ChatGPT 等大语言模型所用的“基于人类反馈的强化学习”(RLHF)的核心算法。

它要解决的问题

强化学习中有一类方法叫策略梯度方法:直接优化智能体的“策略”,也就是在每种情况下采取各个动作的概率,让能获得更多奖励的动作变得更有可能被选中。但这类方法有一个棘手的问题:如果某一次更新的步子迈得太大,策略可能会发生剧烈的变化,一下子变得很差,而且因为智能体是根据当前的策略去收集新数据的,变差的策略会收集到更差的数据,导致训练彻底崩溃、难以恢复。如果步子太小,训练又会非常缓慢。

PPO 之前的 TRPO(信赖域策略优化)算法,通过一个严格的数学约束,限制每次更新时新策略和旧策略之间的差距,解决了稳定性的问题。但 TRPO 的实现很复杂,计算量也大。

PPO 的思路:裁剪

PPO 用一种简单得多的方式达到了类似的效果。它的核心是一个“裁剪”的目标函数:计算新策略和旧策略在某个动作上的概率比值,如果这个比值偏离 1 太远,比如超出了 0.8 到 1.2 的范围,就把它“裁剪”掉,不再给予额外的奖励。直观地说:如果一个好的动作,在新策略中被选中的概率已经比旧策略提高了 20%,就不再继续鼓励它进一步提高;如果一个坏的动作,被选中的概率已经降低了 20%,就不再继续压低。这样,每次更新都被限制在一个“近端”的、安全的范围内,策略不会一下子变得面目全非,训练就变得稳定可靠。

PPO 还可以用同一批收集到的数据进行多轮的更新,提高了数据的利用效率。它通常采用“演员-评论家”的结构:演员网络负责决定动作,评论家网络负责估计当前状态的价值,帮助判断一个动作比平均水平好多少。

应用

PPO 被广泛用于各种强化学习任务:玩电子游戏,OpenAI 用 PPO 训练的 OpenAI Five 在《Dota 2》中击败了世界冠军队伍;机器人的运动和操作控制;以及大语言模型的对齐:在 RLHF 中,先根据人类的偏好训练一个奖励模型,再用 PPO 优化大模型,让它生成能获得更高奖励的回答,同时用 KL 散度约束它不要偏离原模型太远。近年来,在大模型推理能力的训练中,GRPO 等 PPO 的变体也被大量使用,它们省去了单独的评论家网络,进一步节省了计算和内存。