论文笔记:蒸馏网络(Distilling the Knowledge in Neural Network)
Distilling the Knowledge in Neural Network Geoffrey Hinton, Oriol Vinyals, Jeff Dean preprint arXiv:1503.02531, 2015 NIPS 2014 Deep Learning Workshop 简单总结 主要工作(What) “蒸馏”( distillation ):把大网络的知识压缩成小网络的一种方法 “专用模型”( specialist models ):对于一个大网络,可以训练多个专用网络来提升大网络的模型表现 具体做法(How) 蒸馏 :先训练好一个大网络,在最后的softmax层使用合适的温度参数T,最后训练得到的概率称为“软目标”。以这个软目标和真实标签作为目标,去训练一个比较小的网络,训练的时候也使用在大模型中确定的温度参数T 专用模型 :对于一个已经训练好的大网络,可以训练一系列的专用模型,每个专用模型只训练一部分专用的类以及一个“不属于这些专用类的其它类”,比如专用模型1训练的类包括“显示器”,“鼠标”,“键盘”,...,“其它”;专用模型2训练的类包括“玻璃杯”,“保温杯”,“塑料杯”,“其它“。最后以专用模型和大网络的预测输出作为目标,训练一个最终的网络来拟合这个目标。 意义(Why) 蒸馏 把大网络压成小网络