老鸽 (@olddove) 在 【模型训练】KL散度概论的个人总结 用词不太准确的地方轻喷 中发帖
引言
在查看一些秋招面试知识点时,发现KL散度这方面的知识点的层次比我之前想的要深入许多,我之前一直只是把KL散度当作简单的两个概率分布之间的差异的指标(虽然事实的确如此),作为RLHF算法中用于约束模型训练不过于偏离SFT模型的乘法。但是看完这些知识点之后才发现KL散度所处的位置,参考模型和实际训练模型的不同位置,KL散度的三种估计层次,都有可以挖掘的知识点,故在此写一篇文章分享这些知识点的同时巩固下自己的语言能力(。
KL散度是什么
正如引言所说的,KL散度本质上就是用于评估两个概率分布之间的差异的指标,更准确的说,其内涵为:如果真实数据服从 P,但我们用 Q 去近似 P,会额外付出多少信息编码成本。
其公式如下
D_{KL}(P \parallel Q) = \sum_{x} P(x) \log \frac{P(x)}{Q(x)}
其有两个关键性质,分别是非负性以及非对称性,...