Knowledge Distillation- A Survey Notes(下)


Teacher-Student Architecture

​ 教师与学生之间知识获取和蒸馏的质量也取决于如何设计教师与学生网络。近年来,在蒸馏过程中,教师和学生的模型设置几乎都是预先固定的,尺寸和结构都是不变的,因此很容易造成模型容量的差距。然而,如何具体设计教师和学生的体系结构,以及为什么他们的体系结构是由这些模型设置决定的,几乎没有人知道。在本节中,我们主要讨论教师和学生模型结构之间的关系。

​ 知识蒸馏被设计用于对深层神经网络进行集成。深层神经网络的复杂性主要来自两个维度:深度和宽度,即我们通常需要将知识从更深更广的神经网络转移到更浅更薄的神经网络。

因此,学生网络通常可以是:

  1. 教师网络的简化版本,每层的层数较少和/或通道数较少
  2. 教师网络的量化版本,与教师网络共享一些相同的结构
  3. 基于教师高效基本操作的小型网络
  4. 具有优化全局网络结构的小型网络
  5. 和老师一样的结构

大型深度神经网络和小型学生神经网络之间的模型容量差距降低了知识传递的性能。

  1. 引入了一名教师助理,以缓解教师模式和学生模式之间的培训差距,这一差距通过剩余学习得到进一步改善,即使用助理结构来学习剩余错误
  2. 关注最小化学生模型和教师模型在结构上的差异。例如将网络量化与知识蒸馏相结合,即学生模型是教师模型的小型量化版本。
  3. 提出了结构压缩方法,即将多层学习的知识转移到单层。
  4. 从教师网络到学生网络,在保持感受野的情况下,逐步进行知识迁移。在在线环境中,教师网络通常是学生网络的集合,其中学生模型彼此具有相似的结构(或相同的结构)。

​ 最近,深度可分离卷积被广泛用于设计用于移动或嵌入式设备的高效神经网络。受神经架构搜索(NAS)成功的启发,通过基于高效元运算或块搜索全局结构,小型神经网络的性能得到了进一步提高。此外,动态搜索适当知识转移机制的想法也出现在知识蒸馏中,例如,使用强化学习自动移除数据驱动方式中的冗余层,并搜索给定教师网络的最佳学生网络。知识蒸馏中的神经架构搜索思想,即在教师模型指导下对学生结构和知识转移的联合搜索,将是未来研究的一个有趣课题。

Distillation Algorithms

​ 在教师模型和学生模型之间直接匹配响应/基于特征的知识边缘或特征空间的分布。

Adversarial distillation

​ 在知识蒸馏中,教师模型很难从真实的数据分布中完美学习,学生模型也无法很好地模仿教师模型,通过传递教师知识来学习数据的真实分布,因为其容量较小。最近,对抗式学习由于其在生成性网络中的巨大成功而受到越来越多的关注,GANs中的鉴别器估计样本来自训练数据分布的可能性,而生成器试图通过生成的数据样本愚弄鉴别器。受此启发,越来越多的对抗性知识分散方法被提出,以使教师/学生网络更好地理解真实的数据分布。

  1. 对抗性生成器经过训练生成合成数据,该数据可直接用作训练数据集或用于扩充训练数据集。还尝试利用对抗性生成器生成知识转移的硬示例。
  2. 引入鉴别器,通过使用日志或特征将样本与学生和教师模型区分开来。具体而言,使用未标记的数据样本来形成知识转移,并且使用了多个鉴别器。此外使用了有效的中间监督,即挤压知识边缘,以缓解教师和学生之间的能力差距。
  3. 与上述两类不同,教师模型在学生模型的训练过程中是固定的,对抗性知识蒸馏也以在线方式工作,即教师和学生在每一种情况下共同优化。此外,利用知识蒸馏来压缩GAN,一个有学问的小GAN学生网络通过知识转移模仿一个更大的GAN教师网络。
  1. GAN是通过教师知识转移增强学生学习能力的有效工具
  2. GAN和KD的联合可以产生有价值的数据,用于改进KD性能,克服对不可用和不可访问数据的模仿
  3. KD可用于压缩GANs

