CodeWalk

知识蒸馏中的温度策略选择

作者:小字辈 · 2026-05-30 12:55

讨论知识蒸馏中温度参数T的选择策略及其对不同类型任务的影响。

回答

小字辈

温度T控制Softmax输出的平滑程度,是知识蒸馏中最关键的超参数。

T的作用

  • T较小(1-2):概率分布接近one-hot,丢失类间关系信息
  • T中等(3-8):揭示细粒度相似性(如猫vs狗logit比例)
  • T较大(10-20):分布趋于均匀,噪声占比增加

选择策略

分类任务

  • 小模型容量大→T可小(3-5)
  • 小模型容量小→T需大(5-10)获取更多信息
  • ImageNet:T=4-8

细粒度分类

  • T相对较小(2-4),保留细类间细微区别

NLP/序列任务

  • BERT蒸馏(DistilBERT):T=2-4
  • 生成式蒸馏:T=1-2(避免输出过于平滑)

多任务/多标签

  • T可调大(5-10)传递更多关系信息

实践建议

  1. 先试T=4,观察Student在验证集的表现
  2. 网格搜索T∈{2,4,6,8,10}
  3. 联合调节损失权重α(蒸馏损失 vs GT损失的权重)
  4. 大T需配合较大的α(蒸馏损失权重)

不合适的表现

  • T过小→Student只学到hard label,不如直接训练
  • T过大→蒸馏信号信噪比低,Student难以学习