返回专辑
·Johan·4 分钟阅读

KL 蒸馏温度 T 与 feature MSE

大教师教小学生,学生会在教师也错的区域过度自信——温度 T、loss 权重和 hard label 仍要保留,蒸馏不是复制 logits 就完事。

KL 蒸馏温度 T 与 feature MSE

1. 学生复制 logit,教师错的地方更自信

ResNet101 teacher 蒸馏到 MobileNet student,student 在 teacher 也错的 hard sample 上 softmax 更尖——KL 只学 teacher 分布,不区分 teacher 对错。蒸馏不是复制 logits 就完事;hard label、温度 、loss 权重 和 feature-level 约束都要设计。

2. Response distillation

Hinton 等经典形式:

软化分布,暴露类间 dark knowledge; 补偿 gradient scale。PyTorch:

python
T = 4.0
soft = F.kl_div(
    F.log_softmax(student_logits / T, dim=1),
    F.softmax(teacher_logits / T, dim=1),
    reduction='batchmean') * (T * T)
hard = F.cross_entropy(student_logits, targets)
loss = alpha * soft + (1 - alpha) * hard

常见起点; 分类,检测蒸馏更复杂。hard label 保留 ground truth 信号,防 teacher 错时 student blindly 跟。

3. Feature distillation

中间层 feature MSE 或 attention transfer:student mimic teacher 的 intermediate representation。对小 student capacity 不够时,feature loss 有时比 pure logit KL 更稳。对齐维度需 adapter(1×1 conv 或 linear);层选择靠 val ablation,通常 mid-to-deep 层。

feature + response 联合:,权重需 grid search,避免某一 loss 主导。

4. 失败模式

过小 → 接近 hard label,dark knowledge 少。 过大 → 分布接近 uniform,学不动。纯 KL 无 hard label → teacher 错处 student 过度自信。student 容量太小 → 蒸馏上限低,不如直接训小模型 + 强正则。

5. 部署视角

蒸馏目标常是 latency 和 size——student 达标后仍要测 p99 latency、calibration(ECE)。student 可能比 teacher 更 overconfident 或 underconfident,部署域上 temperature scaling 仍可能需要。

6. 案例:纯 KL 在 teacher 错区过自信

某蒸馏 student 在 teacher 错样本上 confidence 高于 teacher——加 hard CE 权重到 0.4 后 ECE 改善且 acc 持平。hard label 是 teacher 错时的保险,不可省。

7. 验收

  • hard + soft loss 联合, ablation 有记录。
  • student val 接近或超过 teacher(task-dependent),不应远低。
  • teacher 错样本上 student confidence 不系统性高于 teacher。
  • feature distill 若用,层对齐与维度 adapter 明确。
  • 部署 latency/size 达标,calibration 单独评。

8. 落地与衔接

蒸馏配置固定温度、软硬损失权重,并记录软损失与硬损失曲线。学生模型达标后测百分之九十九延迟与期望校准误差,与教师在部署域对比。特征蒸馏若启用,写清层对齐与适配器结构,避免合并请求里口头加了中间层损失。教师错样本上学生置信度不得系统性更高,抽样审计进发版门槛。导出学生模型前用全精度与量化路径各跑一遍一致性。文档说明蒸馏目标除精度外还有体积与延迟。

9. 案例复盘

某轻量学生纯软标签蒸馏后在教师错区更过度自信,校准误差恶化。把硬交叉熵权重提到零点四后期望校准误差改善且准确率持平。复盘把软硬联合与教师错区审计写进蒸馏清单。下一版加特征均方误差仅在中层消融有增益时保留,避免损失叠罗汉主导训练。学生上线前仍做温度缩放,蒸馏不替代校准。该清单已成为小模型上线标配。

10. 与部署校准的衔接

学生模型通过蒸馏验收后,仍须在部署域单独做温度缩放与期望校准误差评估,与 dl-eval-calibration 流程一致。蒸馏改善 top-1 不等于置信度可用于放行;教师错区审计应抽样进合并请求。量化或剪枝后的学生须重新跑软硬损失对齐检查,避免压缩破坏从教师学到的暗知识结构。

知识蒸馏是 teacher 暗知识向 student 的迁移。温度与 控制 soft/hard 平衡;hard label 是 teacher 错时的保险。Feature MSE 补 capacity gap,但不是默认必加。业务侧应同时验收延迟、体积、准确率与校准;换 teacher 后须重审计学生在其错区的置信度,并归档温度、软硬权重与审计结果。量化或剪枝后的学生须重新验证校准曲线,蒸馏不替代部署域温度缩放。特征蒸馏仅在中层消融有稳定增益时保留,避免多种损失叠罗汉使训练目标不可解释。

← 全部文章

johan's blog