ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

【论文翻译_2021】Distilling Knowledge via Knowledge Review

2022-02-23 11:02:54  阅读:300  来源: 互联网

标签:教师 via Knowledge 特征 Review 知识 学生 我们 蒸馏


请添加图片描述
(以下的“审查”皆可替换为“复习”)

摘要

知识蒸馏将知识从教师网络转移到学生网络,目的是大大提高学生网络的性能。以往的方法大多侧重于提出同级特征之间的特征转换和损失函数,以提高效率。通过对师生网络连接路径跨层因素的不同研究,揭示了其重要性。首次在知识提取中提出了跨级连接路径。我们的新复习机制有效,结构简单。我们最终设计的嵌套且紧凑的框架所需的计算开销可以忽略不计,并且在各种任务上优于其他方法。我们将我们的方法应用于分类、对象检测和实例分割任务。所有这些都见证了学生网络性能的显著提高。

一、介绍

深度卷积神经网络(CNN)在各种计算机视觉任务中取得了显著的成功。然而,CNN的成功往往伴随着大量的计算和内存消耗,这使得将其应用于资源有限的设备成为一个具有挑战性的话题。已经有了训练快速紧凑的神经网络的技术,包括设计新的结构[10,2,11,26]、网络修剪[20,15,34,4,19]、量化[13]和知识提炼[9,25]。

考虑到知识蒸馏的实用性、效率,以及最重要的潜在实用性,本文重点讨论了知识提炼。它形成了一条非常通用的路线,适用于几乎所有的网络架构,并可以与许多其他策略相结合,如网络修剪和量化[32],以进一步改进网络设计。

文献[9]首次提出了知识蒸馏。这个过程是在一个更大的网络(又称教师)的监督下训练一个小的网络(也称为学生)。在[9]中,知识是通过教师的逻辑进行提炼的,这意味着学生同时受到基本真理标签和教师逻辑的监督。最近,人们努力提高蒸馏效率。FitNet[25]通过中间功能提炼知识。A T[38]进一步优化了FitNet,并使用功能的注意力地图来传递知识。PKT[23]将教师的知识建模为概率分布,而CRD[28]使用对比目标来传递知识。所有这些解决方案都侧重于转换和损失函数。

我们的新发现:我们在本文中从一个新的角度来解决这个具有挑战性的问题,即教师和学生之间的联系路径。为了简单地理解我们的想法,我们首先展示之前的工作是如何处理这些路径的。如图1(a)-(c)所示,之前的所有方法都只使用相同的级别信息来指导学生。例如,在监督学生的第四阶段输出时,始终使用教师的第四阶段信息。这个过程看起来直观且易于构建。但我们有趣地发现,它实际上是整个知识提炼框架中的一个瓶颈——结构的快速更新出乎意料地提高了许多任务的整个系统性能。

我们研究了在知识提炼中设计连接路径的重要性,并提出了一个新的有效框架。关键的修改是使用教师网络中的低级功能来监督学生的深层功能,从而大大提高整体表现。

我们进一步分析了网络结构,发现学生高水平阶段具有从教师低水平特征中学习有用信息的巨大能力。更多分析见第4.4节。这个过程类似于人类的学习曲线[35],在这个曲线中,幼儿只能理解所教知识的一小部分。在成长的过程中,越来越多的过去的知识可能会逐渐被理解和记忆为经验。

我们的知识回顾框架:基于这些发现,我们建议使用教师的多层次信息来指导学生网络的一级学习。我们的新管道如图1(d)所示,我们称之为“知识回顾”。审查机制是使用以前的(较浅的)功能来指导当前功能。这意味着学生必须经常检查之前学习过的内容,以更新对“旧知识”的理解和语境。我们人类研究的一种常见做法是,在一段时间的研究中,将不同阶段所教授的知识联系起来。

然而,如何从教师提供的多层次信息中提取有用的信息,并将其传递给学生,是一个具有开放性和挑战性的问题。为了解决这些问题,我们提出了一个剩余学习框架,使学习过程稳定高效。此外,还设计了一种新的基于注意的融合(ABF)模块和层次上下文丢失(HCL)功能来提高性能。我们提出的框架使学生网络大大提高了学习的有效性。

通过应用这一思想,我们在许多计算机视觉任务中获得了更好的性能。在第二部分中进行了大量实验,展示我们提出的知识审查策略的巨大优势。

主要贡献:
1.我们提出了一种新的知识蒸馏复习机制,利用教师的多层次信息指导学生网络的一级学习。

2.我们提出了一个剩余学习框架,以更好地实现学习过程中的复习机制。

3.为了进一步改进知识评审机制,我们提出了基于注意的融合(ABF)模块和层次上下文丢失(HCL)功能。

4.通过应用我们的蒸馏框架,我们在多个计算机视觉任务中实现了许多紧凑模型的最先进性能。

二、相关工作

文献[9]中提出了知识蒸馏的概念,学生网络从教师提供的真实标签和软标签中学习。FitNet[25]通过一个阶段的中间功能提炼知识。FitNet的想法很简单,学生网络功能通过卷积层转移到教师的相同形状。L2距离用于测量它们之间的距离。

许多方法遵循FitNet,使用单阶段特征提取知识。PKT[23]将教师的知识建模为概率分布,并使用KL散度来测量距离。RKD[22]使用多示例关系来指导学生的学习。CRD[28]将对比学习与知识提炼相结合,并使用对比目标来传递知识。

