LLM强化学习中KL正则到底能不能去掉?
声明:为突出重点,部分背景知识已略去,同时涵盖的内容也难免有疏漏之处,还望读者理解。
从代理目标函数说起
我们知道,强化学习的真实目标函数可等价地表示为:
\[\mathbb{E}_{s \sim ρ_π · a \sim π}[Q_{π_{old}}(s,a)]\]但直接对该目标函数求关于 $π$ 的梯度是困难的,因为 $ρ_π$ 依赖于策略本身,其展开会涉及复杂的递归过程。因此通常转换为优化其在 $π_{old}$ 处的一阶近似,即将 $ρ_π$ 替换为 $ρ_{π_{old}}$,得到所谓的代理目标函数(surrogate objective)。
\[\mathbb{E}_{s \sim ρ_{π_{old}} · a \sim π}[Q_{π_{old}}(s,a)]\]该代理目标函数只在 $π_{old}$ 附近的小邻域内具有一阶近似有效性,但这个邻域应该有多大并没有明确答案。围绕这一问题,研究者提出了多种策略优化变体。
从方法论上看,目前主要有三类方式来限制优化过程停留在该邻域内:
- 第一类:对目标函数局部进行裁剪:例如 PPO-CLIP 系列方法,通过裁剪 \(\mathbb{E}_{a \sim π}[Q*{π_{old}}(s,a)]\) 来限制策略更新幅度。图中记为:$f_1(\cdot)$
- 第二类:在目标函数中加入惩罚项:即在目标函数中增加关于 $π$ 的正则项,图中记为:$-f_2(π)$。本文讨论的 KL 正则就属于这一类。
- 第三类:引入硬约束: 例如 TRPO 直接在优化中加入约束,图中记为:$s.t. \; f_3(π) \le 0$。
- 这三种方式并不互斥。例如 GRPO 等方法往往同时结合 $f_1$ 与 $f_2$。
在第二类方法中,惩罚项 $f_2$ 通常就是 KL 散度。 因此回到本文的标题:LLM强化学习中KL正则到底能不能去掉? 最直接的答案是:
当 $f_1$(裁剪)与 $f_3$(硬约束)都不存在时,只能依赖 $f_2$(KL 惩罚)来限制优化过程,此时就不能去掉正则项。
当然,这只是一个表层答案。还有一个更深层次的回答将在后文重点探讨。
从正向 KL 到反向 KL
在 TRPO 的论文中,其实已经讨论过使用 正向 KL 散度 作为惩罚项。选择正向 KL 的一个重要理论优势是: 它可以使代理目标函数成为真实目标函数的下界。
也就是说,如果:
- 起点相同($π_{old}$)
- 代理目标函数持续上升
那么真实目标函数也必然上升。这比单纯的一阶近似更强。
但 TRPO 的论文也指出: 在实际训练中,这种 KL 惩罚会导致步长极小,训练效率很低。因此 TRPO 最终选择了 KL 硬约束(即 $f_3$)。
在 PPO 论文中,也曾尝试使用正向 KL 惩罚,并设计了自适应的惩罚系数。但实验结果表明效果仍然不理想,因此 PPO 更推荐 PPO-CLIP(即使用 $f_1$)。
其实也有很多论文采用了反向KL散度作为正则项。其中最具影响力的例子就是 InstructGPT,其 RLHF 训练中使用的就是反向 KL。
至于为什么后序实践中普遍转向反向 KL,目前并没有特别严谨统一的理论解释。
参考MOPO(Kimi-1.5 论文引用)中的实验指出:对效果影响最大的因素,可能并不是 KL 的方向,而是具体的优化策略设计。 例如:
- 放弃 mini-batch,使用同一数据多次更新
- 对 KL 系数使用退火策略
这些优化策略往往比 KL 方向更关键。
不过从理论推导角度看,反向 KL 有一个明显优势: 它可以把对 $π$ 的期望整体提出,与奖励或 $Q$ 函数合并(关于 KL 期望的处理技巧可参考前文《一张表串讲 LLM-RL 中 KL 散度正则的正确与错误用法》)。
这样就可以解析地写出代理目标函数的最优条件:
\[π^* = \frac{π_{old} · e^{\frac{r_{old}(s,a)}{β}}}{Z}\]其中$Z$ 为分子部分对 $a$ 的积分,是一个归一化常数。
如果做过 贝叶斯网络 或 图模型 的同学会比较熟悉。这其实就是典型的 配分函数(partition function)。
推导该最优条件可以有两种思路:
思路一:KKT 条件
其关键是将目标函数和约束写成积分形式以便于推导,并注意不要遗漏约束条件:$\int π(a)\, da = 1,然后套用KKT的推导流程即可。$
思路二:等式变换
通过构造新的 KL 散度形式,凑出分布$π$与另一个分布的比。这个凑出来的分布的分母就是配分函数Z。
代理的二次方:代理目标函数的代理目标函数
推导最优条件的意义在于:
求最优解就是广义策略迭代思路中策略改进部分的核心要求。
但这里还剩最后一个困难:
配分函数 $Z$ 很难计算。
在 Kimi-1.5 论文中,作者尝试用奖励期望来近似:$β \log Z$
可以证明: 当 $β \rightarrow \infty$ 时,$β\log Z$会趋近于奖励期望。
但当 $β$ 为有限值时,该估计是有偏的。
因此 Kimi-1.5 选择进一步放松问题: 不要求一步得到最优解,只需要逼近最优解即可,转换为一个优化问题。
具体做法是把最优条件写成:
\[r_{old}(s,a)= β\log\frac{π^*}{π_{old}} + β\log Z\]然后令:
\[r(s,a)= β\log\frac{π}{π_{old}} +β\log Z\]接下来让$r(s,a)$二阶近似逼近$r_{old}(s,a)$,从而构造 pointwise 的均方误差损失。 其中仍然使用奖励期望来近似 $β\log Z$。
DPO 则进一步放松:
它不再拟合具体奖励,而只要求$r(s,a_w) > r(s,a_l)$,即优选样本的奖励高于劣选样本。
这样一来:$β\log Z$在比较中会自动抵消。
同时,$r(s,a_w)$ 与 $r(s,a_l)$ 也无需显式计算,只需将包含 $π$ 的表达式代入即可。训练难度因此接近普通的 SFT。
为了使该比较损失具有最大似然意义,可以设计目标函数为:
\[\mathbb{E}[\log σ(r(s,a_w)-r(s,a_l))]\]可以看到,这两种方法本质上都是在代理目标函数的最优条件基础上,再构造新的代理目标函数:
- Kimi-1.5:pointwise loss
- DPO:pairwise loss
但需要注意的是:
这些方法依然隐式包含 KL 正则项。 其证据正是参数 $β$。
此回到本文的标题:LLM强化学习中KL正则到底能不能去掉? 更深一层的答案是:
只要你的目标函数是从上述最优条件推导而来(例如 DPO 或 Kimi-1.5),KL 正则其实已经被隐式写进目标函数结构中了。此时也就没法去掉正则项。
换句话说:
即使你“看起来”没有显式加入 KL 项,它仍然在理论结构中存在。
Enjoy Reading This Article?
Here are some more articles you might like to read next: