知识蒸馏论文翻译(11)—— Knowledge Transfer via Dense Cross-Layer Mutual-Distillation

知识蒸馏论文翻译(11)—— Knowledge Transfer via Dense Cross-Layer Mutual-Distillation

通过密集跨层相互蒸馏实现知识转移


摘要

基于知识蒸馏(KD)的方法采用单向知识转移(KT)方案,在该方案中,由预先训练的高容量教师网络来指导低容量学生网络的训练。最近,深度相互学习(DML)提出了一种双向KT策略,表明学生网络也有助于改善教师网络。在本文中,我们提出了密集跨层相互蒸馏(DCM),这是一种改进的双向KT方法,其中教师和学生网络从头开始协同训练。

为了增强知识表示学习,在教师和学生网络的某些隐藏层中添加了精心设计的辅助分类器。为了提高KT性能,我们在附加分类器的层之间引入了密集的双向KD操作。在训练之后,所有辅助分类器都被丢弃,因此没有额外的参数被引入最终模型。我们在各种KT任务上测试了我们的方法,显示了它相对于相关方法的优势。代码可在https://github.com/sundw2014/DCM.


一、介绍

近年来,深度卷积神经网络(CNNs)在许多计算机视觉任务中取得了显著的成功,如图像分类[24]、对象检测[9]和语义分割[32]。然而,随着CNN架构设计的快速发展,性能最好的模型[40,44,13,52,19,48,17]也带来了密集的内存、计算和电源成本,这限制了它们在实际应用中的使用,尤其是在资源受限的设备上。

为了解决这一困境,知识转移(KT)在现有的研究工作中引起了极大的关注[43]。KT通常被视为将学习到的信息从一个神经网络模型转移到另一个网络模型的问题。在[5]中首次尝试使用KT来处理模型压缩,其中Bucil a等人使用在小的注释数据集上训练的神经网络集合来标记更大的未标记数据集。通过这样做,可以使用更多的标记样本来训练更小、更快的神经网络,因此最终的模型可以比仅在原始小数据集上训练的模型具有更好的性能。[2] 将这个想法扩展到训练一个更浅、更宽的神经网络。Hinton等人通过引入众所周知的知识蒸馏(KD)[14]方法,采用师生框架,推进知识转移研究。在KD中,通过预先训练的高容量教师网络以及一个热点事实标签,强制使用低容量学生网络来模拟概率输出。当然,教师也可以是多个模型的集合。从那时起,人们提出了许多KD变体[37,51,28,53,21,42,45],主要集中在使用教师网络中间层的特征图或注意力图作为改进KD设计的额外提示。在[14]之后,这些方法采用了相同的师生框架,在该框架中,教师网络是预先训练的,并在假设它总是比学生网络学习更好的表示的情况下固定。因此,他们都使用了单向KT策略,即知识只能从教师网络转移到学生网络。最近,提出了深度互学习(DML)[57],它通过强大的双向KT设计实现了卓越的性能,表明教师和学生网络最后一层的概率输出可以对彼此有益。

请添加图片描述
图1。拟议方法的结构概述。例如,辅助分类器被添加到每个网络的两个隐藏层,在训练后被移除。绿色/红色箭头表示两个网络的相同阶段/不同阶段层之间的双向知识提取操作。最佳彩色观看。

在本文中,我们将重点限制在从促进知识表示学习和迁移设计的角度推进双向KT研究。密集跨层相互蒸馏(DCM)是本文的主要贡献,它是一种改进的双向KT方法,能够从头开始协同训练教师和学生网络。图1显示了DCM的结构概述。根据深度监督方法[27,44,18,42],我们首先将精心设计的辅助分类器添加到教师和学生网络的某些隐藏层,使DCM不仅可以从最后一层,还可以从每个网络的隐藏层捕获概率预测。

