定义
把复杂模型或者多个模型Ensemble(Teacher)学到的知识 迁移到另一个轻量级模型( Student )上叫知识蒸馏。使模型变轻量的同时(方便部署),尽量不损失性能。
——Hinton, NIPS 2014workshop
Method
Response-Based Knowledge
Distilling the Knowledge in a Neural Network
- 目的:压缩模型
- soft target
- softmax-T (T为温度)
- T = 1,公式同softmax输出后的结果
- T越接近0,公式越同One-hot编码
- 提升T,则保留更多类别关系信息,平滑分布
- softmax-T (T为温度)
- teacher frozen
- 保证训练稳定程度
Feature-Based Knowledge
FitNets: Hints for Thin Deep Nets
- 直接让小模型在输出端模仿大模型难度过大
- hint training
- 网络中间的输出也拿出来,让大模型和小模型中间层的输出也要尽量接近,让小模型去学习大模型做预测时的中间步骤
- 两阶段训练
- feature(1-5):
- teacher网络隐藏层参数
- Wr作用为:
- T/S权重中随机采样
- Ws 投影到 Wt 空间
- response(6):
- 输出拟合
- feature(1-5):
Relation-Based Knowledge
A Gift from Knowledge Distillation: Fast Optimization, Network Minimization and Transfer Learning
拟合大型模型层与层之间的关系,高屋建瓴
FSP 矩阵:
FPS loss:
model:
两阶段训练:
- FPS训练
- 原始任务训练
参考资料
https://arxiv.org/pdf/2006.05525.pdf