Knowledge,知识蒸馏

【Knowledge,知识蒸馏】什么是“知识蒸馏”?你怎么看?

Knowledge,知识蒸馏


知识蒸馏(Knowledge Distillation)是指将复杂但是性能优良的模型中所包含的有用的知识“蒸馏”出来 , 使得网络结构减小的同时不损失精度 。知识蒸馏是Hinton于2014年的论文《Distilling the Knowledge in a Neural Network》中首先提出的概念 。
其本质上属于迁移学习的范畴 。知识蒸馏的基本实施方法是:引入一个复杂、但推理性能优越的教师网络 , 利用其学习到的软目标作为损失函数的一部分 , 以诱导精简、低复杂度的学生网络的训练来逼近教师网络 , 从而实现知识的迁移 。这里所说的软目标 , 在分类问题中就是 , 输出类别的概率 。在传统的分类问题中 , 分类的标签都是用0-1的one-hot来表示 。
这种方式只告诉了那个是对的 , 而对其他的类别并没有说明 , 因此监督信息更少 , 对于精简的学生网络而言学习起来会更加困难 。而教师网络的输出经过softmax得到的是所有类别的预测概率 , 给予的监督信息更加全面 , 即不仅知道哪里是对的 , 而是知道正确的程度 。那么我们就可以通过这个教师网络 , 我们就可以更好的引导学生网络学习 。