据我们所知,深度监督设计在知识转移领域被忽视了。此外,我们提出了密集的跨层双向KD操作,以规范教师和学生网络的联合训练。一方面,知识在相同阶段的监督层之间相互转移。另一方面,我们发现不同阶段监督层之间的双向KD操作可以进一步提高KT性能,这要归功于精心设计的辅助分类器,它缓解了在两个网络的不同阶段层学习的知识的语义差距。注意,由于所有辅助分类器在训练后都被丢弃,因此没有向最终模型添加额外的参数。实验是在具有各种KT设置的图像分类数据集上进行的。结果表明,我们的方法以显著的优势优于相关方法,验证了将知识表示学习与双向KT设计联系起来的重要性。

二、相关工作

在本节中,我们简要总结了与我们的方法相关的现有工作。

知识蒸馏应用 Knowledge Distillation Applications:尽管基于KD的方法主要被提出用于模型压缩[14,37,51,28,53,21,45,26],但最近有许多尝试将其扩展到其他任务。两个具有代表性的例子是终身学习和多模态视觉识别。在终身学习任务中,KD和其他技术(如微调和回顾)相结合,旨在使预先训练的模型适应新任务,同时保留从旧任务中获得的知识[30,15,54]。在设计和训练专门用于动作识别[8]、人物重新识别[11]、深度估计和场景解析[10,50]的多流网络时,使用跨模态蒸馏来促进在不同数据源(如RGB和深度)上训练的网络分支之间的知识转移。其他KD扩展包括但不限于高效的网络设计[6,47]、风格转移[29]、机器翻译[22,1]和多任务学习[25]。我们的方法在任务和公式上与这些方法不同。

联合训练 Co-Training:Blum和Mitchell提出了一个开创性的联合训练框架[4],其中首先在标记数据的两个视图中的每一个上分别训练两个模型,然后使用更多的未标记样本以及每个训练模型的预测来扩大训练数据的大小。最近,人们提出了几种深度联合训练方案,大多遵循半监督学习范式。[36]通过提出一种深度对抗性联合训练方法扩展了[4]的思想,该方法使用对抗性样本来防止在不同视图上训练的多个神经网络相互崩溃。[3] 提出了一种合作学习机制,在该机制中,处理同一视觉识别任务的两个代理可以将其在不同数据源上学习的当前知识相互转移。[12] 利用双重协同训练机制解决了多任务机器翻译问题。[41]考虑了同一网络的几个分类器头的联合训练。与这些方法不同,我们旨在改进监督图像分类任务的双向知识转移设计。

深度监督 Deep Supervision:深度监督的基本思想是在深度CNN架构的隐藏层中添加额外的分类器,这些分类器将在训练后删除。最初在[44,27]中提出,在设计和训练用于图像识别任务的深层细胞神经网络时解决收敛问题。从那时起,它被广泛用于训练深度CNN架构,该架构专门设计用于处理其他视觉识别任务,如边缘检测[49]、对象检测[31,20]、语义分割[59,58]、人体姿态估计[33,7]和随时识别[18,35]。在本文中,我们扩展了深度监督的思想,以促进知识双向转移的研究。

三、方法

在本节中,我们详细介绍了我们的方法的制定和实施。

3.1 KD and DML

我们首先回顾了知识提取(KD)[14]和深度互学习(DML)[57]的公式。为了简单起见,我们遵循师生框架,只考虑一个非常基本的情况,即存在一个单一的教师网络和一个单独的学生网络。给定从 M M M个图像类收集的 N N N个样本的训练数据 X = { x n } n = 1 N X=\{x_n\}^N_{n=1} X{xn}n=1N,则基本事实标签表示为 Y = { y n } n = 1 N Y=\{y_n\}^N_{n=1} Y{yn}n=1N W t W_t Wt是预先训练并固定的教师网络, W s W_s Ws是学生网络。在KD中,通过最小化来训练学生网络 W s W_s Ws
请添加图片描述
其中, L c L_c Lc是学生网络的预测和 one-hot ground-truth 标签之间的分类损失, L k d L_{kd} Lkd是蒸馏损失, λ λ λ是平衡这两个损失项的系数。在[14]中, L k d L_{kd} Lkd定义为
请添加图片描述
给定训练样本 x n x_n xn,其图像类别m的概率计算为:
请添加图片描述
其中 z n m z^m_n znm是从神经网络的最后一层(即默认分类器)获得的图像类别m的输出logit, T T T是用于软化概率输出的温度。由等式2定义的蒸馏损失可以被认为是使用预先训练的教师网络的概率输出作为软标签而不是 one-hot ground-truth 标签的修改的交叉熵损失。

