KL Divergence/zh
| Article | |
|---|---|
| Topic area | Information Theory |
| Prerequisites | Cross-Entropy Loss, Softmax Function |
概述
Kullback-Leibler散度(常缩写为KL散度,记作$ D_{\mathrm{KL}}(P \parallel Q) $)是衡量一个概率分布$ P $与第二个参考分布$ Q $在同一结果空间上差异程度的度量。它起源于信息论,用于量化在使用为$ Q $优化的编码来编码来自$ P $的样本时所需的额外比特数的期望值。在现代机器学习中,它是使用最广泛的概念之一:隐式地出现在每个分类器的Cross-Entropy Loss中,显式地出现在变分自编码器和变分推断中,并在策略优化方法(如PPO)中作为正则化项,以及在基于人类反馈的强化学习过程中作为KL惩罚项使用。
KL散度是非负的,当且仅当两个分布几乎处处相等时取零,并且关于其参数是不对称的。这种不对称性并非需要修补的缺陷,而是其大部分表达能力的来源——因为选择哪个分布放在第一个位置编码了一项关于哪个方向上的误差应被惩罚的建模决策。由于KL不是度量(不满足对称性和三角不等式),因此被称为散度;它是被称为f-散度的更广泛家族的典型代表。
定义
对于支撑集相同的两个离散分布 $ P $ 和 $ Q $,
$ {\displaystyle D_{\mathrm{KL}}(P \parallel Q) = \sum_{x \in \mathcal{X}} P(x) \log \frac{P(x)}{Q(x)}.} $
对于具有密度 $ p $ 和 $ q $ 的连续分布,
$ {\displaystyle D_{\mathrm{KL}}(P \parallel Q) = \int p(x) \log \frac{p(x)}{q(x)} \, dx.} $
对数的底决定了单位:底数2给出比特,自然对数给出nats。按照约定 $ 0 \log 0 = 0 $,但若存在任何 $ x $ 使得 $ P(x) > 0 $ 且 $ Q(x) = 0 $,则散度为无穷大。这一绝对连续性要求在实践中具有重要后果,是下文讨论的平滑技巧的动机所在。
KL散度也可等价地写成交叉熵与熵之差:
$ {\displaystyle D_{\mathrm{KL}}(P \parallel Q) = H(P, Q) - H(P),} $
这是看清以下事实的最清晰方式:当$ P $为数据分布时,相对于模型$ Q $最小化交叉熵恰好等价于最小化 $ D_{\mathrm{KL}}(P \parallel Q) $——因为熵项 $ H(P) $ 不依赖于模型,在求梯度时会消失。
性质
最常被引用的性质是非负性,有时称为Gibbs不等式:
$ {\displaystyle D_{\mathrm{KL}}(P \parallel Q) \geq 0,} $
当且仅当 $ P = Q $ 几乎处处成立时取等号。这可由Jensen不等式应用于凸函数 $ -\log $ 推得。KL散度还在配对 $ (P, Q) $ 上是联合凸的,这使得在许多情形下,对任一参数的最小化问题都是良定的。
然而,它既不对称,也不满足三角不等式。一般而言,
$ {\displaystyle D_{\mathrm{KL}}(P \parallel Q) \neq D_{\mathrm{KL}}(Q \parallel P),} $
并且这两种顺序之间的差距可以任意大。KL散度的链式法则表明,对于联合分布,
$ {\displaystyle D_{\mathrm{KL}}(P(X, Y) \parallel Q(X, Y)) = D_{\mathrm{KL}}(P(X) \parallel Q(X)) + \mathbb{E}_{P(X)}\big[D_{\mathrm{KL}}(P(Y \mid X) \parallel Q(Y \mid X))\big],} $
这一分解是大多数变分界限背后的主力工具。
信息论直观解释
最清晰的解释来自编码理论。假设Alice从分布$ P $抽取符号,而Bob设计一个编码,但Bob只知道另一个分布$ Q $。Bob会给每个符号分配大约 $ -\log Q(x) $ 比特的码长。因此Alice消息的期望长度为 $ H(P, Q) $,而最优长度(由匹配$ P $的编码可达)为 $ H(P) $。两者之差 $ D_{\mathrm{KL}}(P \parallel Q) $ 即为每个符号所浪费的期望比特数,并且这种浪费必然是非负的。
第二种解释来自假设检验。若样本来自$ P $,问Neyman-Pearson检验区分$ P $与$ Q $的速度有多快,则第二类错误率的渐近指数(Stein引理)恰好为 $ D_{\mathrm{KL}}(P \parallel Q) $。因此,从样本效率的意义上看,KL散度是分布之间天然的可区分性度量。
正向KL与反向KL
在将近似分布 $ Q_\theta $ 拟合到目标 $ P $ 时,把哪个参数放在第一位会在性质上改变所得拟合结果。最小化正向(或矩投影)形式
$ {\displaystyle D_{\mathrm{KL}}(P \parallel Q_\theta)} $
会重罚 $ P $ 有质量而 $ Q_\theta $ 没有的任何区域,因为被积函数包含以 $ P $ 加权的 $ \log(P/Q_\theta) $。其结果是覆盖型或求均值型行为:$ Q_\theta $ 会扩展以覆盖 $ P $ 的所有模态,即便要把质量放在低概率区域。对参数族进行极大似然估计恰好等价于最小化关于经验分布的正向KL。
最小化反向(或信息投影)形式
$ {\displaystyle D_{\mathrm{KL}}(Q_\theta \parallel P)} $
则会惩罚 $ Q_\theta $ 把质量放在 $ P $ 没有质量之处。其结果是寻模型行为:$ Q_\theta $ 倾向于锁定在 $ P $ 的某一个模态而忽略其余。这是在变分推断(ELBO是反向KL界)以及策略优化中KL惩罚项里所使用的形式——在那里,保持接近参考策略比覆盖参考策略可能产生的所有行为更重要。
实际启示是:两种顺序回答的是不同的问题;笼统地说一个方法"最小化KL"而不指明具体形式,其歧义性会影响最终结果。
在机器学习中的应用
KL散度是大部分监督学习背后的隐式目标。使用Cross-Entropy Loss在Softmax Function输出上训练分类器,差一个常数即等价于最小化经验标签分布与模型预测分布之间的正向KL。同一观察扩展到语言建模——下一个token的交叉熵就是相对于下一个token经验分布的正向KL;也扩展到知识蒸馏——学生模型被训练以最小化相对于教师softened预测分布的KL。
在变分推断与变分自编码器中,证据下界包含一个反向KL项 $ D_{\mathrm{KL}}(q_\phi(z \mid x) \parallel p(z)) $,将近似后验拉向先验。在策略优化中,信赖域方法(TRPO)和截断式代理目标(PPO)都使用新旧策略之间的KL约束或惩罚来防止破坏性的更新步。在基于人类反馈的强化学习中,相对于经监督微调的参考策略的KL项可阻止优化器漂向对奖励模型的剥削。
KL还出现在模型选择中(Akaike信息准则是基于KL对样本外拟合的估计),以及互信息中——互信息本身就是一个KL散度:$ I(X; Y) = D_{\mathrm{KL}}(P(X, Y) \parallel P(X) P(Y)) $。
相关散度
若干变体处理了特定的不足。Jensen-Shannon散度
$ {\displaystyle D_{\mathrm{JS}}(P, Q) = \tfrac{1}{2} D_{\mathrm{KL}}(P \parallel M) + \tfrac{1}{2} D_{\mathrm{KL}}(Q \parallel M),\quad M = \tfrac{1}{2}(P + Q)} $
是对称的、始终有限的,并且上界为 $ \log 2 $;其平方根是真正的度量。Renyi散度 $ D_\alpha(P \parallel Q) $ 以可调阶数 $ \alpha $ 推广了KL,并在 $ \alpha \to 1 $ 时还原为KL。KL与JS都属于f-散度家族,这也是f-GAN目标的自然框架。基于最优传输的距离(如Wasserstein距离)是完全不同的另一类,即使支撑集不重合也保持有限且信息量充足,而这恰恰是KL变为无穷大的情形。
估计与计算考量
实践中反复出现三个问题。首先,绝对连续性要求:任何采样点 $ x $ 若满足 $ Q(x) = 0 $ 都会使估计趋向无穷。从业者通过平滑 $ Q $(标签平滑、Laplace平滑、加性噪声)来规避,或在支撑集可能不重合时改用JS或Wasserstein。其次,从样本得到的KL插入式估计在高维下有偏且方差很大;最近邻估计与变分下界(如用于互信息的Donsker-Varadhan估计和MINE估计)是常用替代。第三,当 $ P $ 和 $ Q $ 都是高斯分布时,KL有解析闭式,被广泛用于VAE的编码器与Laplace近似中:
$ {\displaystyle D_{\mathrm{KL}}(\mathcal{N}(\mu_1, \Sigma_1) \parallel \mathcal{N}(\mu_2, \Sigma_2)) = \tfrac{1}{2}\Big[\operatorname{tr}(\Sigma_2^{-1} \Sigma_1) + (\mu_2 - \mu_1)^\top \Sigma_2^{-1} (\mu_2 - \mu_1) - k + \log \tfrac{\det \Sigma_2}{\det \Sigma_1}\Big],} $
其中 $ k $ 为维数。这一闭式表达式是变分机制中如此普遍采用高斯假设的原因之一。
局限性
KL散度不是距离,因此不应被当作距离来对待。其不对称性令期望 $ D_{\mathrm{KL}}(P \parallel Q) $ 表现得像范数的从业者大感意外;而三角不等式的不成立则使任何通过加性组合KL项来界定误差的尝试都失效。当支撑集不同时出现的无穷散度病态是对抗性场景中的严重问题——在那里,生成器与数据可能生活在不重合的低维流形上。基于样本的估计受维数灾难之苦,朴素的蒙特卡洛估计在 $ P $ 与 $ Q $ 相距较远时可能有无界方差。这些都不会使KL成为错误的工具,但每一种失败模式都促成了一种特定的替代方案(基于Wasserstein、JS或混合准则的Loss Functions),在各自的适用范围内更可取。
参考文献
- ↑ Kullback, S. and Leibler, R. A. On Information and Sufficiency. Annals of Mathematical Statistics, 1951.
- ↑ Cover, T. M. and Thomas, J. A. Elements of Information Theory, 2nd edition. Wiley, 2006.
- ↑ MacKay, D. J. C. Information Theory, Inference, and Learning Algorithms. Cambridge University Press, 2003.
- ↑ Kingma, D. P. and Welling, M. Auto-Encoding Variational Bayes. Template:Cite arxiv
- ↑ Schulman, J. et al. Proximal Policy Optimization Algorithms. Template:Cite arxiv
- ↑ Ouyang, L. et al. Training Language Models to Follow Instructions with Human Feedback. Template:Cite arxiv