知识蒸馏论文翻译(6)——FEED: Feature-level Ensemble for Knowledge Distillation

知识蒸馏论文翻译(6)——FEED: Feature-level Ensemble for Knowledge Distillation

FEED:用于知识提炼的特征级集成

文章目录

  • 知识蒸馏论文翻译(6)——FEED: Feature-level Ensemble for Knowledge Distillation
  • 摘要
  • 一、介绍
  • 二、相关工作
  • 三、提出的训练算法
    • 3.1 并行FEED
    • 3.2 连续的FEED
  • 四、实验
    • 4.1 FEED损失的有效性
    • 4.2 FEED并行
    • 4.3 连续FEED
    • 4.4 定性分析
  • 五、讨论
  • 结论


摘要

知识提炼(Knowledge Deservation,KD)旨在通过在培训阶段向学生网络提供教师网络的预测,帮助学生网络更好地推广知识,从而在师生框架中传递知识。它可以使用高能力的教师,也可以使用多个教师的组合。然而,当需要使用基于特征映射的蒸馏方法时,后者并不方便。为了解决这一问题,本文提出了一种通用且功能强大的知识提取特征级集成(FEED)训练算法,该算法旨在利用多个教师网络传递集成知识。我们介绍了两种训练算法,可以在特征图级别将集成知识传递给学生。在基于特征映射的提取方法中,使用多个非线性变换并行传输多个教师的知识,帮助学生找到更广义的解。我们将这种方法命名为并行馈送,在CIFAR-100和ImageNet上的实验结果表明,我们的方法具有明显的性能增强,在测试时没有引入任何额外的参数或计算。我们还展示了将教师信息顺序反馈给学生的实验结果,并讨论了获得的课程。此外,在特征图上测量重建误差的经验结果为增强提供了提示。

一、介绍

卷积神经网络(CNN)最近取得的成功导致了深度学习在现实世界中的应用。为了操作这些深度学习模型,使用多类数据集对深度CNN进行训练,以找到分隔不同类的流形。为了满足这一需求,出现了深度和参数丰富的网络,它们有能力为大量类找到流形。然而,由于深度和复杂性,这些深CNN存在过度拟合问题,这导致测试时性能下降。事实上,即使是应用于CIFAR-100(Krizhevsky、Nair和Hinton)等数据集的一个小的ResNet,也很容易过度拟合收敛的列车损失,而测试精度要低得多。这些现象导致需要学习具有适当正则化的DNN模型,以便更好地进行推广。规范化模型以获得新输入的高性能是自早期机器学习时代以来一直使用的一种技术。

模型集成(Dieterich 2000)是一种流行的正则化方法,它被用来缓解单个模型中的过度拟合问题。然而,它也有缺点,因为它需要多个模型,并且应该在测试时向每个模型提供输入。许多研究提出了将教师知识传授给紧凑型学生的想法(Ba和Caruana 2014;Rusu等人2015;Bucila、Caruana和Niculescu-Mizil 2006;Urban等人2016)。为了解决这个问题,(Hinton、Vinyals和Dean 2015)提出了知识提炼(KD),它使用多个模型的集合或高容量的教师网络的软标签来训练学生网络。他们在语音识别问题上取得了有意义的成果,知识转移已经成为知识转移的代表性方法之一。他们的目标是通过提供专家教师网络的各种形式的知识来提高薄弱学生网络的性能。它也被归类为一个模型压缩家族,因为它可以帮助学生网络在固定数量的参数下实现更高的精度。

最近的知识转移算法大致可以分为两类。*第一个问题是,作为一名教师,是采用整体模式还是单一的高能力模式。第二个问题是教师是否提供预测的标签或来自要素图的信息。*虽然使用教师预测的方法可以使用两种类型的教师,但据我们所知,使用特征图级别信息的方法只能使用单个高容量模型作为教师。例如,对因素转移(FT)(Kim、Park和Kwak 2018)、注意力转移(AT)(Zagoruyko和Komodakis 2016a)和神经元选择性转移(NST)(Huang和Wang 2017)的研究将学生网络设置为一个具有少量参数的浅层网络,并将教师网络设置为一个更深、更强大的网络,而不是一个集成专家。采用高能力教师模式的方法的缺点之一是,可能很难获得高能力模式(兰、朱和龚2018)。

