阶段三:温度 T 与损失权重调参
本文定位与前置知识
本文是「知识蒸馏工程化流程」四阶段系列的第三篇,承接《阶段二:数据准备》。当教师与蒸馏数据就绪后,进入最考验调参功力的环节:设定温度 T 与软/硬损失权重 α。
前置知识:理解 softmax 与交叉熵;已读过前两阶段。本文方法严格对应 Hinton 等人(2015)的原始框架。
1. 温度 T 的作用:软化 softmax
标准 softmax 把教师 logits $z_i$ 转成概率:
$$q_i = \frac{\exp(z_i)}{\sum_j \exp(z_j)}$$
引入温度 $T$ 后变为:
$$q_i = \frac{\exp(z_i / T)}{\sum_j \exp(z_j / T)}$$
- 当 $T = 1$ 时,退化为标准 softmax,分布尖锐,只有正确类概率高,几乎不透露类间关系;
- 当 $T > 1$ 时,分布被”软化”,非主导类的相对概率被放大,学生得以看到”猫与狗比猫与汽车更相似”这类 dark knowledge;
- 当 $T \to \infty$ 时,分布趋于均匀,信息反而被稀释。
因此 $T$ 的本质是在”信息量”与”信号纯度”之间权衡:太小则软标签退化为硬标签,太大则噪声淹没信号。
2. T 的搜索范围
经验上,$T$ 的常见搜索区间为 2 ~ 20(该范围属工程实践共识;经 WebSearch 核验,Hinton 等人原文实验中的 $T$ 取值覆盖 1–20,常见做法以 2–20 为起点区间)。具体取向有规律可循:
- 学生相对教师越小,往往偏好较低的温度——因为小模型容量有限,难以消化高温下过于丰富的软分布;
- 学生容量较充足时,可尝试更高的温度以榨取更多 dark knowledge;
- 最优值必须在验证集上实测,不存在放之四海皆准的常数。
建议以网格方式搜索,例如 ${2, 4, 6, 8, 12, 20}$,配合阶段四的训练设置,选验证集性能最佳者。
3. 损失权重 α:软损失与硬损失的平衡
Hinton 等人(2015)提出蒸馏损失是软损失与硬损失的加权和。一种清晰写法是:
$$\mathcal{L}{\text{total}} = (1-\alpha),\mathcal{L}{\text{soft}} + \alpha,\mathcal{L}_{\text{hard}}$$
其中:
- $\mathcal{L}_{\text{soft}} = T^2 \cdot \mathrm{KL}!\left(\sigma(z_t/T),|,\sigma(z_s/T)\right)$,即教师与学生”软化后”分布之间的 KL 散度;乘 $T^2$ 是为了补偿高温下梯度幅度被缩小的效应(Hinton 2015 原文给出),保证更换 $T$ 时软损失 relative 贡献大致稳定。
- $\mathcal{L}_{\text{hard}} = \mathrm{CE}!\left(y,, \sigma(z_s)\right)$,即学生普通 softmax 与真实硬标签的交叉熵(此时 $T=1$)。
关于 $\alpha$ 的经验:Hinton 等人指出,通常让软损失的权重高于硬损失能取得更好结果(即 $\alpha$ 偏小),因为软标签提供的信息远多于硬标签;但在部分实验中两者取等权(如 $\alpha=0.5$)也有不错表现。注意不同文献对 $\alpha$ 的符号约定可能相反(有的把 $\alpha$ 定义为软损失权重),阅读代码时需看清具体定义,本质都是加权组合。
4. 调参实验设计
推荐一套可复现的流程:
- 先定 T,再定 α:固定 $\alpha$(如 0.5 或偏小值),扫描 $T \in {2,4,6,8,12,20}$,画出验证性能随 T 的曲线,定位粗优区间;
- 在 T 粗优区间内细扫 α:固定最优 T,扫描 $\alpha \in {0.1,0.3,0.5,0.7,0.9}$,观察软/硬平衡;
- 控制变量:每次只改一个超参,训练轮次与学习率保持一致,避免耦合;
- 早停以验证集为准:学生可能在软损失上过拟合教师而非学会任务,需监控验证精度而非仅看训练损失;
- 记录完整配置:T、α、教师版本、数据版本,保证可复现。
5. 经验与陷阱
- 陷阱一:T 设成 1。 此时软标签几乎等于硬标签,蒸馏退化为普通训练,丢失 dark knowledge。
- 陷阱二:忽视 $T^2$ 因子。 若实现中漏乘 $T^2$,换 T 时软损失梯度尺度会漂移,导致调参结论不可比。
- 陷阱三:α 过大压垮软损失。 硬损失占比过高,学生主要学硬标签,蒸馏意义减弱。
- 陷阱四:只信训练损失。 软损失下降不代表学生变强,必须以验证集任务指标为准。
6. T 与分布熵的直观理解
可以把 T 理解为控制教师”坦白程度”的旋钮:T 越高,教师把各类概率拉得越平均,等于把原本藏在尖锐峰值下的类间相似性”摊”出来给学生看;T 越低,教师越保守,只强调正确类。理想 T 应让软标签既包含类间信息、又不至于被均匀噪声淹没。一个实用的判断法是:观察高温下非正确类的相对概率是否出现有意义的排序(如”狗”高于”汽车”),若全部趋于均匀则 T 偏大。需要提醒,T 过大(如远超 20)通常收益递减且引入噪声,不属于常规搜索范围。
7. 与纯硬标签训练的定性对比
纯硬标签训练只告诉学生”对/错”,梯度信号稀疏;温度软化后的软损失提供每类的连续监督,梯度更平滑、方差更小,这也是 Hinton 2015 指出蒸馏可用更高学习率、对数据更鲁棒的原因。但代价是引入了 T、α 两个新超参,必须用阶段四的验证准则严格筛选,防止学生”假会”。经验上,先固定 α(如 0.5)扫 T,再固定 T 扫 α,比联合随机搜索更高效;若计算允许,可对若干候选 T 各训一个轻量学生做快速验证,再在最优区间精细搜索,避免盲目穷举。
8. 调参检查清单
落地时可用一份最小清单避免遗漏:
- 固定 α,跑 T ∈ {2,4,6,8,12,20} 的轻量学生,画验证曲线;
- 取最优 T,扫 α ∈ {0.1,0.3,0.5,0.7,0.9};
- 确认实现中软损失乘了 T²,否则跨 T 不可比;
- 以验证任务指标(非训练损失)选定最终配置;
- 记录 T、α、教师版本、数据版本,固化可复现。
若时间有限,至少完成第 1 步与第 4 步,避免”调了等于没调”。
9. 与阶段四训练策略的衔接
温度调参并非孤立环节,它直接决定阶段四训练时学生接收的监督形态。$T$ 与 $\alpha$ 一旦确定,阶段四的学习率、批次、早停都应在该固定配置下搜索;若中途改 $T$,前面的早停判断全部失效,结论不可比。另一个常被忽略的衔接点是:高温软损失的梯度更平滑,Hinton 2015 据此主张蒸馏可用比普通训练更高的学习率,因此阶段四设定 LR 时不必照搬硬标签训练的保守值,而应在验证集上重新标定。反之,若 $\alpha$ 偏大、硬损失占主导,则学习率应回落到接近普通训练的水平。把 $T$、$\alpha$ 视为”监督形态参数”,把学习率视为”优化参数”,二者分两阶段、各定各的,是更不容易出错的心智模型。也正因为如此,本文的 T/α 搜索结果必须随教师版本与数据版本一并固化,否则阶段四的”最优学习率”将失去参照系。
延伸阅读 / 参考文献
- Hinton, Vinyals, Dean (2015),《Distilling the Knowledge in a Neural Network》, arXiv:1503.02531(温度软化 softmax、dark knowledge、$T^2$ 梯度补偿、软/硬损失加权的原始来源,本文全部方法依据)。