Multi-teacher distillation

​ 可以单独和完整地使用多个教师网络来进行教学过程中的蒸馏。要从多名教师那里传递知识,最简单的方法是使用所有教师的平均反应作为监督信号

​ 以logits和特征表示作为知识。除了来自所有教师的平均logits外,还进一步纳入了中介人员的特征,以鼓励不同培训样本之间的差异性。为了利用逻辑特征和中间特征,使用了两个教师网络,其中一名教师向学生传授基于反应的知识,另一名教师向学生传授基于特征的知识。在每次迭代中从教师网络库中随机选择一名教师。为了从多个教师那里转移基于特征的知识,在学生网络中增加了额外的教师分支,以模仿教师的中间特征。重生网络以一步一步的方式解决了多个教师的问题,即t step的学生被用作t+1 step学生的老师。为了有效地执行知识传输并探索多台服务器的功能,已经提出了几种替代方法,通过添加不同的噪声或使用随机块和跳跃连接,模拟一名教师的多名教师。由于多教师KD的特殊性,其扩展被用于通过知识适应进行领域适应,并保护数据的竞争性和安全性。

Cross-modal distillation

​ 在跨模态场景中,它可以很容易地实现不同模态之间的知识转移。不同的输入数据模式提供相似或补充信息,而某些模式的数据/标签在培训/测试阶段可能不可用。

​ 给定一个教师模型,该模型在一个模态(例如RGB图像)上预训练,并带有大量注释良好的数据样本,旨在使用新的未标记输入模态(例如深度图像和光流)将知识从教师模型转移到学生模型。具体而言,建议的方法依赖于两种模式上的未标记配对样本,即HRGB和深度图像,然后教师从RGB图像中获得的特征被用作监督来训练学生。成对样本背后的理念是通过成对样本注册传递注释/标签信息,并已广泛用于跨模式应用。为了通过墙壁和遮挡进行人体姿势估计,使用同步无线电信号和摄像机图像,在基于无线电的人体姿势估计模式之间传递知识。来自两种模式(RGBvideos和skeleton sequence)的成对样本用于转移从RGB视频中学习到的知识应用于新的基于骨架的人体动作识别模型。为了仅使用RGB图像来提高动作识别性能,对另一种模式(即深度图像)进行了跨模式辨别,以生成RGB图像模式的幻觉流。进一步介绍了对比损失,以在不同模式之间传递成对关系。

​ 提出了一种基于知识蒸馏的可视化问答方法,将以图像问答为输入的三线性互动教师模型中的知识分解为以图像问答为输入的学习双线性互动学生模型。提出的概率知识蒸馏也被很好地用于从文本模态到视觉模态的知识转移。通过跨模态蒸馏提出了一种模态幻觉架构,以提高检测性能。

Graph-based distillation

​ 大多数知识蒸馏算法侧重于根据每个训练样本将知识从教师传递给学生,而最近提出了几种方法来探索数据内部的关系。主要思想可以概括为:

  1. 利用图作为教学知识的载体
  2. 利用图形控制教师知识的信息传递。

基于图形的知识属于基于关系的知识。在本节中,我们将介绍基于图的知识的典型定义和基于图的消息传递蒸馏算法。

​ 每个顶点代表一个自我监督教师和两个图,然后使用logits和中间特征构造,以将多个自我监督任务中的知识转移到学生模型/任务中。图形用于维持高维空间中样本之间的关系,然后通过建议的位置服务前损失函数进行知识转移。通过多头图考虑了数据关系,其中顶点是CNNs中不同层次的特征。直接传递了数据样本的交互关系,即匹配教师和学生之间的图形边缘。相似矩阵中的相互关系被改变,相似性保留知识通过匹配相似矩阵进行转移。不仅匹配了基于响应和基于特征的知识,还使用了基于图形的知识。实例特征和实例关系分别被建模为图形的顶点和边。