知识蒸馏论文翻译(6)——FEED: Feature-level Ensemble for Knowledge Distillation_第1张图片
图1:我们的问题公式。上图显示了KD是如何使用网络集成作为教师进行培训的。底部的图显示,当我们想要在特征级别直接提取集合信息而不是使用标签信息时,会出现一个问题。

相反,使用网络集成的网络可以传递集成知识,还具有同侪教学框架的优势(Furlanello等人2018年;Hinton、Vinyals和Dean 2015年;Lan、Zhu和Gong 2018年)。此外,(Zhang et al.2017)表明,使用同一类型的网络传输输出级知识可以提高网络的性能。然而,与仅依赖教师输出预测的方法相比,在特征图级别传递知识的方法也具有优势,它们可以向学生提供更具体的信息

为了充分利用集成教师方法和特征图传输方法,我们提出了一个新的框架,在特征图级别提供多个网络的知识(见图1)。在本文中,我们使用与学生网络共享同一体系结构的多个教师来训练一个新的学生网络,名为parallel FEED。我们还探索了一种变体,名为sequential FEED,它递归地训练一名新教师。通过提供经验教训的分析,对其他算法进行了比较。

我们的主要贡献有三个方面:

  • 在各种情况下,我们的经验表明,对于高容量网络,基于特征映射的方法提供了更具体的知识,而基于标签的方法提供了更抽象的知识
  • 我们提出了并行FEED方法,该方法允许多个教师网络在特征映射级别上通过非线性变换进行知识提取
  • 对于定性分析,通过利用自动编码器重建损失,我们为提要的性能增强提供了提示。

论文的结构如下。首先,我们简要介绍了知识提炼领域的相关工作。然后描述了我们提出的主要方法,并提出了一个与其他方法进行比较的变体版本。接下来,我们通过实验验证了我们提出的方法。我们提出的训练方法的实验结果与CIFAR-100上的AT、KD、FT和BAN进行了比较。ImageNet数据集也用于在大规模数据集上检查我们的方法的可行性。定性分析之后进行讨论和总结。

二、相关工作

许多研究人员研究了训练模型的方法,而不是使用纯监督损失。在这些研究的早期,模型压缩(Bucila、Caruana和Niculescu Mizil 2006)研究了在一个网络中压缩集合模型信息的方法。Ba(Ba和Caruana 2014)表明,浅层前馈网络可以通过最小化Logit之间的L2损失来学习以前由深度神经网络学习的复杂函数。最近,Hinton(Hinton、Vinyals和Dean 2015)提出了知识提炼(KD),它使用教师网络中软化的softmax标签,通过最小化以下损失来训练学生网络:
公式1
其中 σ ( ⋅ ) \sigma(\cdot) σ()是softmax函数,T是控制软化logit的温度值。 α \alpha α是控制两项之间权重的超参数。向量s和t分别是学生网络和教师网络的预测输出对数,y是基本真值标签。 L C E L_{CE} LCE是分类问题中常用的交叉熵损失, L K L L_{KL} LKL是Kullback-Leibler散度损失。

这促使研究人员在不同领域开发了许多it变体,许多研究人员研究了更好地教授学生的方法(Frost和Hinton 2017;Pham等人2018;Radosavovic等人2018;Tan等人2018;Tarvainen和V alpola 2017)。我们介绍了一些最近的研究流程,这些流程可能与我们提出的方法有关。

同侪教学框架:最近,许多论文采用了同侪教学框架,教师和学生都使用相同的网络。Geras(Geras et al.2015)试图在两个参数数量几乎相同的网络之间传递知识。BAN(Furlanello et al.2018)表明,对教师和学生使用完全相同的体系结构可以提高学生网络的性能,即使不会软化标签。BAN使用了一个更简单的损失项,但没有像KD那样软化两个logit,甚至没有为这两个项分配权重,如下所示:
公式2
他们反复训练学生,以进一步提高成绩。第n个学生网络成为培训下一个学生网络的第(n+1)个教师网络。更好的教师网络将更好地教育学生网络。

