第 7 题:温度缩放(Temperature Scaling)的校准原理,与模型蒸馏中温度系数的联系?
题目
温度缩放(Temperature Scaling)的校准原理,与模型蒸馏中温度系数的联系?
完整讲解
一、温度缩放做法
对 logits $\boldsymbol{z}$,softmax 改为
\(p_i = \frac{\exp(z_i / T)}{\sum_j \exp(z_j / T)},\quad T > 0.\)
$T=1$ 即标准 softmax;$T>1$ 时分布更平滑(概率差变小);$T<1$ 时更尖锐(更自信)。校准阶段:在验证集上只学习一个标量 $T$,不动其他参数,使验证集上的预测概率与真实频率更一致(如按概率分桶后,桶内准确率接近桶中心概率)。
二、校准原理
- 模型常过度自信:预测概率 0.9 的样本里真实正确率可能只有 0.7。校准目标是让「预测概率 ≈ 实际正确率」。
- 温度缩放:放大 $T$(如 T=2)会压低高 logit、抬高低 logit,softmax 输出整体变平滑,极端高概率被拉低,从而缓解过自信,使 ECE(期望校准误差)等指标下降。
- 单参数、只调 $T$,几乎不增加推理成本;通常用验证集最小化 NLL 或校准损失得到 $T$。
三、与蒸馏中温度的联系
- 蒸馏:教师 softmax 用温度 $T$ 得到软标签 $\boldsymbol{q} = \mathrm{softmax}(\boldsymbol{z}^\mathrm{tea}/T)$,学生拟合 $\boldsymbol{q}$ 时也用相同 $T$。$T>1$ 时软标签更平滑,暗含「类间相似度」等 dark knowledge,学生更容易学。
- 联系:都是对 logits 除以 $T$ 再 softmax;蒸馏里 $T$ 控制软标签的平滑程度,校准时 $T$ 控制输出概率的平滑程度以匹配真实分布。数学形式相同,用途不同:蒸馏用 $T$ 传知识,校准用 $T$ 修概率。
- 区别:蒸馏通常训练时用 $T$、推理时学生用 $T=1$(或固定 $T$);校准时推理阶段也保留 $T$,专门用于提升校准。
面试要点
- 温度缩放:$p_i \propto \exp(z_i/T)$,$T>1$ 使分布更平滑,缓解过自信,单参数校准。
- 校准原理:过自信时高概率被高估,放大 $T$ 拉平分布,使预测概率更接近真实频率。
- 与蒸馏:同一形式 $z/T$;蒸馏用 $T$ 生成软标签传知识,校准用 $T$ 做后处理修概率。
记忆要点
- 温度缩放:softmax 前 logits 除以 $T$;$T>1$ 平滑、校准过自信。
- 校准:单参数 $T$,验证集调,使预测概率与真实频率一致。
- 蒸馏:同一 $z/T$ 形式;蒸馏是训练时软标签,校准时推理时修概率。