我整理好的1000+面试题,请看 
大模型面试题总结-CSDN博客
或者

https://gitee.com/lilitom/ai_interview_questions/blob/master/README.md

最好将URL复制到浏览器中打开,不然可能无法直接打开

-------------------------------------------------------------------------------------------------

好了,我们今天针对上面的问题,

PPO等RL算法中怎么算KL散度的,KL散度不对称?

关于这点,我看下了主力的几个PPO算法在文中是怎么定义的

PPO:

GRPO:

DAPO:

好像以居多,我也查了下相关论文对这个的描述,论文是https://arxiv.org/pdf/2512.16565,论文提到

上图给出了forward kl 和 reverse kl的表达形式

相关参数的介绍如下:


forward kl 和 reverse kl的推导过程如下:

也就是 PPO 里的 ratio

那就有:

forward KL定义是:

把 ratio 代进去:

于是:

这就是表里 “forward KL → − log x” 的来源 没有近似、没有 heuristic,就是定义。

reverse KL 定义是:

但注意: PPO / TRPO 的数据 不是从 采的,而是从 。

所以要做 importance sampling

令 ,得到:

于是:

为什么这两种形式“行为完全不同”, 我们分析一下哈.

KL 类型数学形式行为特性
forward KL小概率事件极其敏感
reverse KL大概率(mode)更敏感

forward KL的特性

  • 当 :

  • 强烈惩罚 新策略漏掉旧策略支持的动作

  • mode-covering

reverse KL的特性:

  • 当 很大: 爆炸

  • 当 :

  • 容忍遗漏小概率动作

  • mode-seeking

总结:

正向KL:倾向于使模型分布 Q 覆盖目标分布 P 的所有支持点,适合于需要模型分布更广泛覆盖的情况。

反向KL:倾向于使模型分布 Q 集中在目标分布 P 的高概率区域,适合于生成任务,能够提高生成样本的质量和稳定性。

因此,在大语言模型和生成任务中,反向KL通常更受青睐。

更多推荐