此外,DML(Zhang et al.2017)和ONE(Lan、Zhu和Gong 2018)等研究使用同一种网络对互有损失的对等网络进行在线培训。

基于特征图的知识转移方法:与尝试使用教师网络标签的方法相反,已有研究直接从各种形式的特征图中提取有用信息。

AT(Zagoruyko和Komodakis 2016a)试图将教师网络的注意力图转移到学生网络,并在知识转移和转移学习任务中获得了有意义的结果。他们的损失期限是:
公式3
其中 β \beta β是一个超参数,取决于元素的数量, l l l表示网络中 l t h l^{th} lth的群(Yosinski等人,2014)。 A l t A^t_l Alt A l s A^s_l Als是从教师网络和学生网络获得的注意力图, f ( A ) = ( 1 / N ) ∑ n = 1 N a n 2 f(A)=(1/N)\sum^N_{n=1}a^2_n f(A)=(1/N)n=1Nan2,其中N是通道数, a n a_n an是第n个通道的空间图。

Yim(Yimetal.2017)引入了另一种知识转移技术,用于更快的优化,并将其应用于转移学习。Shen(Shenetal.2019)试图结合从不同领域培训的知识,You(Youetal.2017)利用样本排序的集合来教授学生网络,这非常新颖。Huang(Huang and Wang 2017)试图通过设计损失项MMD(最大平均差异)来匹配学生和教师网络的特征。

《金融时报》(Kim、Park和Kwak 2018)使用了额外的释义和翻译网络,帮助培训学生网络,并获得了有意义的结果。他们的损失条款如下:

知识蒸馏论文翻译(6)——FEED: Feature-level Ensemble for Knowledge Distillation_第2张图片
其中 P ( ⋅ ) P(\cdot) P()是基于自动编码器的释义网络,x是释义者的输入特征映射。 F T F_T FT F S F_S FS分别是释义者和译者的输出。

三、提出的训练算法

在深层CNN中,主要由于维数灾难,位于数据空间上的数据点非常稀疏。例如,CIFAR数据集包含50000个训练图像,有3072个维度,因此每个样本之间的距离非常远。当然,决定划分类别的边界的决策边界是众多的,因为找到适合训练数据集的边界是一项相对容易的任务。即使对具有相同体系结构的网络进行训练,所学的决策边界也不可能相同。这就是为什么集成方法通常比单一模型表现更好,尽管它们的结构相同。Goodfello(Goodfello、Bengio和Courville 2016)还表示,不同的模型不会在测试数据集上产生相同的错误。

考虑确定CNNs训练程序的条件。它们包括CNN的结构和优化器的选择、随机初始化的种子、小批量的序列以及数据扩充的类型。如果其中一个为两个不同的CNN设定相同的条件,则其培训程序将是相同的。然而,我们通常只确定CNN的结构,通常保持其他CNN的随机性。因此,具有相同结构的两个网络肯定不会学习相同的决策边界

此外,Kim(Kim、Park和Kwak 2018)表示,他们解决了两个网络之间的“固有差异”。在固有的差异中,最小化CNN结构的差异有助于更好地学习教师网络的知识。这与BAN(Furlanello et al.2018)的观点有一定的联系,这表明对学生和教师使用相同的架构实际上是有益的。这种动机使我们有机会对现有方法进行修改。在本节中,我们将解释用于提高学生网络性能的功能级集成训练算法,而无需在测试时引入任何额外计算。该方法被称为FEED,是知识提取的特征级集成的缩写。我们提出了pFEED(parallel FEED)作为我们的主要方法,它使用非线性变换层将集成知识提取到学生网络中。我们还介绍了由BAN(Furlanello et al.2018)发起的sFEED(顺序反馈),它通过使用非线性变换来调整顺序训练。FitNet(Romero等人,2014年)和FT(Kim,Park和Kwak,2018年)之前探讨过非线性层的使用,而不是使用简单的距离度量。

