知识蒸馏 - 最小化KL散度与最小化交叉熵是完全等价的

发布于:2025-08-04 ⋅ 阅读:(13) ⋅ 点赞:(0)

知识蒸馏 - 最小化KL散度与最小化交叉熵是完全等价的

flyfish

KL散度与交叉熵的数学关系

对于两个概率分布 PPP(真实分布)和 QQQ(模型预测分布),KL散度的定义是:
DKL(P∥Q)=∑xP(x)log⁡(P(x)Q(x)) D_{KL}(P \| Q) = \sum_{x} P(x) \log\left( \frac{P(x)}{Q(x)} \right) DKL(PQ)=xP(x)log(Q(x)P(x))

通过简单拆分,可以写成:
DKL(P∥Q)=∑xP(x)log⁡P(x)−∑xP(x)log⁡Q(x) D_{KL}(P \| Q) = \sum_{x} P(x) \log P(x) - \sum_{x} P(x) \log Q(x) DKL(PQ)=xP(x)logP(x)xP(x)logQ(x)

其中:
第一项 −∑xP(x)log⁡P(x)-\sum_{x} P(x) \log P(x)xP(x)logP(x) 是真实分布 PPP熵(Entropy),记为 H(P)H(P)H(P)
第二项 −∑xP(x)log⁡Q(x)-\sum_{x} P(x) \log Q(x)xP(x)logQ(x)PPPQQQ交叉熵(Cross-Entropy),记为 H(P,Q)H(P, Q)H(P,Q)

因此,KL散度与交叉熵的关系可以表示为:
DKL(P∥Q)=H(P,Q)−H(P) D_{KL}(P \| Q) = H(P, Q) - H(P) DKL(PQ)=H(P,Q)H(P)

真实分布 PPP 的熵 H(P)H(P)H(P) 是固定不变的常数(甚至为0)

1. 真实分布 PPP 是“确定性的one-hot分布”,与模型无关

在分类任务中,“真实分布 PPP”本质上是样本真实标签的数学表达,它由数据本身的标签决定,与模型的预测(QQQ)无关。

例如:

  • 对于“判断一张图片是猫/狗/鸟”的3类任务,若某样本的真实标签是“猫”,则 PPP 被定义为 [1,0,0][1, 0, 0][1,0,0](one-hot向量,只有“猫”对应的位置为1,其余为0);
  • 若另一样本的真实标签是“狗”,则 PPP 被定义为 [0,1,0][0, 1, 0][0,1,0]

这种“one-hot分布”的核心特点是:确定性——每个样本的真实类别是唯一且固定的,因此 PPP 的形式完全由样本标签决定,不会随模型参数、训练过程变化。

2. one-hot分布的熵必然为0,且不随样本变化

根据信息熵的定义:
H(P)=−∑xP(x)log⁡P(x) H(P) = -\sum_{x} P(x) \log P(x) H(P)=xP(x)logP(x)

对于one-hot分布,可以逐点计算求和项:

  • 对于真实类别对应的 xxxP(x)=1P(x) = 1P(x)=1,而 log⁡1=0\log 1 = 0log1=0,因此该项为 1⋅log⁡1=01 \cdot \log 1 = 01log1=0
  • 对于非真实类别对应的 xxxP(x)=0P(x) = 0P(x)=0,而 0⋅log⁡00 \cdot \log 00log0 在信息熵中被定义为0(因为“不可能发生的事件”对熵没有贡献);

因此,整个求和结果为 ∑xP(x)log⁡P(x)=0\sum_{x} P(x) \log P(x) = 0xP(x)logP(x)=0,代入熵的公式得:
H(P)=−0=0 H(P) = -0 = 0 H(P)=0=0

3. 为什么“固定不变”?

因为:

  • 每个样本的真实标签是确定的(例如“这张图一定是猫”),因此其对应的one-hot分布 PPP 是固定的;
  • 所有样本的真实分布 PPP 的熵 H(P)H(P)H(P) 都为0(如上述计算),且这个值不依赖于模型的预测分布 QQQ(模型怎么预测都不会改变样本的真实标签)。

因此,在整个训练过程中,真实分布 PPP 的熵 H(P)H(P)H(P) 始终是0(或固定的常数),不会随模型参数变化而改变。

真实分布 PPP 由样本的真实标签唯一确定(one-hot形式),其熵计算结果恒为0,且与模型无关,是固定不变的常数

因此:优化交叉熵 ≡ 优化KL散度

在上述场景中(真实分布 PPP 固定,且 H(P)H(P)H(P) 为常数),KL散度的表达式简化为:
DKL(P∥Q)=H(P,Q)−常数 D_{KL}(P \| Q) = H(P, Q) - 常数 DKL(PQ)=H(P,Q)常数

这意味着:最小化KL散度 DKL(P∥Q)D_{KL}(P \| Q)DKL(PQ) 与最小化交叉熵 H(P,Q)H(P, Q)H(P,Q) 是完全等价的(因为常数不影响优化方向)。


网站公告

今日签到

点亮在社区的每一天
去签到