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

知识蒸馏 - 最小化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(P∥Q)=x∑P(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(P∥Q)=x∑P(x)logP(x)−x∑P(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) 是 PPP 和 QQQ 的交叉熵(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(P∥Q)=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)=−x∑P(x)logP(x)

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

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

因此,整个求和结果为 ∑xP(x)log⁡P(x)=0\sum_{x} P(x) \log P(x) = 0∑xP(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(P∥Q)=H(P,Q)−常数

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

相关推荐
大千AI助手23 天前
TinyBERT:知识蒸馏驱动的BERT压缩革命 | 模型小7倍、推理快9倍的轻量化引擎
人工智能·深度学习·机器学习·自然语言处理·bert·蒸馏·tinybert
AI掘金3 个月前
DeepSeek实战--蒸馏
微调·aigc·蒸馏·ai应用·deepseek·小模型推理
Panesle3 个月前
大模型微调与蒸馏的差异性与相似性分析
人工智能·微调·蒸馏
dundunmm5 个月前
【数据挖掘】知识蒸馏(Knowledge Distillation, KD)
人工智能·深度学习·数据挖掘·模型·知识蒸馏·蒸馏
小田_5 个月前
Deepseek 模型蒸馏
模型·蒸馏
Jackilina_Stone6 个月前
【论文阅读笔记】浅谈深度学习中的知识蒸馏 | 关系知识蒸馏 | CVPR 2019 | RKD
论文阅读·深度学习·蒸馏·rkd
Jackilina_Stone6 个月前
【论文阅读笔记】知识蒸馏:一项调查 | CVPR 2021 | 近万字翻译+解释
论文阅读·人工智能·深度学习·蒸馏
Jackilina_Stone6 个月前
【DL】浅谈深度学习中的知识蒸馏 | 输出层知识蒸馏
人工智能·深度学习·机器学习·蒸馏
Qiming_v6 个月前
知识蒸馏教程 Knowledge Distillation Tutorial
distillation·蒸馏