3.1 并行FEED

假设在特征图级别提取知识和从多个网络集合中提取知识都有各自的优势,我们希望将这两种方法结合起来。针对这一问题,我们提出了一种名为pFEED的训练结构,用于在特征映射级别传递集成知识。让我们将教师网络的数量表示为N。我们为每个教师使用不同的非线性转换层,这意味着如果有N名教师,则有N个不同的非线性层。学生网络的最终特征映射被输入到非线性层中,其输出被训练成模仿教师网络的最终特征映射。通过这种方式,我们同时利用了集成模型和基于特征的方法。我们的方法如图2所示。如果我们使用N名不同的教师,损失术语如下:
公式6
知识蒸馏论文翻译(6)——FEED: Feature-level Ensemble for Knowledge Distillation_第3张图片
图2:我们提出的方法的图解,平行馈送。NTL是非线性转换层的缩写,每个教师网络分配一个NTL。所有教师网络在培训期间都是固定的,学生网络和NTL网络同时接受培训。

公式7
这里, L C E L_{CE} LCE是交叉熵损失, y y y是基本真值标签, s s s是预测的logit, σ ( ⋅ ) \sigma(\cdot) σ()表示softmax函数。如果 L F E E D R L_{FEED_R} LFEEDR是来自第n个教师网络的反馈损耗, x n T x^T_n xnT是来自第n个教师网络的输出特征映射, x S x^S xS是来自学生网络的输出特征映射。 N T L N ( ⋅ ) NTL_N(\cdot) NTLN()是第N个非线性转换层,用于使学生适应第N个教师网络。每个 N T L N ( ⋅ ) NTL_N(\cdot) NTLN()由三个核心大小为3的卷积层组成,以扩大感受野的大小,从而使学生可以灵活地合并从不同老师那里获得的知识。特征映射按其自身大小进行规范化,如(7)所示。该归一化项之前在T中使用。 β \beta β用于缩放距离 L 1 L_1 L1损失,以匹配 L C E L_{CE} LCE的缩放,如T中所述。

3.2 连续的FEED

BAN(Furlanello等人,2018年)使用了交叉熵损失和KD损失相结合的方法,但没有软化softmax逻辑。他们使用一个经过培训的学生网络作为新教师,用来培训一个新学生,并递归地进行培训。我们利用递归使用同一类型网络的这种架构优势,因为它是一种适合积累和组装知识的模型。通过多次递归地执行知识转移,它还可以集成多个训练序列的知识。我们递归地应用FEED,并将这个框架命名为sFEED(sequential FEED)。sFEED的培训过程如图3所示。
如果学生网络是独立训练的,它的表现将与教师网络类似。然而,从知识集成的角度来看,由于教师网络提供了不同于学生网络的特征级知识,学生网络将从中受益。

知识蒸馏论文翻译(6)——FEED: Feature-level Ensemble for Knowledge Distillation_第4张图片
图3:顺序馈送。我们调整了教师网络和学生网络具有相同架构的禁令设置。经过培训的学生网络被用作下一阶段的教师网络。点意味着我们重复这个过程。

四、实验

首先,我们想通过实验简要说明,对输出特征映射使用非线性变换和距离度量有助于教学学生网络,而不仅仅是使用没有任何适应层的简单距离度量。接下来,我们将报告pFEED的分数,它使用多对非线性转换层与每个教师网络,并将我们的分数与类似设置下的KD和AT进行比较。最后,将sFEED与FT、KD和BAN进行比较。这些算法将按照禁令的顺序训练计划进行试验。

我们展示了在CIFAR-100(Krizhevsky、Nair和Hinton)上的分类结果,其中许多网络的测试精度低于训练精度,许多研究对其进行了实验,以显示其正则化能力。在这个数据集上,我们的结果与基于特征图的方法和基于标签的方法进行了比较。其次,我们在Imagenet(Russakovsky et al.2015)上探索了我们算法的可行性,这是一个常用的大型数据集,并对结果进行了定量分析。在剩下的部分中,我们将对我们的算法进行一些分析。实施细节见补充材料。