现在很明显,KD鼓励学生网络通过单向知识转移(KT)方案来匹配预先训练的教师模型的概率输出。基于KD的方法的两个关键因素是:知识的重新表示和知识转移策略。DML通过提出双向KT策略来考虑后一种策略,其中来自教师和学生网络的概率输出可以用来指导彼此的训练。DML可以被视为一种双向KD方法,通过交错优化两个目标来联合训练教师和学生网络:请添加图片描述
这里, λ λ λ被设置为 1 1 1并且是固定的[57]。至于蒸馏损失 L d m l L_{dml} Ldml的定义,而不是使用等式2,DML使用Kullback-Leibler散度:
请添加图片描述
P ^ m ( x n ) \hat{P}^m(x_n) P^m(xn)在KD中得到的是相同的。从梯度计算的角度来看,KL散度相当于交叉熵。与包含两个独立训练阶段的KD不同,DML可以以端到端的方式联合训练教师和学生网络,并显示出更好的性能。这要归功于双向KT战略。然而,DML尚未探索网络隐藏层中包含的信息。此外,DML还没有研究将更有效的知识表示学习与双向KT设计联系起来的问题。

3.2 稠密跨层相互蒸馏 Dense Cross-layer Mutual-distillation

我们的DCM通过共同解决上述两个问题来促进DML。

深度监督下的知识表征学习。理想情况下,知识应该包含由网络学习的丰富和互补的信息,并且可以容易地被其他网络理解。回想一下,许多KD变体[37,51,28,53,21,46]已经验证了在使用单向KT方案的前提下,在预先训练的教师网络的隐藏层提取的特征图或注意力图有利于改善学生网络的训练。作为一种双向KT方法,我们的DCM没有使用以无监督方式提取的中间特征图或注意力图作为附加知识,而是将相关的辅助分类器添加到教师和学生网络的某些隐藏层,不仅从最后一层,而且从每个网络的隐藏层聚合概率知识。这也受到了深度监督方法[44,27]的启发,该方法在知识转移研究中被忽视。正如我们的实验和[18,58,35,42]所示,即使在现代CNN的隐藏层中添加精心设计的辅助分类器,也只能带来边际或根本没有准确性的提高。这促使我们提出一个更详细的双向KT战略。

跨层双向KD Cross-layer bidirectional KD。通过默认和精心设计的辅助分类器,在教师和学生网络的最后一层和隐藏层学习到的丰富的概率输出可以在联合训练期间动态聚合。此外,这些概率输出在相同的语义空间中,因此我们的DCM引入了密集的跨层双向KD操作来促进双向KT过程,如图1所示。

