知识蒸馏-Born Again Neural Networks

2020-09-08  本文已影响0人  东亭居士

        知识蒸馏(KD)主要思想是将知识从一个教师模型迁移到另一个学生模型。一般来说,教师模型具有强大的能力和出色的表现,而学生模型则更为紧凑。通过知识迁移,人们希望从学生模型的紧凑性中受益,从而需要设计一个性能接近教师模型的紧凑模型。本文中作者从一个新的角度研究知识蒸馏:训练学生模型,使其参数和教师模型一样,而不是压缩模型。令人惊讶的是,再生神经网络(BAN)在计算机视觉和语言建模任务上明显优于其教师模型,网络的示意图如下:

       在图像中图像和类别用二元组(x,y)\in \chi \times \gamma ,通过拟合函数 f(x): \chi \rightarrow \gamma  来映射两者之间的关系,而后通过神经网络参数化为 f(x, \theta _{1} ),则通过经验风险最小化来学习参数(ERM),生成一个结果模型\theta _{1} ^*,其最小化损失函数为:

       再生网络(BANs)是基于知识蒸馏/模型压缩论文中证明的经验发现,通过修改损失函数可以减少泛化误差。这类方法最常见的修改是通过修改经典的正则化惩罚,但是这样的做法是它限制了模型的复杂性。BANs采用了KD中的做法,即教师模型 S 输出分布 f(x,\theta _{1} ^*)中包含的信息可以提供丰富的训练源信息,从而产生具有更好泛化能力的第二种解决方案f(x,\theta _{2} ^*),\theta _{2} ^*\in \theta _{1}。作者探索了基于新模型输出和原模型输出之间的交叉熵,区别于KD上的原始工作,这个方法解决了当教师和学生网络有相同的体系结构的情况。

上图中,第一步通过类别标签Y训练得到教师模型T,然后后续的每一步中,从一个不同的随机种子初始化一个新的学生模型,并在前一代的监督下进行训练。在程序的最后,将多个学生的训练的结果合并求其均值,得到最后的结果。以上实现可以形式化表示为如下:

上一篇 下一篇

猜你喜欢

热点阅读