我们选择了三种类型的CNN来检查我们的算法在CIFAR-100上的适用性:ResNet(他等人2016年)、Wide ResNet(Zagoruyko和Komodakis 2016b)、和ResNext(谢等人2017年)。对于ResNet,我们选择了ResNet-56和ResNet-110,与最近的CNN相比,它们的参数数量较少。WRN28-10是一个控制加宽因子的模型,具有更多的参数。在(Zagoruyko和Komodakis 2016b)报告的WRN中,WRN28-10在CIFAR-100上实现了最好的分类精度。ResNext2916x64d在CIFAR-100上也达到了最佳分类精度(Xie等人,2017年)。这种类型的CNN控制CNN的基数,与其他模型相比,它有更多的参数。对于ImageNet,我们使用ResNet34来确认我们的方法在大规模数据集上的可行性。

4.1 FEED损失的有效性

我们使用我们的反馈损失和其他两种损失项(AT和简单 L 1 L_1 L1损失)来比较分类结果,以在特征图级别对学生进行训练。结果如表1所示。 L 1 L_1 L1意味着我们只需在最终的特征映射中使用 L 1 L_1 L1损失。使用从特征图中获得的注意力图来提供信息。从这些结果中,我们可以看出,使用非线性变换层有助于在特征地图级别传递信息。有趣的是,AT和 L 1 L_1 L1在ResNext2916x64d模型中胜过了单一馈源模型。

4.2 FEED并行

在我们的主要实验pFEED上的这个实验中,我们使用了之前实验中使用的相同类型的网络。对于所有四种类型的CNN,我们将分类结果与KD的结果进行了比较,因为我们设计的训练算法旨在从多个教师中提取更多类似集合的知识。我们还通过实验证明,基于特征图的知识转移方法不容易充分利用多个教师网络。通过简单地为每个教师网络添加相同的损失项,我们调整了AT以使用多个教师。我们没有改变每个损失项权重的 β \beta β值,类似于pFEED。

结果见表2。“Scratch”列显示了基本网络的性能,这些网络在KD中用于模型集成,也在pFEED和AT中用作教师。在所有实验中,pFEED始终比KD和AT获得更高的精度,并产生与网络集成最接近的结果。

与KD的比较:值得注意的是,对于小型网络,KD的性能几乎相当于pFEED,但对于参数数量较大的网络,pFEED的精度比KD更高。这一结果符合这样的假设,即在特征图级别进行提取将为学生提供更详细的信息。相比之下,KD适用于小型网络,因为它提供了相当抽象的集合标签。这些标签对于小型网络非常有用,这些网络应该关注关键信息以提高准确性。

与基于特征图的方法的比较:比较表2和表1的结果。从 L 1 L_1 L1和AT的分数可以看出,与使用单一教师网络的情况相比,使用这些方法的多名教师并没有产生有意义的差异。这是我们陈述的一个例子,即现有的基于特征图的知识转移方法不容易充分利用多个教师来提高单个学生网络的性能。

ImageNet的pFEED结果见表3。我们也可以在ImageNet数据集上找到一些精度改进,但没有足够的资源来训练具有更大参数的模型,也无法在更大的模型或其他方法上进行实验。虽然我们报告了五个scratch模型的分数,但只有前三个教师网络用于培训学生。我们可以得到不错的结果,但有趣的是,改进并不像ImageNet上的sFEED那样强大,这些改进将在后面展示。

4.3 连续FEED