构想 Formulation。在下文中,我们详细介绍了DCM的配方。我们遵循上一小节中的注释。设 Q = ( t k , s k ) k = 1 K Q={(t_k,s_k)}^K_{k=1} Q(tksk)k1K是包含教师网络Wt和学生网络Ws的K对相同分级层索引的集合,指示添加辅助分类器的位置。设 ( t K + 1 , s K + 1 ) (t_{K+1},s_{K+1}) (tK+1sK+1) W t W_t Wt W s W_s Ws的最后一层索引,指示默认分类器的位置。DCM同时使以下两个目标最小化:
请添加图片描述其中 L s / L t L_s/L_t Ls/Lt是学生/教师网络的损失。在本文中,我们将 α α α β β β γ γ γ T T T设置为 1 1 1,并由于易于实现和令人满意的结果而将它们保持固定(事实上,我们尝试了对这些参数进行繁琐的手动调整,但与这种统一设置相比,只获得了边际的额外增益)。请注意,教师网络和学生网络具有相同的损失定义。为了简单起见,我们以 L s L_s Ls为参考,并在下面的描述中详细说明其定义。在 L s L_s Ls中, L c L_c Lc表示默认损失,与KD和DML中的默认损失相同。 L d s L_{ds} Lds表示添加到学生网络的不同阶段层的所有辅助分类器上的总交叉熵损失,其计算为:
请添加图片描述
L d c m 1 L_{dcm1} Ldcm1表示相同阶段的双向KD操作的总损失,其定义为:
请添加图片描述
L d c m 2 L_{dcm2} Ldcm2表示不同阶段双向KD操作的总损失,其定义为:
请添加图片描述
在等式8和等式9中,用等式2定义的修正交叉熵损失来计算 L k d L_{kd} Lkd。它匹配教师和学生网络中任何一对监督层的概率输出。根据以上定义,可以看出:双向KD操作不仅在教师和学生网络的相同阶段监督层之间执行,而且在不同阶段监督层间执行。得益于精心设计的辅助分类器,这两种类型的跨层双向KD运算在实验中得到了验证。实现密集的跨层双向KD操作类似于针对同一任务的两个网络之间的动态知识协同过程。我们的DCM的训练算法在算法1中进行了总结。

请添加图片描述连接DML和KD Connections to DML and KD。无论选择测量函数(Eq.2或Eq.5)来匹配概率输出,在 Q = ∅ Q=∅ Q=的情况下,意味着监督只添加到教师和学生网络的最后一层,DCM变成DML。在 Q = ∅ Q=∅ Q= L t L_t Lt冻结的极端情况下,DCM变为KD。因此,DML和KD是扩张型心肌病的两种特殊情况。与KD和DML一样,DCM可以很容易地扩展到处理有两个以上神经网络的更复杂的训练场景。一旦分布式系统可用于培训,我们就把这一部分留给未来的研究。

设置Q Setting of Q。在DCM中,形成要连接的跨层双向KD对取决于如何设置Q。设置Q需要考虑两个基本问题:(1)辅助分类器放在哪里?(2) 如何设计它们的结构?现代细胞神经网络采用类似的分层结构,由具有不同数量构建块的几个阶段组成,其中每个阶段都有一个下采样层。有鉴于此,对于第一个问题,我们使用了一个实用的原理,仅将辅助分类器添加到骨干网络的下采样层[18,58,35,42]。现有工作[18,42]表明,简单的辅助分类器通常会恶化现代细胞神经网络的训练,因为它们没有收敛问题。受他们的启发,对于第二个问题,我们使用启发式原理,使从输入到所有辅助分类器的路径具有与骨干网络相同数量的下采样层,并使用骨干的构建块来构建具有不同数量的构建块和卷积滤波器的辅助分类器。最后,在DCM中,我们在添加了辅助分类器的所有层之间启用密集的双向KDs。尽管上述设置可能不是最好的,但正如我们的实验所验证的那样,它在许多细胞神经网络上易于实现并获得满意的结果。

四、实验

在本节中,我们描述了为评估DCM性能而进行的实验。我们首先将DCM与DML[57]进行比较,这与我们的方法密切相关。然后,我们为DCM的深入分析提供了更全面的比较。所有方法都是用PyTorch[34]实现的。为了进行公平的比较,所有方法的实验都是在数据预处理方法、批量大小、训练时期数量、学习率计划和其他超参数完全相同的设置下进行的。

4.1 Experiments on CIF AR-100

首先,我们在具有各种知识转移设置的CIF AR-100数据集上进行实验。

CIF AR-100数据集。它包含50000个训练样本和10000个测试样本,其中样本是从100个对象类别中收集的32×32个彩色图像[23]。我们使用与[13,57]中相同的数据预处理方法。对于训练,图像两侧用4个像素填充,并从填充的图像及其水平翻转中随机采样32×32个裁剪,最终用每通道平均值和std值对其进行归一化。为了进行评估,使用原始尺寸的测试图像。