​ 与使用基于图形的知识不同,有几种方法使用图形控制知识转移的过程。考虑了模态差异,以纳入来自源域的专有信息,并引入了一个名为蒸馏图的定向图,以探索不同模态之间的关系,其中每个顶点表示一个模态,边表示一个模态到另一个的连接强度。提出了一种基于双向图形的多元协作学习,以探索不同的知识转移模式。进一步引入GNNs来处理基于图形的知识的知识转移。

Attention-based distillation

​ 由于注意可以很好地反映卷积神经网络的神经元激活,因此在知识蒸馏中使用了一些注意机制来提高学生网络的性能。在这些基于注意力的方法中,不同的注意力转移被定义为将知识从教师网络蒸馏到学生网络的机制。注意转移的核心是定义神经网络各层特征嵌入的注意图。也就是说,关于网络特征嵌入的知识是通过注意图函数传递的。与注意映射不同,通过设计注意机制,对不同的置信度规则进行注意分配,提出了一种注意知识蒸馏方法。

Data-free distillation

​ 为了克服因隐私、合法性、安全性和保密性问题而导致的数据不可用问题,提出了一些无数据KD方法。顾名思义,学生网络的迁移训练数据是不存在的,可以通过不同的方式新生成或综合生成。传输数据由GAN生成。通过使用教师网络的层激活或层光谱激活重建用于训练学生网络的传输数据。不使用现有数据,传输数据是通过从教师网络的参数中建模softmax空间生成的。targetdata是通过使用教师网络特征表示中的信息生成的。与零次学习类似,设计了一种少次学习的知识蒸馏方法,该方法通过高斯过程将教师模型中的知识蒸馏到学生神经网络中,教师使用有限的标记数据。

Quantized distillation

​ 网络量化通过将高精度网络(例如32位浮点)转换为低位网络(例如2位和8位),降低了神经网络的计算复杂性。同时,知识分解的目的是训练小模型,使其产生与复杂模型相似的性能。受此启发,一些量化KD方法通过使用师生框架中的量化过程提出。具体而言,提出了将知识转移到加权量化学生网络的量化蒸馏方法。提出的量化DKD被称为“学徒”,其中高精度网络作为教师,通过知识转移教授低精度网络作为学生。为了使小型学生网络很好地模拟大型教师网络,首先在特征图上对全精度教师网络进行量化,然后将知识从量化教师转移到量化学生网络。量化感知知识蒸馏是通过量化学生网络的自学习和师生网络知识转移的共同学习而提出的。此外,根据知识蒸馏的超参数(包括教师网络的大小和蒸馏温度),使用蒸馏和量化对深度神经网络进行了实证分析。

Lifelong distillation

​ 终身学习包括持续学习、持续学习和元学习,旨在以与人类相似的方式学习。它不仅可以积累以前学到的知识,还可以将学到的知识转化为未来的学习。考虑到知识分散的特点,它可以作为一种有效的方法来保存和转移所学知识,以避免灾难性的后果。

​ 设计了一个元传输网络,可以确定师生ar体系结构中传输的内容和位置。提出了一个称为Leap的轻量级框架,通过在学习过程中传递知识,实现任务流形上的元学习。设计了一种新的用于图像识别的知识转移网络体系结构,该结构同时结合了图像的视觉信息和先验知识。提出了一种用于图像检索的无意识知识保存方法,并保存和传递了来自图像形态和语义信息的教师知识边缘。此外,为了解决长期学习中的灾难性遗忘问题,全球蒸馏、多模型蒸馏、基于知识蒸馏的终身学习方法和其他基于知识蒸馏的方法已开发用于蒸馏所学知识并在新任务上教授学生网络。

NAS-based distillation

