尽管深度神经网络(DNNs)在许多领域都表现出了强大的解决大规模问题的能力,但这种具有大量参数的DNNs很难部署在实时系统中。为了解决这个问题,教师-学生体系结构首先被用于知识蒸馏,其中简单的学生网络可以实现与深度教师网络相当的性能。近年来,师生体系结构在各种知识学习目标上得到了有效和广泛的应用,包括知识蒸馏、知识扩展、知识适应和多任务学习。在师生体系结构的帮助下,目前的研究能够通过轻量级和有效的学生网络实现多种知识学习目标。与现有的知识蒸馏综述不同,该综述详细讨论了具有多个知识学习目标的师生体系结构。此外,我们系统地介绍了知识学习过程中的知识构建和优化过程,然后分析了各种师生架构和有效的学习方案,以学习具有代表性和鲁棒性的知识。本文还总结了基于不同目的(即分类、识别和生成)的师生体系结构的最新应用。最后,分别从师生架构设计、知识质量和回归学习理论研究三个方面探讨了知识学习的潜在研究方向。通过这个全面的综述,行业从业者和学术界都可以了解到关于多个知识学习目标的师生架构的有见地的指导方针。
https://arxiv.org/abs/2210.17332
1. 概述
深度神经网络(DNNs)在许多领域都取得了成功,如计算机视觉[1](CV)、通信系统[2]和自然语言处理(NLP)[3]等。具体地说,为了满足大规模任务中的鲁棒性能,dnn通常使用复杂的体系结构进行过度参数化。然而,这种繁琐的模型同时需要大量的训练时间和计算成本,这对在边缘设备和实时系统中部署这些模型提出了重大挑战。为了加速训练过程,Hinton等人[4]首先提出了知识蒸馏来训练轻量级模型,以达到与深度模型相当的性能,这是通过将信息知识从一个计算成本高的大型模型(即教师模型)压缩到一个计算效率高的小型模型(即学生模型)来实现的。使用这样的师生体系结构,可以在教师模型的监督下训练学生模型。在学生模型的训练过程中,学生模型不仅要尽可能接近地预测ground truth标签,而且要匹配教师模型的软化标签分布。因此,压缩后的学生模型能够获得与繁琐的教师模型相当的性能,并且可以有效地部署在实时应用程序和边缘设备中。
师生架构在模型压缩的知识蒸馏中得到了广泛的应用,[5],[6],[7]的一些综述总结了近年来基于师生架构的各种知识蒸馏技术的进展。具体来说,Gou等人从以下角度对知识蒸馏进行了全面调查:知识类型、蒸馏方案和师生架构。Wang等人[6]对CV应用中的师生架构知识蒸馏提供了系统的概述和见解。Alkhulaifi等人[7]总结了多种蒸馏指标来比较不同蒸馏方法的性能。但是,上述综述并没有讨论在蒸馏过程中的知识构建和优化,知识类型和优化目标是为学生学习提供信息性知识的重要因素。此外,现有的调查也没有介绍知识蒸馏在各种应用场景下的目的。
与知识蒸馏不同的是,师生体系结构在知识扩展、知识适应、多任务学习等其他知识学习目标上得到了有效和广泛的应用。在师生体系结构的帮助下,我们能够通过轻量级和有效的学生网络实现多种知识学习目标。随着模型能力的增强和训练环境的困难,学生网络可以从教师网络中学习扩展的知识,使学生能够在更复杂的任务中取得比教师更好的表现和泛化能力[8]、[9]、[10]。在知识适应中,学生网络在一个或多个目标域上进行训练,教师网络的适应知识在源域[11]、[12]上进行训练。此外,构建多任务学生网络,在多个专业教师网络的监督下学习更多的通用特征表示,使这种通用学生网络可以有效地应用于多个任务[13]。
因此,本综述提供了一个全面和深刻的指南,关于知识学习的师生架构。不同于现有的知识蒸馏[5]、[6]、[7]的综述,本文首先介绍了针对多个知识学习目标(包括知识蒸馏、知识扩展、知识适应和多任务学习)的师生架构,然后讨论了知识构建和优化过程。此外,我们系统地总结了各种师生体系结构和学习方案,可用于学习具有代表性和鲁棒性的知识。本文还从分类、识别和生成等不同目的的角度讨论了师生体系结构的最新应用。最后,分别从师生架构设计、知识质量和基于回归学习的理论研究三个方面探讨了知识学习的潜在研究方向。本次综述的总体分类框架如图1所示。这项综述的主要贡献可以总结如下。
与现有的知识蒸馏综述不同,我们介绍了针对多个知识学习目标的师生架构,包括知识蒸馏、知识扩展、知识适应和多任务学习。
我们对知识学习过程中的知识形成进行了详细的回顾,包括知识的构建和优化。
我们基于不同的目的总结了师生体系结构的最新应用,包括分类、识别和生成。
讨论了知识学习的研究方向,包括师生架构设计、知识质量和基于回归学习的理论研究
第二节描述了针对不同学习目标的师生架构,包括知识蒸馏、知识扩展、知识适应和多任务学习。第三部分介绍了在学习过程中知识是如何构建和优化的。第4节分别讨论了单个和多个教师网络的各种学生网络;第五部分进一步介绍了师生网络的在线学习和自学方案。第6节总结了针对不同目的的师生体系结构的最新应用。未来的工作和结论将分别在第7节和第8节中得出。
2. 学习目标
2.1 知识蒸馏
知识蒸馏专注于训练学生模型,使用来自更大规模的教师模型的预测。知识蒸馏的目的是拥有一个紧凑的学生模型,同时保持与教师模型相当的性能。Hinton等[4]首先提出将知识从多个模型中提取到单个学生模型中,以完成模型压缩和迁移学习的任务。Tang等[14]将BERT[15]压缩为非常轻量级的Bi-LSTM[16],用于自然语言处理任务。Romero等人[17]认为,深度神经网络的成功在很大程度上归功于深度层次结构。因此,他们建议将宽的(每层有大量的神经元)和深的教师模型压缩成更窄的(每层神经元更少)和更深的学生模型。Yim等人[18]将学生和教师的体系结构设计为n部分模块,其中每个模块包含不同数量的卷积层。学生模型一般有比较简单的设计,学生的任务是学习老师每一层的输出。
2.2 知识扩展
知识扩展与知识蒸馏的不同之处在于,它不是将大的教师模型压缩成一个更小的学生模型,而是侧重于训练一个比教师模型具有更好的泛化性和性能的学生模型。学生模型的容量与教师模型相同或更大。
2.3 知识适应
在[11]中,教师模型监控学生的学习进度,并决定每个学生应该进行哪些任务的训练。一般来说,学生应该接受训练,以使他的表现得到最大的提高。但为了防止灾难性遗忘[25],应该对学生进行成绩下降的任务训练。
2.4 多任务学习
师生训练模式在各个领域都得到了验证。然而,适应多任务环境仍然具有挑战性。Ghiasi等[13]提出了一种多任务自训练(MuST)策略,该策略使用多个独立的教师模型来训练一个多任务学生模型。特别地,它们采用了四个教师模型,每个模型负责对四个不同的数据集进行分类、检测、分割和深度估计。经过训练后,这些教师模型用于为更大的数据集生成四种类型的伪标签。然后用四种类型的伪标签在数据集中训练学生模型。
3 知识形式化
Hinton等人[4]提出了一种方法,通过迫使学生网络学习产生软化的softmax输出以及预测样本标签,将集成深度网络压缩到具有类似深度的学生网络中。软化的softmax引入一个温度τ来表示来自教师网络的丰富信息。该方法成功地将复杂教师网络的泛化能力转移到小型学生模型上。
在知识优化中,知识蒸馏的优化目标通常由3部分组成:正则交叉熵(regular cross entropy, LCE)项、Kullback-Leibler (Kullback-Leibler, KL)散度(divergence, LKL)项和距离(distance, LD)项。
4 师生架构
5.2 自主学习
自学方案是在线学习的一种特殊方案。与经典的在线学习方法不同的是,在迭代学习过程中,学生网络和教师网络的角色是动态的,这说明在自主学习方案中,学生网络和教师网络可以相互交换,或者学生网络可以从自己身上学习知识(即无教师知识学习)。
6 应用
本节介绍知识学习的应用。知识学习应用于深度学习的各个应用领域,如计算机视觉、自然语言处理、模型压缩、推荐系统等。我们根据网络框架对知识学习的应用进行分类,可分为分类、识别和生成体系结构。分类体系结构是指输出层最常用的直接对图像进行分类的方法。识别体系结构是指从图像中提取关键信息的基础。它包括人脸识别、物体检测、动作识别、医学图像识别等。生成体系结构包括文本、语音和图像合成。
专知便捷查看
便捷下载,请关注专知公众号(点击上方蓝色专知关注)
后台回复“TSAK” 就可以获取《 好的知识蒸馏架构是什么样的?蒙特利尔麦吉尔大学最新《知识学习的师生架构》综述论文,12页pdf详述知识蒸馏师生体系结构体系》专知下载链接