实施细节。我们考虑了4种最先进的CNN架构,包括:(1)深度为110/164的ResNets[13];(2) 密度网[19],深度为40,生长速率为12;(3) WRN[52],深度为28,加宽系数为4/10;(4) 如[57]中所使用的MobileNet[16]。我们使用作者发布的代码来训练每个CNN骨干。在实验中,我们考虑了两种训练场景:(1)具有相同骨干的两个细胞神经网络(例如,WRN-28-10和WRN-128-10);(2) 具有不同主链的两个细胞神经网络(例如,WRN-28-10和ResNet-110)。在第一个训练场景中,对于ResNets、DenseNet和WRN,我们使用与原始论文[13,19,52]中报道的相同设置。对于MobileNet,我们使用与ResNets相同的设置,遵循DML[57]。在第二个训练场景中,我们使用具有更好容量的网络的训练设置来训练两个网络。在我们的方法中,我们将两个辅助分类器附加到每个CNN主干的不同阶段层。具体来说,我们在具有下采样层的相应构建块之后添加每个辅助分类器。所有辅助分类器都具有与骨干网络相同的构建块、全局平均池化层和完全连接层。不同之处在于构建块的数量和卷积滤波器的数量。辅助分类器和训练超参数设置的详细设计在补充材料中提供。对于每个联合训练案例,我们将每个方法运行5次,并报告“平均(std)”错误率。根据GPU内存需求,所有模型都在使用1/2 GPU的服务器上进行训练。

第一个训练场景。训练具有相同骨干的两个模型的结果如表1的第一部分所示,从中我们可以发现:(1)与独立训练方法相比,DML和DCM都明显提高了模型性能;(2) 一般来说,DCM的性能要好于DML。以具有更好平均精度的模型集为例,用DCM训练的ResNet-164、WRN-28-10和DenseNet-40-12模型分别比用DML训练的模型显示出1.12%、1.28%和0.80%的平均裕度;(3) DCM相对于DML的精度增益呈现出一种趋势:网络容量越高,精度增益越大。

第二种训练场景。表1的第二部分提供了使用不同骨干训练两个模型的结果,从中我们可以做出与第一个训练场景类似的观察结果。此外,我们可以发现另一个关键的观察结果:具有不同容量的两个网络具有不同的精度提高。相比之下,较低容量的ResNet110/MobileNet/WRN-28-4可以从DML和DCM的高容量WRN-28-10中受益更多,并且DCM的相应精度提高变得更大。例如,用DCM训练的WRN-28-4/MobileNet模型显示出18.76%/21.43%的平均错误率,比DML模型高出1.45%/2.48%的幅度。

上述实验清楚地验证了我们方法的有效性。图2显示了在用三种不同方法联合训练两个WRN-28-10的不同阶段的测试曲线的说明性比较。

表1。CIF AR-100数据集的结果比较。WRN-28-10(+)表示用辍学训练的模型。粗体的结果显示了DCM与DML相比的准确度。在本文中,对于CIF AR-100数据集上的每个联合训练案例,我们运行每种方法5次,并报告“平均值(std)”前1错误率(%)。所有方法的结果都是在完全相同的训练超参数下获得的,与原始论文[13,19,52,57]中报道的数字相比,我们的CNN基线大多具有更好的准确性。
请添加图片描述
请添加图片描述
*图2。联合训练两个WRN28-10模型不同阶段的测试曲线比较。我们展示了5次跑步的范围。与独立训练方法(基线)和DML相比,DCM在整个训练过程中表现出稳定更好的性能,并最终在测试集上以最佳精度收敛。
*

4.2 Experiments on ImageNet

4.3 DCM的深层分析 Deep Analysis of DCM

最后,我们在CIF AR-100数据集上进行了广泛的消融实验,以更好地理解我们的方法,并展示其处理更具挑战性场景的能力。

