【简介】近些年深度神经网络几乎在各个领域都取得了巨大的成功。然而,这些深度模型在尺寸上过于巨大,有几百万甚至上亿的参数,造成了巨大的计算开销,致使模型难以部署和落地。除此之外,模型的表现还高度依赖于大量的标注数据。为了使模型得到更加高效的训练和处理标记数据不足的难题,知识蒸馏(KD)被用来迁移从一个模型到另一个模型学习到的知识。这个过程也经常被描述为student-teacher(S-T)学习框架,并且已经被广泛应用到模型压缩和知识迁移中。这篇论文主要介绍了知识蒸馏和student-teacher学习模型。首先,我们对于KD是什么,它是如何工作的提供了一个解释和描述。然后,我们对近些年知识蒸馏方法的研究进展和典型用于视觉任务的S-T学习框架进行了一个全面的调研。最后,我们讨论了知识蒸馏和S-T模型未来的发展方向和研究前景,以及目前这些方法所面临的开放性挑战。
介绍
深度神经网络的成功主要依赖于精心设计的DNN架构。在大规模机器学习任务中,尤其是图像识别和语音识别任务,大多数基于DNN的模型都是凭借大量的参数来提取特征从而保证模型的泛化能力。这种笨重的模型通常都有非常深和非常宽的特点,需要花费大量的时间进行训练,而且不可能实时操作。所以,为了加速模型训练,许多研究人员尝试着利用预训练的复杂模型来获得轻量级的DNN模型,从而使得这些模型可以被部署应用。这是一篇关于知识蒸馏(KD)和student-teacher(S-T)学习模型的论文。一般来讲,知识蒸馏被视作一种机制:当只给出小型的训练集,其中包含相同或不同种类的样本的时候,这种机制能够使得人类快速学习新的,复杂的概念。在深度学习中,知识蒸馏是一个有效的方法,目前已经被广泛的应用在了从一个网络到另一个网络的信息转移上。知识蒸馏主要被应用在模型压缩和知识迁移这两个领域,对于模型压缩,一个较小的学生模型被训练来模仿一个预先训练好的较大的模型。尽管知识和任务种类多样,但是S-T框架是他们的一个相同点,其中提供知识的模型被称作teacher,学习知识的模型被称作student。我们对现有的知识蒸馏方法进行了重点分析和分类,其中还伴随着各种类型的S-T结构的模型压缩和知识转移。我们回顾和调查了这一迅速发展的领域,强调了该领域的最新进展。虽然知识蒸馏方法已经应用于视觉智能、语音识别、自然语言处理等各个领域,但本文主要关注的是视觉领域的知识蒸馏方法,所以论文中关于知识蒸馏的大多数阐释都是基于计算机视觉任务。由于知识蒸馏方法研究最多的领域是模型压缩,所以我们系统地讨论了该领域的技术细节、关键性挑战和发展潜力。同时,重点介绍了在半监督学习、自监督学习等领域的知识迁移方法,重点介绍了以S-T学习框架为基础的技术。
文章结构
section 2:探讨知识蒸馏和S-T学习框架为什么会吸引如此多的关注。
section 3:关于知识蒸馏的理论分析。
section 4-section14:对目前的方法进行分类,并且分析了面临的挑战以及该领域的发展前景。
section 15:根据上面的分类结果,我们回答了section 2中提出的问题。
section 16:介绍了知识蒸馏和S-T框架的潜力。
section 17:总结。
章节内容
section 2:知识蒸馏是什么?为什么会引起人们的关注
知识蒸馏首先由Hinton提出。知识蒸馏是指在较大的teacher网络的监督下,帮助较小的student网络训练的方法。与其他压缩模型不同,知识蒸馏可以不考虑teacher和student网络的结构差异,压缩自身的网络。
section 3:关于知识蒸馏的理论分析
许多知识蒸馏方法的提出都是出于各种各样的直觉。然而,对于知识具体是如何传递的,目前还没有一个公认的理论,因此很难对实验结果进行有效的评价,也很难设计出更有说服力的新方法。
section 4-section 14:对知识蒸馏方法进行分类,分析当前KD面临的挑战。
section 15:视觉智能的应用
语义分割:语义分割是一个结构化的问题,因此提取知识进行语义分割必须考虑结构信息。
将KD用于视觉检测必须考虑回归的挑战和很少的标注数据这两大问题。
部分论文展示:
原始链接:
https://arxiv.org/abs/2004.05937
专知便捷查看
便捷下载,请关注专知公众号(点击上方蓝色专知关注)
后台回复“KDST” 就可以获取《【综述】面向视觉智能的知识蒸馏和Student-Teacher方法,附37页pdf下载》专知下载链接