也有使用多阶段信息传递知识的方法。T[38]使用多层注意力图来传递知识。FSP[36]根据图层特征生成FSP矩阵,并使用该矩阵指导学生。SP[29]进一步改进了T,它使用示例之间的相似性来指导学生,而不是单一输入信息。OFD[8]包含了一个新的距离函数,用于使用marginal ReLU提取教师和学生之间的主要信息。

之前的所有方法都没有讨论“回顾知识”的可能性,但是,我们的工作发现,这对于快速提高系统性能非常有效。

三、我们的方法

我们首先将知识蒸馏过程和复习机制形式化。然后,我们提出了一个新的框架,并引入了基于注意的融合模块和分层上下文丢失函数。

3.1复习机制

给定输入图像X和学生网络S,我们让Ys=S(X)表示学生的输出逻辑。S可以分为不同的部分(S1、S2、…、Sn、Sc),其中Sc是分类器,S1、…、Sn是由下采样层分隔的不同阶段。因此,生成输出Ys的过程可以表示为:
请添加图片描述
我们指的是“◦” 作为函数的嵌套,其中g◦ f(x)=g(f(x))。Ys是学生的输出,中间特征是请添加图片描述。第i个特征计算为:
请添加图片描述

对于教师网络T,过程几乎相同,我们省略了细节。按照前面的符号,单层知识蒸馏可以表示为:
请添加图片描述
其中,M是将特征转换为注意力地图[38]或因素[14]的目标表示的转换。D是距离函数,用于测量师生之间的差距。类似地,多层知识蒸馏被写成:请添加图片描述
其中,I存储了用于传递知识的功能层。

请添加图片描述
图2。(a) 根据审查机制监督一层学生的架构。(b) 从一层直接推广到多层。这个过程很简单,但成本很高。(c) (b)中的架构通过融合模块进行优化,以获得紧凑的框架。(d) 我们以渐进的方式进一步改进了程序,并将重新视觉学习作为最终架构。ABF和HCL的结构如图3所示。这个数字最好用彩色显示。

我们的复习机制是使用以前的功能来指导当前的功能。将带有复习机制的单层知识蒸馏形式化为 请添加图片描述

虽然乍一看,它与多层知识蒸馏有一些相似之处,但实际上是根本不同的。在这里,学生的特征固定在F i s上,我们使用教师的第一个i级特征来指导Fis。审查机制和多层蒸馏是互补的概念。当将审查机制与多层知识提取相结合时,损失函数变为 请添加图片描述
在我们的实验中,在训练过程中,只需将LM-KD-R损耗与原始损耗单独相加,推理结果与原始模型完全相同。所以我们的方法在测试时是完全免费的。我们使用因子λ来平衡蒸馏损失和原始损失。以分类任务为例,将整体损失函数定义为:请添加图片描述

在我们提出的复习机制中,我们只使用教师较浅的特征来监督学生较深的特征。我们发现,相反的结果带来的是边际效益,反而浪费了很多资源。直观的解释是,更深层次、更抽象的特征对于早期学习来说过于复杂。更多分析见第4.4节。

请添加图片描述
图3。(a)ABF的架构。不同层次的学生特征通过注意力地图聚合在一起。(b) HCL的架构。学生和教师的特征被金字塔合并,以提取不同的上下文信息进行提取。

3.2剩余学习框架

在前面的工作之后,我们首先设计一个简单的框架,如图2(a)所示。转换请添加图片描述简单地由卷积层和最近的插值层组成,以转换学生的第i个特征,以匹配教师的第j个特征的大小。我们不将教师特征转换为Ft。学生特征转换为与教师特征相同的大小。

图2(b)显示了直接将该思想应用于多段蒸馏,蒸馏出所有阶段特征。然而,由于各阶段之间存在巨大的信息差异,这种策略并不是最优的。此外,它还产生了一个复杂的过程,使用了所有功能。例如,一个有n个阶段的网络需要计算n(n+1)/2对关于损失函数的特征,这使得学习过程很麻烦,并且需要花费很多资源。

为了使程序更加可行和优雅,我们将图2(b)的公式(6)重新表述为: 请添加图片描述
为了简单起见,省略了特征的变换。现在我们切换i和j的两个求和的顺序:请添加图片描述
当j固定时,等式(9)累加教师特征Fj t和学生特征请添加图片描述之间的距离。通过特征融合[40,16],我们将距离之和近似为融合特征的距离。它会导致 请添加图片描述

其中U是用于融合功能的模块。这种近似如图2(c)所示,其结构现在更加有效。但是,为了提高效率,可以按照图2(d)所示的渐进方式进一步优化融合计算。Fjs、…、Fns的融合通过Fjs和请添加图片描述的组合来计算,其中融合操作递归定义为U(·Fns),应用于连续的特征地图。将请添加图片描述表示为从Fj+1 s到Fns的特征的融合,损失写为:
请添加图片描述

这里我们从n− 1开始循环到1来利用F(j+1,n) s。请添加图片描述。详细结构如图2(d)所示,其中ABF和HCL分别是为该结构设计的融合模块和损失函数。其细节在第3.3节中讨论。

标签:教师,via,Knowledge,特征,Review,知识,学生,我们,蒸馏
来源: https://blog.csdn.net/qq_45128278/article/details/123084463

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有