本节包含在小容量和大容量网络中试验的4种方法(FT、KD、BAN和sFEED)的结果。请注意,pFEED是我们为获得良好性能而提出的主要方法,本小节的目的是进一步深入研究每种方法,以推测每种方法的特点和差异。不同方法对CIFAR-100的分类结果见表4。表4中的单词“Stack”是学生模型训练的递归数。我们只进行了5次实验,因为与基线模型相比,所有这些模型都达到了相当好的精度。我们报告了sFEED的性能,因为它的框架与BANs更相似,尽管我们主要提出的方法pFEED的性能优于sFEED。在(Furlanello等人,2018年)中,BAN-N的设置与Stack-(N-1)的设置相同。此外,我们还对结构相同的教师和学生网络进行了实验。《金融时报》基本上使用了一个大型教师网络,其中有一个释义者,被训练成一个自动编码器。它被训练以无监督的方式从教师网络中提取关键信息,称为“因子”,因此它提供了更多的抽象信息。

基于标签的方法和基于特征图的方法的比较:对于较小的网络,如ResNet-56和ResNet 110,使用标签的方法比基于特征图的方法表现得更好,但对于较大的网络,基于特征图的方法显示出更高的精度。与sFEED相比,FT使用了更多的抽象知识(使用解释器),因此在更大的网络中,它的性能不如sFEED。然而,对于较小规模的网络,它的性能更好。与BAN相比,KD使用了更抽象的知识,因为KD软化了标签,并且在较小的网络中实现了更高的准确性,但BAN在接下来的比赛中比ResNext表现出了更好的准确性。
ImageNet的sFEED结果见表5。对于基础模型,我们只需使用Pytork提供的预训练模型,就可以实现期望的结果,即在每个堆栈上提高Top-1和Top-5精度的性能。与pFEED相比,带有Stack-5的sFEED实现了更好的性能。表3中仅由三名教师培训的pFEED的性能与Stack-3的sFEED的性能接近,这是一个合理的比较。

ImageNet的sFEED结果见表5。对于基础模型,我们只需使用Pytork提供的预训练模型,就可以实现期望的结果,即在每个堆栈上提高Top-1和Top-5精度的性能。与pFEED相比,带有Stack-5的sFEED实现了更好的性能。表3中仅由三名教师培训的pFEED的性能与Stack-3的sFEED的性能接近,这是一个合理的比较。
知识蒸馏论文翻译(6)——FEED: Feature-level Ensemble for Knowledge Distillation_第5张图片
表2:CIFAR-100数据集上的测试分类错误(%)。所有其他方法都是我们的复制品。在5xL1、5xA T和5xFT列中,我们分别使用五个L1、A T和FT损耗来训练一名学生。Ens列的分数是5个划痕模型的标签集合的性能。我们对pFEED进行了5次训练,并对结果取平均值。

知识蒸馏论文翻译(6)——FEED: Feature-level Ensemble for Knowledge Distillation_第6张图片
表3:Imagenet数据集上pFEED的V验证分类错误(%)

知识蒸馏论文翻译(6)——FEED: Feature-level Ensemble for Knowledge Distillation_第7张图片
图4:ResNet-56和sFEED的释义重建损失Lrec(培训)

知识蒸馏论文翻译(6)——FEED: Feature-level Ensemble for Knowledge Distillation_第8张图片
图5:带pFEED的ResNet-56的释义重建损失Lrec(培训)

4.4 定性分析

重建损失:假设前面表格中显示的精度提高的原因是学生学习了包含高复杂性信息的集成知识。但人们如何才能真正区分网络是否学习到复杂的信息呢?在这里,我们采用了FT中的释义器。FT中的释义器是卷积自动编码器,因为它使用卷积和转置卷积层,具有重建损失。然后该因子可以解释为一个潜在向量z。

让我们将释义器的输入表示为x。特征表示复杂性的增加相当于x复杂性的增加。因为释义器中的参数数量是固定的,所以z的大小也应该是固定的。因此,随着x的复杂性增加, p ( x ∣ z ) p(x|z) p(xz)减小,导致重建损失增加。在(Boutsidis、Mahoney和Drineas 2008;Farahat、Ghodsi和Kamel 2011;Li、Tang和Liu 2017;Masaeli等人2010)中,重建误差被用作特征选择或PCA的标准,他们使用线性模型。在我们的实验中,我们使用由卷积层和非线性激活组成的任意自动编码器。
知识蒸馏论文翻译(6)——FEED: Feature-level Ensemble for Knowledge Distillation_第9张图片
表4:CIFAR-100数据集上sFEED的测试分类错误(%)。该模型在Scratch列上的分数与他们原始论文中报告的分数相同,
知识蒸馏论文翻译(6)——FEED: Feature-level Ensemble for Knowledge Distillation_第10张图片
表5:V Imagenet数据集上sFEED的验证分类错误(%)。模型在Scratch
列上的分数与Pytorch实现上报告的分数相同。

