KL 散度与交叉熵

本页目录

上一章的熵回答了“这个分布平均有多少信息”。这一章再问一步:⁠数据分布没变,但我们对它的预期错了,会多付多少代价?

三个概念可以沿着同一条线理解:熵是源分布自身的平均信息量,交叉熵是按另一个分布计算的信息长度的平均,KL 散度是两者的差。

用错分布,多花的是什么?

设真实分布为 ,模型分布为 。模型把结果 的理想信息长度设为 :越认为它常见,分配的长度越短。

数据仍按 出现,所以平均时要用 加权:

这就是交叉熵⁠。若模型与真实分布一致,得到 。

这里的 可以是小数,表示理想信息长度。实际逐符号的二进制前缀码长度必须取整数;在适当的独立同分布长块编码中,每符号平均长度可以逼近对应的交叉熵,不能直接把两者说成任意有限编码的精确码长。编码关系可参阅 Stanford 数据压缩课程。

正在呈现知识画面
数据没变,只换一份编码预期

固定 p(A)=0.75,只调整模型 q(A)。横条表示按 q 分配的理想信息长度,虚线标出按 p 分配的位置。底部把交叉熵拆成固定的真实熵与额外的 KL 代价。

相对熵 / KL 散度定义为:

,等号当且仅当两个分布相同。它刻画的是平均的额外代价⁠。某个结果用 计算可能更便宜,对应的单项可以为负;不能把“总 KL 非负”理解成“每一项都非负”。

若 而 ,模型给真实可能发生的结果分配了无限信息长度,交叉熵和这个方向的 KL 都为 。 的项按极限约定贡献为 。

为什么交换方向,结果会不同?

在 中,我们对来自 的结果取平均;在 中,平均的权重换成了 ,对数比值也取了倒数。

以下固定 、,只交换计算方向。零线上方是正项,下方是负项;带符号面积相加才是 KL。

正在呈现知识画面
交换方向,连平均的权重也变了

同一对固定分布,切换 KL 的方向。色块宽度表示求和权重,高度表示带符号的对数比;零线上下的带符号面积之和分别约为 0.74 与 0.53 bit。

两个结果分别约为 bit 和 bit。这不是舍入差异,而是两个不同的期望。因此 KL 不满足一般距离要求的对称性,也不满足一般的三角不等式。

支撑集条件也有方向: 在某处有质量而 为零,会使 发散;交换方向后,检查的则是 有质量而 为零的区域。连续分布要把求和换成积分,并按具有非零概率质量的区域理解这个条件,而非仅看一个孤立点。

交叉熵为什么成为分类损失?

当目标分布 固定、只调整模型 时:

不随模型参数变化,所以最小化交叉熵与最小化这个方向的 KL 等价。

在单个有标签样本 上,通常用 one-hot 的经验目标表示观测到的标签。它不意味着真实的条件分布 必然确定。对这个经验目标计算交叉熵,得到:

对给定样本,采用条件似然乘积时:

因此,最小化经验交叉熵就是最大化相应的条件似然。总体交叉熵则是在真实数据分布下取期望,训练集平均是对它的经验估计。

实践中常用自然对数,损失单位是 nat;本文用以 为底的对数,单位是 bit。两者只差一个正的常数因子,最优解相同。自回归语言模型的 token 级负对数似然也采用这条链式分解,见 LLM 中的信息论。

Forward / reverse KL:同一个模型族,两种拟合目标

令 固定,优化近似 。称 为 forward KL, 为 reverse KL。⁠如果 能表示 ,两个方向都可以在 处达到零。 行为差异在模型表达能力受限时尤其明显。

先用静态示意图并列看两种典型形状:当目标的两峰充分分离、近似限制为单个高斯时,forward 可以铺开覆盖两侧,reverse 可以集中在一侧。曲线用于说明形状,不表示精确的数值拟合。

KL(p ‖ q) KL(q ‖ p) x x p q

灰色虚线是目标 ,彩色实线是近似 ;两幅图共用坐标尺度。这里展示的是充分分离时的典型形状,不是所有受限模型都必然出现的结果。

下面用一个具体、可计算的限制:目标是两个单位方差高斯的等权混合,近似只能是一个高斯。

唯一改变的是两个分量的中心间距 ;混合分布在它们靠近时可以只有一个峰。两列分别针对自己的目标重新拟合 ,并使用相同的坐标尺度。

正在呈现知识画面
拉开两峰,看受限模型如何取舍

目标 p 是两个单位方差高斯的等权混合,q 只能是单个高斯。改变两峰间距,两列分别按 forward 与 reverse KL 重新拟合;它们使用同一坐标尺度。

Forward KL 的高斯最优解匹配 的均值与方差:、。两峰分离时,拟合会随之变宽。Reverse KL 在 下取期望;当两峰足够分离时,它可能通过靠近一侧来减少落在中间低密度区的质量。

这是一种有条件的拟合倾向⁠,不是“forward 一定覆盖、reverse 一定寻峰”的普遍定理。峰距、权重、允许的模型族与优化结果都会影响行为。图中的 reverse 解来自多起点数值优化;对称的左侧解同样好,展示其中一侧不表示另一侧更差。Bishop 的 PRML 第 10.1 节 讨论了这类差异。

变分推断常最小化近似后验到真实后验的 KL。RLHF 中常见的 则是限制策略偏离参考模型的正则项,还与奖励等目标共同作用,不能直接等同于这里的双峰拟合。

Jensen–Shannon 散度:先找一个共同参照

令 ,定义:

由于 在 或 有质量的地方都不会为零,JS 避免了两者支撑集不重叠时直接互算 KL 的无穷大。以 为底时, bit。它对称,但应注意:⁠构成度量的是 ,不是直接把 JS 当作一般距离。

例如 、 时,两个方向的 KL 都为无穷大;,两侧到 的 KL 各为 bit,因此 JS 为 bit。

原始 GAN 的联系也有条件:在判别器对固定生成器达到最优时,将它代回原始 minimax 目标,生成器的目标值成为 。这是使用自然对数的 JS;并非“判别器在最小化 JS”。常用的非饱和生成器损失也不等于这个表达式。见 Goodfellow 等人的原始论文,第 3、4.1 节。

对照与参考

量平均依据解释
源分布的平均自信息
按模型 计算的平均理想信息长度
相对 的平均额外代价
交换来源和参照后得到的另一个期望
两侧各一半到共同混合分布的平均 KL