作者:小天狼
星
不来
客,欢迎持续关注作者博客
来源:
https://zhuanlan.zhihu.com/p/22128744640
,仅用
于学术分享
在强化学习(RL)中,如果我们只知道“做对了能拿多少分”,那往往还不够,因为
单纯追求高分
可能带来种种副作用,比如过度搜索、模型不稳定、甚至“走捷径”而偏离合理范围。
为了解决这些问题,人们在 RL 中设计了许多机制——
Critic
(价值函数)、
Clip
操作、
Reference Model
、以及最近流行的
GRPO
(Group Relative Policy Optimization)等。
为了把这些概念讲得更生动,我们不妨打个比方:
把 RL 模型的训练过程想象成小学里的考试场景
。
我们(被训练的模型)就像努力考高分的学生,发奖品的人则像 Critic 或者其他调控机制。
接下来就让我们循序渐进地看看,为什么
只靠最终成绩
是不够的,为什么需要一步步引入 Critic、Clip、Reference Model,最后又是如何引出 GRPO 的思路。
假设我和我弟弟都在小学同一个班上课。老师改卷后给出一个“绝对分数”,我的成绩一般 80 分以上,弟弟成绩大概 30 分左右。
然后我们把这个分数直接拿去找爸爸要零花钱——也就是用“分数本身”作为奖励(Reward)。谁考得分数高,零花钱就多。
一开始听上去没毛病,但
结果
就有两个问题:
-
不公平:
如果弟弟从 30 分进步到 60 分,付出了非常大的努力,却依然比不过我平时随便考个 80+。他得不到有效激励。
-
不稳定:
我为了冲刺高分,可能会采取极端学习策略(比如疯狂刷题、考前通宵),偶尔考到 95 分,偶尔只有 60 分,成绩大起大落,导致奖励信号也忽上忽下。
这样一来,
只拿绝对分数当作 Reward
,奖励信号波动很大,弟弟也会觉得不公平,久而久之,就没动力进步了。
在强化学习里,如果我们只用:
也就是“把最终 Reward 直接拿来做优化目标”,就容易出现高方差、激励不充分等问题。
换言之,Actor 得不到一个和自身水平相称的
参考线(baseline)
,进而影响学习效率。
引入 Critic:用“预期分数线”来改善奖励机制
针对上面的问题,爸爸很快意识到:
“不能光看绝对分,而要看看每个人在自己水平线之上进步多少才是关键。”
于是爸爸决定:
给我定一个“预期分数线”80 分;给弟弟定一个“预期分数线”40 分。考试时,只要超出自己那条线,就能得到更多零花钱;如果没有超出,那么零花钱就可能很少或者没有。
这样一来,弟弟如果努力从 30 分考到 60 分,超出自己预期分数线 20 分,就能得到可观的奖赏。
我如果还是 80 多分,增幅不明显,那就算分数比弟弟高,但并不一定多拿太多钱。
这样就
鼓励了每个人
以自己的水平为起点去进步,而不是一味比谁绝对分高。
当然,爸爸也很忙,不是说一旦定了分数线就一劳永逸——他得根据我们的学习状况来不断
“自我调节”
,因为如果弟弟水平已经到 60 分了,再给他设 40 分的线就不合理了。
反之,我要是一直考 85 分没什么波动,也可能需要微调我的分数线。 所以,
爸爸也需要不断学习
,只不过他需要学习的是我和弟弟的学习进度。
数学对应
有了这个“分数线”去做差,我们能降低训练过程中的方差;也让高于预期的动作拿到更大的梯度,低于预期的动作被抑制。
有了“分数线”以后,效果确实好了很多。