知经百科 / K

Kullback-Leibler散度

Kullback-Leibler散度(KL散度,相对熵)是信息论中度量两个概率分布之间差异的核心概念。对于定义在同一样本空间上的两个分布 PP 和 QQ,KL散度 DKL(P∥Q)D_{KL}(P \parallel Q) 衡量的是当用近似分布 QQ 来编码来自真实分布 PP 的数据时,所需额外信息的平均比特数。其数学定义为:DKL(P∥Q)=∑xP(x)log⁡P(x)Q(x) D_{KL}(P \parallel Q) = \sum_{x} P(x) \log \frac{P(x)}{Q(x)} 。KL散度由统计学家 Solomon Kullback 和 Richard Leibler 于1951年提出,它源于对统计假设检验中信息损失量化问题的研究。如今,KL散度在统计学、机器学习、信息论、贝叶斯推断、自然语言处理乃至量子信息等领域中均扮演着基础性的角色。

KL散度并非对称度量,即 DKL(P∥Q)≠DKL(Q∥P)D_{KL}(P \parallel Q) \neq D_{KL}(Q \parallel P),因此它不满足距离的定义(不是真正的"距离"度量)。然而,它满足非负性(DKL(P∥Q)≥0D_{KL}(P \parallel Q) \geq 0,等号成立当且仅当 P=QP=Q 几乎处处成立),且具有对目标分布变化的高度敏感性。正因如此,KL散度被广泛用于评估模型分布与真实分布之间的信息损失。

1. 数学定义

设 PP 和 QQ 是定义在同一概率空间 (X,F)(\mathcal{X}, \mathcal{F}) 上的两个概率分布。若 PP 关于 QQ 绝对连续,即 Q(x)=0⇒P(x)=0Q(x)=0 \Rightarrow P(x)=0,则离散情形下的KL散度为:

DKL(P∥Q)=∑x∈XP(x)log⁡(P(x)Q(x))D_{KL}(P \parallel Q) = \sum_{x \in \mathcal{X}} P(x) \log \left( \frac{P(x)}{Q(x)} \right)

对于连续分布,若 PP 和 QQ 的概率密度函数分别为 p(x)p(x) 和 q(x)q(x),则KL散度定义为:

DKL(P∥Q)=∫Xp(x)log⁡(p(x)q(x))dxD_{KL}(P \parallel Q) = \int_{\mathcal{X}} p(x) \log \left( \frac{p(x)}{q(x)} \right) dx

其中对数的底数决定信息量的单位:底数为2时单位为比特(bit),底数为 ee 时单位为纳特(nat)。在机器学习实践中,通常使用自然对数,因此KL散度的值以纳特为单位。

2. 基本性质

KL散度具有以下几项关键性质。第一,非负性(吉布斯不等式):对于任意分布 PP 和 QQ,有 DKL(P∥Q)≥0D_{KL}(P \parallel Q) \geq 0,且等号成立当且仅当 P=QP=Q 几乎处处成立。这一性质源于凸函数的Jensen不等式。第二,非对称性:DKL(P∥Q)≠DKL(Q∥P)D_{KL}(P \parallel Q) \neq D_{KL}(Q \parallel P)。例如,若 PP 为某正态分布而 QQ 为标准正态分布,则 DKL(P∥Q)D_{KL}(P \parallel Q) 与 DKL(Q∥P)D_{KL}(Q \parallel P) 通常不相等,前者对 PP 的尾部行为更敏感。第三,无上界:KL散度可以趋于无穷大,当存在某个 xx 使得 P(x)>0P(x)>0 但 Q(x)=0Q(x)=0 时即发生。第四,对坐标变换的不变性:对随机变量进行可逆变换后,KL散度的值保持不变。第五,链式法则:对于联合分布,KL散度满足链式法则 DKL(P(X,Y)∥Q(X,Y))=DKL(P(X)∥Q(X))+DKL(P(Y∣X)∥Q(Y∣X))D_{KL}(P(X,Y) \parallel Q(X,Y)) = D_{KL}(P(X) \parallel Q(X)) + D_{KL}(P(Y|X) \parallel Q(Y|X)),这使得它在处理条件概率问题时十分便利。