Q的设置回想一下,设置Q在DCM中起着关键作用。Q的设置与两个基本问题密切相关:(1)在哪里放置辅助CLassiFiers(ACLF)?(2) 如何设计ACLF的结构?正如我们在方法部分所讨论的,我们按照[18,58,35,42]中使用的常见做法,将ACLF添加到网络的下采样层。然而,现代CNN架构通常具有几个(例如,3/5)下采样层,因此存在用于放置ACLF的许多层位置组合。针对这个问题,我们进行了消融实验,通过在最多三个下采样层中添加ACLF,在考虑不同设置的情况下联合训练两个WRN-28-10模型。表3中总结的结果表明,与1-ACLF模型相比,2-ACLF模型带来了相对较大的增益,而与2-ACLF模式相比,3-ACLF模型给出的增益可以忽略不计。因此,我们添加了2个ACLF作为DCM的默认设置,以实现良好的准确性和效率权衡。

对于第二个问题,除了DCM中使用的默认ACLF之外,我们还评估了另外两种ACLF。结果如表4所示,其中“APFC”是指使用平均池化层对输入特征图进行下采样,然后使用完全连接层生成logits的结构。“窄”指的是与默认ACLF设计相比更窄的版本(更小的宽度乘数)。可以看出,简单的ACLF有时可能会损害性能([18,58,42]中也提供了类似的实验),在这种情况下,我们的方法增益很小。相比之下,在其他两种情况下都获得了较大的精度增益,因此需要相对较强的ACLF才能使我们的方法正常工作。在训练之后,ACLF被丢弃,因此没有额外的参数被添加到最终模型中。

表4。使用不同类型的辅助分类器在CIF AR-100数据集上联合训练DenseNet-40-12和WRN-28-10的结果比较。我们报告了5次运行中的“平均(std)”错误率(%)。
表5。使用跨层双向KD的不同设置在CIF AR-100数据集上联合训练两个DenseNet-40-12模型的结果比较。DCM1/DCM-2在相同的分级/不同的分级层之间执行KD操作。我们报告了5次运行中的“平均(std)”错误率(%)。
请添加图片描述

跨层双向KDs分析 Analysis of cross-layer bidirectional KDs。回想一下,我们的DCM提供了两种跨层双向KD设计(在相同阶段或不同阶段层之间),以在两个网络之间相互传递知识。为了研究它们的效果,我们进行了两个实验,其中我们保留了第一个或第二个双向KD设计。在实验中,我们考虑了联合训练两个DenseNet-40-12模型的情况。令人惊讶的是,表5中提供的结果表明,第二种设计比第一种设计带来了更大的性能增益,这意味着不同阶段层之间的知识转移更有效。由于引入了精心设计的辅助分类器,DCM实现了更加多样化和有效的双向知识转移,从而大大提高了联合训练性能。

深度监督带来准确度提升 Accuracy gain from deep supervision。DCM有一个关键问题:DCM和DML之间的性能裕度主要是由于两个网络的某些隐藏层添加了辅助分类器,因为它们有额外的参数吗?为了检验这个问题,我们在考虑两种不同设置的情况下进行了广泛的实验:(1)对于DCM,我们删除了所有双向KD连接,除了两个DenseNet40-12主干的最后一层之间的连接,同时保留了辅助分类器。这种配置可以被视为DML和深度监督(DS)的直接组合;(2) 此外,我们将辅助分类器添加到单个CNN主干中,并独立地用DS训练它们中的每一个,同时用DCM训练两个相同的主干。第一种设置下的结果如表5所示,表示为DML+DS。可以观察到,DML和DS的组合仅为DenseNet-40-12带来0.07%的平均改善,仅占DCM带来的总利润的8.75%。表6总结了第二种设置下的结果。可以注意到,在大多数情况下,DS对每个基线模型的平均增益小于0.85%。相比之下,DCM在基线模型的基础上持续显示出较大的准确性改进,范围从2.07%到2.99%。

