知识蒸馏中的温度策略选择
讨论知识蒸馏中温度参数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)传递更多关系信息
实践建议:
- 先试T=4,观察Student在验证集的表现
- 网格搜索T∈{2,4,6,8,10}
- 联合调节损失权重α(蒸馏损失 vs GT损失的权重)
- 大T需配合较大的α(蒸馏损失权重)
不合适的表现:
- T过小→Student只学到hard label,不如直接训练
- T过大→蒸馏信号信噪比低,Student难以学习