KL散度与交叉熵 和熵 之间有着紧密的内在联系。根据定义,KL散度可表示为:DKL(P∥Q)=H(P,Q)−H(P) D_{KL}(P \parallel Q) = H(P,Q) - H(P) ,其中 H(P,Q)H(P,Q) 是 PP 和 QQ 的交叉熵,H(P)H(P) 是 PP 的熵。这意味着KL散度是在交叉熵中扣除了真实分布的熵之后所剩余的额外编码代价。

3. 在统计学中的应用

在统计推断中,KL散度是最大似然估计的理论基础之一。最小化KL散度等价于最大化似然函数,因此模型训练的过程本质上是在寻找与真实数据分布最为接近的模型分布。具体而言,当使用参数化模型 QθQ_\theta 来近似真实分布 PP 时,最小化 DKL(P∥Qθ)D_{KL}(P \parallel Q_\theta) 等价于最大化数据的对数似然期望。

在贝叶斯推断中,KL散度被用于度量后验分布与先验分布之间的信息增益。变分贝叶斯方法的核心策略正是通过最小化近似后验与真实后验之间的KL散度来求解复杂的积分问题。此外,KL散度在模型选择中也有重要应用。AIC(赤池信息准则)基于KL散度推导而来,其核心思想是在模型对数似然的基础上加入惩罚项来估计模型与真实分布之间的KL散度。同样,BIC(贝叶斯信息准则)也在不同形式中涉及了KL散度的估计,在变量选择和模型比较中发挥着重要作用。

4. 在机器学习中的应用

在深度学习中,KL散度被广泛应用于多个核心框架。在生成对抗网络(GAN)中,原始的目标函数本质上是在最小化生成分布与真实分布之间的KL散度(或其变体)。然而,标准的KL散度在训练中可能导致梯度不稳定问题,因此实践中常使用其对称变体——Jensen-Shannon散度。

在变分自编码器(VAE)中,ELBO(证据下界)的推导涉及编码分布与先验分布之间的KL散度项:L=Ez∼q(z∣x)[log⁡p(x∣z)]−DKL(q(z∣x)∥p(z)) \mathcal{L} = \mathbb{E}_{z \sim q(z|x)}[\log p(x|z)] - D_{KL}(q(z|x) \parallel p(z)) 。这一KL散度项充当了正则化的作用,迫使编码分布逼近标准正态先验分布。

在强化学习中,信任区域策略优化(TRPO)和近端策略优化(PPO)等算法使用KL散度来约束策略更新的步长,确保新策略与旧策略之间的差异可控,从而避免出现性能崩溃式下降。

5. 与其他度量的关系

KL散度与一系列其他度量之间存在清晰的关联。Jensen-Shannon散度(JS散度)是KL散度的对称化版本:DJS(P∥Q)=12DKL(P∥M)+12DKL(Q∥M) D_{JS}(P \parallel Q) = \frac{1}{2}D_{KL}(P \parallel M) + \frac{1}{2}D_{KL}(Q \parallel M) ,其中 M=(P+Q)/2M = (P+Q)/2。JS散度有界且对称,是更稳健的分布差异度量。Wasserstein距离(推土机距离)则从最优传输的视角定义分布之间的距离,在处理无重叠支撑集的分布时优于KL散度。此外,费舍尔信息矩阵 可以视为KL散度的局部二阶逼近:在参数空间中,当两个分布无穷接近时,KL散度的泰勒展开的二阶项由费舍尔信息矩阵决定。

综上所述,KL散度是信息几何学的核心概念,它将统计流形上两个分布之间的差异与黎曼度量联系起来,为理解统计推断和优化算法提供了深刻的几何视角。在信息几何学中,KL散度对应的黎曼度量即为费舍尔信息度量,而自然梯度下降算法正是利用这一几何结构在参数空间中沿最陡方向进行优化,从而获得比标准梯度下降更高效的收敛性能。

返回百科索引