表6。深度监管(DS)和DCM在CIF AR-100数据集上的比较。我们报告了5次运行中的“平均(std)”错误率(%)。
请添加图片描述
与KD及其变体的比较 Comparison with KD and its variants。请注意,DCM/DML与KD及其变体的公平比较是不切实际的,因为训练范式截然不同。在这里,我们通过使用预先训练的WRN-28-10来指导ResNet-110的训练,说明性地研究了KD在我们的情况下会起多大作用。令人惊讶的是,KD的平均错误率略低于基线(26.66%对26.55%)。我们注意到,在训练过程中,教师(WRN-28-10)生成的软标签并不那么“软”,这些软标签的准确性非常高(在CIF AR-100数据集上为~99%,这意味着模型通常“完美”地拟合训练数据)。这些软标签没有比硬标签提供任何更有用的指导,并以某种方式导致过度拟合。使用DML或DCM,当教师和学生网络从头开始联合训练时,软标签是动态生成的,因此它们相对更软,在每次训练迭代中都包含更有用的指导。此外,我们在补充材料中提供了DCM与KD变体的水平比较。

数据噪音 With noisy data 。我们还探索了我们的方法处理噪声数据的能力。根据[56,55],我们使用CIF AR-10数据集,并联合训练两个DenseNet-40-12模型作为测试用例。在训练之前,我们随机抽取固定比例的训练数据,并用随机生成的错误标签替换它们的基本事实标签。在训练之后,我们在原始测试集上评估模型。结果汇总在表7中。考虑了三种腐败率0.2、0.5和0.8。与腐败率为0.2的情况相比,DCM和基线之间的裕度随着腐败率的增加而增加。对这种现象的一种可能的解释是DCM表现为正则化子。当训练标签被破坏时,基线模型将试图拟合训练数据并捕获错误的信息,这会导致严重的过拟合。在DCM配置中,情况有所不同。除了损坏的标签之外,分类器还可以从其他不同阶段或相同阶段分类器生成的软标签中获得监督。这些软标签可以防止分类器拟合损坏的数据,最终在一定程度上提高泛化能力。在没有损坏数据的正常训练中,这种情况也可能发生。例如,如果有一个人和他或她的狗在一起的图像,那么人类注释的基本事实将是一个1类标签,要么是“狗”要么是“人”,但不是两者都是。这类图像可以被视为“有噪声”的数据,这就是动态生成的软标签将发挥作用的地方。

表7。在带有噪声标签的CIF AR-10数据集上的结果比较。我们联合训练了两个DenseNet-40-12模型,并在5次运行中报告了“平均(std)”错误率(%)。
请添加图片描述
具有很强的正则性 With strong regularization。上述实验表明,DCM作为一种强正则化子,可以提高模型的泛化能力。为了研究DCM在存在其他强正则化的情况下的性能,我们遵循了[52]中的丢弃实验。我们在WRN-28-10的每个构建块的第一层之后添加一个p=0.3的脱落层。结果如表1所示,为WRN-28-10(+)。可以看出,将DCM与dropout相结合比DCM实现了更好的性能,这意味着DCM与dropoff等传统正则化技术兼容。

效率比较 Comparison of efficiency。由于使用了辅助分类器,在训练阶段,DCM平均比DML慢1.5倍。然而,所有辅助分类器在训练后都被丢弃,因此与独立训练方法和DML相比,在推理阶段对所得模型没有额外的计算成本。对于DCM,低容量模型具有类似的精度,但与高容量模型相比,所需的计算成本要低得多。例如,如表1所示,用DCM训练的WRN-28-4模型显示出18.76%的平均误差率,这与用独立训练方法训练的WRN-28-10模型几乎相同。

五、结论

在本文中,我们提出了DCM,这是一种有效的双向知识转移方法,用于从头开始协同训练两个网络。它将知识表示学习与深度监督方法联系起来,并引入了密集的跨层双向KD设计。对各种知识转移任务的实验验证了我们方法的有效性。