​ 神经结构搜索(NAS)是最流行的自动机器学习(AutoML)技术之一,其目的是自动识别深层神经模型,自适应地学习合适的深层神经结构。同时,在知识的蒸馏中,知识转移的成功不仅取决于教师的知识,还取决于学生的结构。然而,大教师模型和小学生模型之间可能存在能力差距,使学生难以从教师的知识中很好地学习。为了解决这个问题,已采用神经架构搜索来在知识蒸馏中找到合适的学生架构,如基于oracle的架构和架构感知知识蒸馏。此外,知识蒸馏还可用于提高神经架构搜索的效率,如AdaNAS、具有蒸馏架构知识的NAS和教师指导的架构搜索或TGSA。在GSA中,每个架构搜索步骤都被引导来模拟教师网络的中间特征表示,在该网络中,结构和候选作品(或学生)被有效地搜索,并且教师有效地监督自然迁移。

Applications

​ 作为一种有效的深层神经网络压缩和加速技术,知识提取已广泛应用于人工智能的各个领域,包括视觉识别、语音识别、自然语言处理(NLP)和推荐系统。此外,知识提取还可用于其他目的,如数据隐私和防御对抗性攻击

KD in Visual Recognition

​ 大多数知识蒸馏方法之前都是为图像分类而开发的,然后扩展到其他视觉识别应用,包括人脸识别,动作识别,对象检测、车道检测、行人检测、视频分类、人脸地标检测、人员重新识别,姿势估计,图像或视频分割,盐度估计,图像重分类,深度估计、目测里程和目视问题回答。

KD in NLP

KD in Speech Recognition

KD in Other Applications

​ 在推荐系统中,如何充分、正确地利用用户评论和产品图片等外部知识进行推荐,对深度推荐模型的有效性起着非常重要的作用。最重要的是,降低深度沟通模型的复杂性和提高效率也是非常必要的。最近,知识蒸馏已成功应用于深部模型压缩和加速的推荐系统。知识提取首次被引入推荐系统,并被称为排名提取,因为推荐是一个排名问题。设计了一种对抗性的知识提取方法,用于高效推荐。在这种推荐系统中,教师作为正确的复习预测网络监督学生的用户项目预测网络(生成器),学生的学习通过教师和学生网络之间的对抗性适应进行调整。设计了一个用于推荐系统的增强型协同去噪自动编码器(ECAE)模型,通过知识蒸馏从用户反馈的生成数据中捕获有用的知识并进行还原。统一的ECAE框架包括一个生成网络、一个再培训网络和一个从生成网络中转移知识和减少噪音的蒸馏层。

​ 利用教师-学生体系结构中知识分散的自然特性,知识蒸馏被用作一种有效的策略,用于解决深度模型的恶意攻击或干扰以及因隐私、证实性和安全问题而无法获得的数据问题。对抗性样本的干扰可以通过教师网络和蒸馏的稳健输出来克服。为了避免暴露直接使用数据的数据隐私,多名教师访问敏感或未标记数据的每个子集,并监督学生。为了解决数据带来的隐私和安全性问题,通过无数据蒸馏使用教师网络的分层操作或分层光谱激活来生成用于培训学生网络的数据。为了保护数据隐私和知识盗版,将学生模型发布在公共数据上,而教师模型发布在敏感和公共数据上。这种私有知识提取采用了隐私损失和bathloss来进一步提高隐私度。为了考虑隐私和性能之间的折衷,开发了一种新的基于分层知识提取的网络压缩方法,每类样本数很少,并取得了显著的性能。当然,知识提炼还有其他特别有趣的应用,如神经架构搜索和深层神经网络的可解释性。

Discussions

Challenges

Future Directions

Conclusion

​ 本文从知识、蒸馏方案、师生体系结构、蒸馏算法、应用以及面临的挑战和未来方向等方面对知识蒸馏进行了全面的综述。我们希望这次全面的回顾不仅能提供知识蒸馏的一个概览,而且能为未来的研究提供一些见解。


文章作者: Handy
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 Handy !
  目录