如图3是知识蒸馏模型的整体结构.其由一个 多层的教师模型和学生模型组成,教师模型主要负 责向学生模型传递知识,这里的“知识”包括了标签 知识、中间层知识、参数知识、结构化知识、图表示知 识.在知识的迁移过程中,通过在线或离线等不同的 学习方式将“知识”从教师网络转移到了学生网络. 为了便于读者快速学习和对比其中的差异,作者将 不同知识传递形式下的蒸馏方法的形式化表示及其 相关解释整理为表1所示结果.此外,本文对知识蒸 馏相关研究进行了总结,主要从知识传递形式、学习 的方式、学习的目的、交叉领域、主要应用等方面对 其进行分类,其分类框架如图4所示,具体内容将在 后续的文章中展开.
知识传递形式
知识蒸馏方法的核心在于“知识”的设计、提取和 迁移方式的选择,通常不同类型的知识来源于网络模 型不同组件或位置的输出.根据知识在教师学生模型 之间传递的形式可以将其归类为标签知识、中间层知 识、参数知识、结构化知识和图表示知识.标签知识一 般指在模型最后输出的logits概率分布中的软化目标 信息;中间层知识一般是在网络中间层输出的特征图 中表达的高层次信息;参数知识是训练好的教师模型 中存储的参数信息;结构化知识通常是考虑多个样本 之间或单个样本上下文的相互关系;图表示知识一般 是将特征向量映射至图结构来表示其中的关系,以满 足非结构化数据表示的学习需求.本节主要对蒸馏知 识的5类传递形式加以介绍,理清主流的知识蒸馏基础 方法,后面介绍的各类蒸馏方法或具体应用都是以此 为基础.相关的优缺点和实验对比,见表2~表4所示.
学习方式
类似于人类教师和学生间的学习模式,神经网 络的知识蒸馏学习方式也有着多种模式.其中,学生 模型基于预训练好的、参数固定的教师模型进行蒸 馏学习被称为离线蒸馏.相应 地,教师和学生模型同时参与训练和参数更新的模 式则称为在线蒸馏.如果学生 模型不依赖于外在模型而是利用自身信息进行蒸馏 学习,则被称为自蒸馏学习,如图7 所示.一般而言,蒸馏框架都是由一个教师模型和一 个学生模型组成,而有多个模型参与的蒸馏称为多模型蒸馏;目前,大部分 蒸馏框架都是默认源训练数据集可用的,但最近的 很多研究在不使用任何已知数据集的情况下实现 蒸馏,这类统称为零样本蒸馏(又称为无数据蒸馏,).特别地,出于一些 隐私保护等目的,教师模型可以享有一些特权信息而 学生模型无法访问,在这种约束下,形成特权蒸馏 学习.接下来,将分别介绍不同蒸馏学习方式的代表性工作.
主要应用
计算机视觉
计算机视觉一直是人工智能的研究热点领域之 一.近年来,知识蒸馏被广泛应用于各种视觉任务达 到模型压缩、迁移学习和隐私保护等目标.虽然知识 蒸馏的应用十分广泛,但是由于各个研究方向的热 度不同,所以相关研究的论文数量也会有很大的差异.本文重点引用了知识蒸馏在视觉上的热点方向, 并列举相关论文的方法供读者查阅学习,而对于其 他一些方向可能存在取舍.目前,应用知识蒸馏的视 觉研究主要集中在视觉检测和视觉分类上.视觉检 测主要有目标检测、人脸识别、行人检测、姿势检测;而视觉分类的研究热点主要是语义分割,如表5所 示.另外,视觉中还有一些其他应用比如视频分 类[105]、深度估计和光流/场景流估计[169]等等.
自然语言处理
自然语言处理(NaturalLanguageProcess, NLP)的发展非常迅速,从RNN、LSTM、ELMo再 到如今非常热门的BERT,其模型结构逐渐变的非 常的深而复杂,需要耗费大量的资源和时间.这样的 模型几乎无法直接部署.因而,获得轻量级、高效、有 效的语言模型显得极为迫切.于是,知识蒸馏在 NLP领域也得到了极大的重视.目前,结合知识蒸 馏较为广泛的NLP任务主要有机器翻译(Neural MachineTranslation,NMT),问答系统(Question AnswerSystem,QAS)等领域.如表6,本节列举了 知识蒸馏结合神经机器翻译和问答系统的代表性的 研究工作.另外,BERT模型在近些年被广泛应用于 NLP的各个领域,其重要性不言而喻,因此,我们在 表6中一并列举并在下面对其作详细介绍.
BERT模型是近年来自然语言中,应用最广泛的 工具之一,它是由双向编码器表示的Transformer模 型组成.由于其强大的编码表示能力,目前在自然语 言的各个任务中被广泛应用.但是,BERT模型结构 非常复杂,参数量巨大,很难直接应用于模型的训 练.目前的应用主要采用的预训练加微调的方法,因 此,对BERT模型的压缩显得尤为必要.目前,这方 面的研究已经吸引的很多研究者的关注.提出的方法 主要有剪枝、量化、蒸馏、参数共享、权重分解.但是, 量化对模型的提升效果有限,权重分解和参数共 享等工作相对较少.因此,主要工作集中在剪枝和 蒸馏.此处将主要介绍表中列举的较为经典的几种 模型.首先,知识蒸馏结合BERT较早的方法是 DistilledBiLSTM[221]于2019年提出,其主要思想是 将BERTlarge蒸馏到了单层的BiLSTM中,其效果 接近EMLO,其将速度提升15倍的同时使模型的参 数量减少100倍.后来的研究方法逐渐丰富,如 BERTPKD[222]主要从教师的中间层提取丰富的知 识,避免在蒸馏最后一层拟合过快的现象.Distill BERT[223]在预训练阶段进行蒸馏,能够将模型尺寸减 小40%,同时能将速度能提升60%,并且保留教师模 型97%的语言理解能力,其效果好于BERTPKD. TinyBERT[224]提出的框架,分别在预训练和微调阶 段蒸馏教师模型,得到了速度提升9.4倍但参数量 减少7.5倍的4层BERT,其效果可以达到教师模 型的96.8%.同样,用这种方法训出的6层模型的 性能超过了BERTPKD和DistillBERT,甚至接近BERTbase的性能.上述介绍的几种模型都利用了 层次剪枝结合蒸馏的操作.MobileBERT[225]则主要 通过削减每层的维度,在保留24层的情况下,可以 减少4.3倍的参数同时提升4倍速度.在GLUE上 也只比BERTbase低了0.6个点,效果好于Tiny BERT和DistillBERT.此外,MobileBERT与Tiny BERT还有一点不同,就是在预训练阶段蒸馏之后, 直接在推测缺乏MobileBERT有一点不同,就是在 预训练阶段蒸馏之后,直接在MobileBERT上用任 务数据微调,而不需要再进行微调阶段的蒸馏,更加 便捷.
综上,BERT压缩在近些年的发展还是较为显 著的.这些方法对后BERT时代出现的大型预训练 模型的如GPT系列等单向或双向Transformer模 型的压缩具有很大借鉴意义.
推荐系统
近些年,推荐系统(RecommenderSystems,RS) 被广泛应用于电商、短视频、音乐等系统中,对各个 行业的发展起到了很大的促进作用.推荐系统通 过分析用户的行为,从而得出用户的偏好,为用户 推荐个性化的服务.因此,推荐系统在相关行业中 具有很高的商业价值.深度学习应用于推荐系统 同样面临着模型复杂度和效率的问题.但是,目前 关于推荐系统和知识蒸馏的工作还相对较少.本文 在表7中整理了目前收集到的相关文献,可供研究 人员参考.
总结
近年来,知识蒸馏逐渐成为研究热点而目前绝 大多数优秀的论文都是以英文形式存在,关于系统 性介绍知识蒸馏的中文文献相对缺失;并且知识蒸 馏发展过程中融入了多个人工智能领域,相关文献 纷繁复杂,不易于研究人员对该领域的快速、全面地 了解.鉴于此,本文对知识蒸馏的相关文献进行了分 类整理和对比,并以中文形式对知识蒸馏领域的研 究进展进行了广泛而全面的介绍.首先介绍了知识 蒸馏的背景和整体框架.然后分别按照知识传递的 形式、学习方式、学习目的、交叉领域的结合对知识 蒸馏的相关工作进行了分类介绍和对比,分析了各 类方法的优缺点和面临的挑战,并对研究趋势提出 了见解.本文还从计算机视觉、自然语言处理和推荐 系统等方面概述了知识蒸馏在不同任务和场景的具 体应用,对知识蒸馏原理和可解释性的研究进行了 探讨.最后,从4个主要方面阐述了对知识蒸馏未来 发展趋势的分析. 知识蒸馏通过教师学生的结构为深度神经网 络提供了一种新的学习范式,实现了信息在异构或 同构的不同模型之间的传递.不仅能够帮助压缩模 型和提升性能,还可以联结跨域、跨模态的知识,同 时避免隐私数据的直接访问,在深度学习背景下的 多种人工智能研究领域具有广泛的应用价值和研究 意义.目前,有关知识蒸馏的中文综述性文章还比较 缺失.希望本文对知识蒸馏未来的研究提供有力的 借鉴和参考.
专知便捷查看
便捷下载,请关注专知公众号(点击上方蓝色专知关注)
后台回复“DLKD” 就可以获取《深度学习中知识蒸馏研究综述》专知下载链接