附件:补充材料

A.实验设置

A.1 CIF AR-100的实验设置

A.2 ImageNet上的实验设置

B.辅助分类器的结构

在CIF AR-100数据集上,我们测试了几种主流的CNN架构,包括ResNet-110/ResNet-164[13]、DenseNet-40-12[19]、WRN-28-10/WRN28-4[52]和MobileNet[16]。如主要论文中所述,当将我们的方法应用于CIFAR-100和ImageNet数据集时,我们将精心设计的辅助分类器附加在CNN主干的某些不同阶段下采样层的顶部。在本节中,我们提供了辅助分类器的结构。

B.1 CIFAR-100的辅助分类器

位置。在实验中,我们为每个骨干网络添加了2个辅助分类器。我们将原始分类器(即,添加到骨干网络最后一层的最顶层分类器)表示为C1,将辅助分类器表示为C2和C3,如图所示。3。

结构。在每个联合训练实验中,每个辅助分类器都由与骨干网络中相同的构建块(例如,ResNet中的残差块)组成。不同之处在于卷积层的数量和参数大小。正如[18,58,42]中的经验验证的那样,早期层缺乏有助于图像级分类的粗糙级特征。为了解决这个问题,我们使用启发式原理,使从输入到所有分类器的路径具有相同数量的下采样层。我们分别在表8、表9、表10和表11中详细介绍了不同骨干网络的辅助分类器卷积层的超参数设置。

请添加图片描述
图3。在CIFAR-100数据集上评估添加到CNN架构的辅助分类器的位置。左图为ResNet-110/ResN
et-164和WRN28-10/WRN-28-4,中间图为DenseNet-40-12,右图为MobileNet。灰色粗箭头表示添加辅助分类器的位置。对于骨干网络,我们将原始分类器表示为C1,将两个辅助分类器分别表示为C2和C3。

请添加图片描述

B.2 关于分析如何设置Q的实验的附加辅助分类器。

如主要论文第4.3节所述,为了分析如何在我们的方法中设置Q,我们首先进行消融实验,通过在最多三个下采样层中添加辅助分类器,在考虑不同设置的情况下联合训练两个WRN28-10模型。除了在我们的DCM中使用的两个基本辅助分类器C2和C3外,在WRN-28-10的“conv1”层之后添加了一个额外的辅助分类器C4,如图所示。3,其卷积层的超参数设置如表10所示。

对于DCM评估的另外两种辅助分类器,即“APFC”和“Narrow”,它们的结构是:(1)“APVC”由一个平均池化层(空间输出大小为4×4)、一个全连接层(输出大小为100)和一个softmax函数组成;(2) “APFC”是指较窄的版本,其增长率(对于DenseNet-40-12)或宽度(对于WRN28-10)值分别为表9和表10所示基本设计的一半。

B.3 ImageNet的辅助分类器请添加图片描述

请添加图片描述

C.相对于KD及其变体的优势

回想一下,在本文中,我们专注于改进双向知识转移设计。与传统的单向KD和it变体(主要依赖于隐藏层特征/注意力提取)相比,我们的方法具有新的特性:(1)从头开始对两个模型进行协作训练(不需要预先训练和固定的教师);(2) 双向跨层知识转移(较小的模型也会改进较大的模型);(3) 以监督的方式获得的软隐藏层知识(由于两个模型之间的隐藏层图维度不同,不需要通常使用多步骤策略进行的逐层特征/注意力匹配)。请注意,双向DCM与基于单向KD的方法的直接性能比较是不公平的,因为它们的训练范式截然不同。最近,在[45]中发表了一个基于CIFAR-100数据集的14种最先进的基于KD的方法的综合基准,我们可以从中观察到:仅考虑到较小学生模型的准确性增益,而不考虑训练范式的差异,我们在主论文中报告的结果大多优于那些使用固定教师模型的单向基于KD的法。
请添加图片描述
请添加图片描述

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值