又来营业啦,这段时间应该更新的都是蒸馏
论文链接
他提出了快照蒸馏(snapshot distillation)。我们从早期样本遍历后的模型 (教师模型) 提取有用信息对后期遍历中的模型 (学生模型) 进行监督训练。与此同时,该方法保证教师和学生模型的神经网络差异性,来防止欠拟合问题的发生。在实际训练中,我们用余弦函数学习率,用每一轮最后的快照作为teacher,来训练下一轮的student,这样teacher传递出来的信息会更平滑,这也能提供更好的信息,这里认为teacher提供了一个secondary information,比如类之间的相似性。
影响蒸馏的有三个因素:
1.teacher应该被训练好
2.teacher和student之间有足够大的差异性
3.teacher提供secondary information给student(置信度分布)
Teacher-Student Optimization
简而言之就是hard CEloss+soft CEloss(KL散度)
用训练完毕的模型训练他本身。
从表格看,训练300epoch完毕的模型去训75epoch的student,训到结束,效果最好,也就是说teacher和student差异越大,效果越好。但是也有论文指出,teacher和student的size gap越大,效果越不好。这里teacher和student是同一个模型,size相同。