Distilling the Knowledge in a Neural Network
神经网络中的知识蒸馏。
一、Abstract
(1)面临的现状:
传统的提高机器学习效果的简单方法一般是在相同的数据上使用不同的模型,最后平均他们的预测结果,这也就是集成模型。但是集成模型十分的笨重,会消耗很多计算资源,并且不适合部署在用户端,特别是当单个网络特别大的时候。
(2)文章的工作
介绍了知识蒸馏,并使用知识蒸馏在MNIST数据集上,取得了令人惊讶的成就,并且将知识蒸馏运用在语音识别模型中,也取得的很好的效果。最后讲解了专才模型集成(这一部分和知识蒸馏关系不大)。
二、Introduction
(1)类比
许多昆虫都有幼虫和成虫两个阶段,幼虫阶段对提取能量和营养进行了优化,而成虫阶段对迁徙和繁殖进行了优化。同样,在机器学习中,我们通常可以分为训练模型和部署模型。
在训练模型中,我们通常需要用它来从非常巨大,冗余的数据中提取结构。它可以使用相当巨大的计算资源,并且我们不需要实时对他进行操作。如果这种笨重的大模型可以更容易提取结构(学习知识),我们就更乐意去采用。这种笨重的模型可以是分离训练后模型的集成,也可以是单个十分复杂的神经网络。
在部署阶段,对用户的延迟和计算资源有更严格的要求。
(2)方法
我们可以用一种叫做“蒸馏”的方法,将从笨重的模型中学习到的“知识”转移到更小的模型中,以便这种小模型可以更适合部署。
(3)需要解决的问题
从概念上有很多问题可以阻止这种非常有期待的目标,
我们很难用在训练模型中获得的学习参数作为知识。因为如果使用这样的知识,我

文章介绍了知识蒸馏技术,用于将大型神经网络中的学习知识转移到小型模型,以实现更轻量级、更适合部署的模型。通过在MNIST数据集上的实验,证明了知识蒸馏的有效性,尤其是在提高小模型的泛化能力和处理未标注数据的能力。此外,还探讨了蒸馏温度对模型性能的影响以及在语音识别中的应用。
&spm=1001.2101.3001.5002&articleId=129170681&d=1&t=3&u=80a7b9b0e752402683a3ecad32475f33)
1938

被折叠的 条评论
为什么被折叠?



