近端策略优化(proximal policy optimization, PPO)
/ PROK-sih-mul POL-uh-see op-tih-mih-ZAY-shun /
近端策略优化,即 PPO,是那个让强化学习可靠到足以被广泛使用的主力算法。它的核心洞见谦逊却有力:在改进策略时,别一次改得太多。朝着「看起来最好」的方向贪婪地一跃,可能会用力过猛,毁掉一个花了好久才学成的策略。PPO 转而迈出许多细小、谨慎的步子,拒绝离它已经所在之处太远——「近端」意即「待在近旁」。
具体说来,PPO 是一种系着安全绳的演员—评论家方法。在收集了一些经验之后,它想把策略朝那些「表现得比评论家预期更好」的动作挪去。但它会给这次挪动「裁剪」一下:如果某次更新试图把一个动作的概率改动超过某个设定的幅度,PPO 就把它封顶。这一裁剪正是全部诀窍所在——它让算法能从每一批数据中榨出好几个改进步骤,而策略不至于一头栽下悬崖。
PPO 的声名靠的是「样样都够好」而非「哪一样最强」:稳定、样本效率尚可、对不完美的调参也宽容,所以它往往「就是能用」。这正是它为何成了机器人控制、游戏对弈,以及——最著名地——从人类反馈训练聊天机器人时那一步强化学习的默认之选。诚实的告诫是:「就是能用」是相对的。PPO 仍需要大量的试错数据和精心的奖励设计,而且像所有深度强化学习一样,它也会以令人费解、难以排查的方式失败。
PPO 就是 RLHF 里的那个「RL」,也就是用来微调许多聊天机器人的那道配方。模型提出回复;一个用人类偏好训练出来的奖励模型给它们打分;PPO 把模型朝得分更高的回复挪去——但会裁剪每一次更新,好让模型稳步改进,而非崩塌成某种古怪的单一文风。
迈出细小、经裁剪的改进步子,让策略永不会一下子蹿出太远——这正是 RLHF 中那一步强化学习背后的配方。
PPO 之所以流行,是因为它稳健、比较容易跑通,而非因为它在理论上最优。那个让它保持稳定的裁剪,同时也限住了它学得有多快,而且它对数据依旧饥渴——所以它「安全默认值」的名声,不该被读成「毫不费力」或「永远最佳」。