强化学习中的熵 (2):熵安全策略
引言
在上一篇文章中,我们介绍了策略熵以及为什么强化学习对于策略熵的影响。在本文中,我们介绍一下现代强化学习算法中用到的熵安全策略。
这里的熵安全包含两个方面:防止熵坍塌、防止熵爆炸,即双边熵安全。
后续的内容按照文章发表的先后顺序来介绍,并在持续更新中。
2025.03~2025.05
DAPO
DAPO中提出了Clip Higher的策略,将PG损失函数中Clip的上限提高 (0.2 --> 0.28):
这使得有更多低概率token被采纳,而不是被clip导致没有梯度。
Skywork-OR1
在昆仑万维的Skywork-OR1中,使用了一个动态权重的熵损失函数。
在第
其中,系数
这里有两个重要的超参数,
Seed-GRPO
这篇工作中将语义熵 (Semantic Entropy) 融入训练过程中,用于衡量模型对当前题目 (prompt) 的不确定性。
语义熵是指模型在输入同一个prompt 时所生成的多个答案之间语义上的多样性。比如说对于一个数学题,如果模型生成的多个答案在数字上可能不同,但逻辑一致、结论相同,那么语义熵是低的;反之,如果模型给出了互相矛盾的推理,那语义熵就高。
语义熵的计算方法是基于语义聚类的。首先将一个组的
Seed-GRPO的主要思想:让模型根据语义熵动态调节训练强度(相当于一种课程学习)
- 当语义熵很大时,说明这个任务对于模型来说太难了,因此应该减小更新幅度
- 当语义熵比较小时,说明模型能够很好处理这个任务,可以加大训练的力度
本人在这里有个疑问。算法的核心假设在于:模型学会做简单题之后,做难题的能力也会有提升。
这样会不会容易过拟合到简单题上,难题一直没有有效的梯度?
KL-Cov / Clip-Cov
在上一篇文章中我们提到,策略熵的改变量是取决于token的【概率】和【优势】的协方差,其中:
- 高概率 + 高优势 token --> 熵减
- 低概率 + 高优势 token --> 熵增
因此,想要防止熵坍塌,一个很自然的方法就是惩罚那些【协方差较高】的token。
对于某个token
论文中提出了两种惩罚策略。
KL-Cov. 选择协方差最大的
Clip-Cov. 随机选择一定比例的高协方差token,将其梯度截断。
2025.06~2025.07
熵优势
LLM的一些探索性推理行为往往伴随着一些高熵token的生成,如关键决策点、反思纠错、创新行为、aha moment等。
文章在优势函数中新增一个与策略熵有关的项,以此放大高熵区域的优化信号,鼓励模型生成更长、更深入的CoT。
首先计算第
然后定义一个entropy-based优势项:
其中,
最终的优势函数为:
这个优势函数的设计有两个好处:
- 不直接优化熵,避免模型生成无意义的随机文本。
被限制在原始优势值的一定比例内,确保熵优势项不会过度主导原始优势。如果某个动作本来是坏的 ( ),但熵非常大,这个截断机制仍然能保持这个动作的优势为负。
2025.08~2025.09
SIREN
文章首先分析了普通的熵正则化失效的原因,具体有两个方面:
-
从单步生成的角度:LLM的动作空间非常大,通常包含数十万个token。朴素熵正则化的目标是最大化策略熵,这意味着鼓励模型将所有token的概率摊平。
假设原始模型99%的概率集中在10个有意义的token上。此时,只需从这10个token中匀出微不足道的1%的概率,并将其均匀地分配给剩下的无意义的token,就能带来巨大的熵增益。优化器会迅速发现这条增加熵的捷径,从而牺牲任务本身的奖励,导致模型为了探索而探索,最终输出无意义的内容。
因此,有效的探索不应是在整个词表中漫无目的地游走,而应该被约束在一个有意义的、高质量的动作子集内,即那些最有可能引导出正确答案的token集合。
-
从整条轨迹的角度:由于LLM是自回归生成的,因此单个token的不确定性会在整个轨迹中累积放大。由于朴素熵正则化对所有位置一视同仁地施加熵奖励,导致模型在每一个位置都试图最大化不确定性。这种全局性的高熵,使得整个CoT从第一步开始就充满了噪声,最终完全崩溃。
因此,训练算法应该识别出轨迹中那些真正需要探索的关键决策点,并仅在这些位置施加正则化。
基于这两个分析,文章提出了以下的方法。
利用Top-p掩码约束动作空间
策略核的定义为:满足累积概率大于
我们仅在策略核上计算熵,得到每个token的熵
利用熵峰值掩码识别关键token
对于一条完整轨迹
构造如下掩码:
通过这个掩码,我们就能找到高熵token,能够精准地在这些关键token上施加熵正则化:
熵正则化损失定义如下:
其中,
QAE
当前的value-free RL方法(如GRPO、DAPO)容易出现熵坍塌或熵爆炸的核心原因在于,这些方法普遍采用组内均值作为baseline来估计优势函数。这种方法会惩罚那些有价值的、但是奖励为负的动作轨迹,导致训练不稳定。
文章首先通过实验得到了以下四个观察:
- DAPO中的clip higher机制能够在训练初期能够极大提升一些关键token的概率,但很快就收敛,因此不能保证稳定的推理能力增强。
- Clip higher方法会导致模型生成同质化的、低质量的探索轨迹。
- 熵爆炸的现象主要是由于负优势的样本。
- DAPO对于超参数 (
) 的设置非常敏感。
文章提出使用K分位数代替均值来作为baseline。
具体来说,给定一个query
我们可以定义如下的经验成功率和累积分布函数CDF:
接着,我们就能够定义K分位数baseline:
其中,
从K分位数的定义我们可以发现,K分位数实际上是根据难度阈值
- 对于难样本,即成功率小于
的样本,baseline为0。此时错误response的优势为0,罕见的正确response得到正优势1,增强了生成这些正确response的概率。 - 对于简单样本,即成功率大于
的样本,baseline为1。此时会降低生成错误response的概率。
熵安全理论分析
QAE可以从理论上证明其双边熵安全性,即可以同时防止熵爆炸和熵坍塌。下面的定理说明了这一点
Theorem 1 (Two-regime Entropy safty for K-quantile). 对于给定的
-
(防止难样本导致熵爆炸)如果
,对于任意的baseline ,我们有: (18) -
(防止简单样本导致熵坍塌)如果
,对于任意的baseline ,我们有: (19)
其中,
由上一篇文章我们可以知道,这个变化量可以由下面的等式定量描述:
定理1说明了,所有baseline中,使用