对于sFEED和pFEED,我们记录了ResNet-56解释器的平均训练重建损失,根据解释器的大小进行标准化,并在图4和图5上绘制了曲线(尽管我们实际上没有在FEED训练中使用解释器)。在图4中,St1到St4是根据表4中的Scratch(St1)到Stack-4(St4)的学生网络训练的释义者。图5中的释义者基于一个scratch教师网络和表2中pFEED和KD的学生网络进行培训。正如预期的那样,随着知识的转移,重建损失变得更大,这表明学生网络学习了更多困难的知识,从而提高了分类器的精度。这一趋势与表格上的结果相符。在图4中,重建损失的趋势与sFEED表4中ResNet-56行的精度趋势相互匹配。(尤其是堆栈2和堆栈3有相似的错误,同样,St2和St3也有相似的错误)。图5中“Scratch”和“pFEED”之间重建损失的巨大差异也对应于表2中ResNet-56行的高性能增加。

一个更好的教师网络将学习更复杂、更详细的特征,因为它必须包含从每个图像中区分重要但不同细节的能力,以形成更好的决策边界。值得注意的是,KD和pFEED的曲线显示出相反的方面,尽管它们都成功地提高了性能。在这里,我们的假设也成立:首先,用多个教师的特征图训练学生将有助于学生学习详细的特征。其次,教师的标签是抽象信息,但有助于学生学习关键信息。因此,图5中KD的趋势与pFEED相反。其他类型网络的曲线也显示出一致的方向,补充材料中处理了更多示例。

五、讨论

pFEED部分实验表明,为每个教师网络分配非线性变换可以从多个教师中提取集成知识。另一方面,直接模仿注意力地图的T无法从多个教师网络中学习。与KD相比,pFEED的误差更接近实际的模型集合,尤其是对于高容量的模型。接下来,第节中的实验将sFEED与FT、KD和BAN进行比较。结果为根据网络类型选择有用的算法提供了经验。从教师网络中提取关键信息的FT在较小网络中的性能优于顺序馈送,而在较大网络中的性能较差。KD和BAN使用了更抽象的标签,对于较小的网络,它们的性能优于顺序馈送。然而,结果表明,具有非线性转换层的sFEED对于容量更大的网络更有用。虽然不是绝对的,但如果想要使用蒸馏对更小的网络进行模型压缩,寻找使用抽象信息(如标签)的网络将是有益的。如果想要在需要更高性能的地方使用蒸馏来获得高性能,那么可以提供更详细信息的蒸馏方法可能会很有用。

对重建误差的分析(我们使用了FT的解释)将有助于判断网络是否紧密地了解了其特征。最后,由于我们没有积极地为非线性变换寻找更好的选项,因此可能存在更好的选择。

结论

在这项工作中,我们提出了两种新的网络训练算法,称为知识提取的特征级集成(FEED)。通过FEED,我们可以尝试将特征映射级别的集成知识注入到学生网络中,从而提高网络的性能。第一种是并行FEED,它使用多个教师同时训练学生网络。第二种是顺序反馈递归地训练学生网络,并逐步提高性能。重建损失的定性分析给出了精度提高的原因。主要缺点是需要多个教师的培训时间,这是任何集成方法的固有特征,而pFEED通过同时向多个教师提供输入而造成瓶颈。但是,它不影响推理,这是有益的,在测试时间内没有权衡。我们未来的工作将是设计一种更高效的方法,并将其应用于除分类任务以外的其他领域。


你可能感兴趣的:(知识蒸馏,深度学习)