知识蒸馏,teacher and studenet 网络

最近在学习一些分类网络,发现现在直接使用新的网络结构提高整个分类准确度已经很难了,现在人们提出了各种新型的训练思路。我发现这个知识蒸馏训练的思路真的很好。我看完以后发现可以做的事很多。

知识蒸馏,teacher and studenet 网络_第1张图片

知识蒸馏是利用从一个大型模型或模型集合中提取的知识来训练一个紧凑的神经网络。利用这些知识,我们可以在不严重影响紧凑模型性能的情况下,有效地训练小型紧凑模型。我们称大模型或模型集合为繁琐模型或教师网络,而称小而紧凑的模型为学生网络。 一个简单的类比是,一个大脑小巧紧凑的学生为了考试而学习,他试图从老师那里吸收尽可能多的信息。然而老师只是教所有的东西,学生不知道在考试中会出哪些问题,尽力吸收所有的东西。在这里,压缩是通过将知识从教师中提取到学生中而进行的。在提取知识之前,繁琐的模型或教师网络应达到SOTA性能,此模型由于其存储数据的能力而通常过拟合。 尽管过拟合,但繁琐的模型也应该很好地推广到新数据。 繁琐模型的目的是使正确类别的平均对数概率最大化。 较可能正确的类别将被分配较高的概率得分,而错误的类别将被赋予较低的概率。这里主要的细节大家可以看看论文Distilling the knowledge in a neural network。其实现在知识蒸馏的思路已经慢慢开始蔓延与发展了,我们可以看到这个思路在目标检测上面已经有一些应用了。我们会打算看能不能在医学图像的语义分割上面应用。后续还是要进行一定的实验研究。

你可能感兴趣的:(论文推荐,深度学习,神经网络)