文摘
在真实的场景中,数据通常有一个长尾分布和培训深层神经网络这种不平衡数据集已经成为一个巨大的挑战。长尾的数据分布造成的主要问题是常见的类将主导培训结果和达到一个非常低的精度稀有类。最近的研究集中在改善网络表示能力克服长尾问题,而总是忽略了网络分类器适应长尾的情况下,这将导致网络表示的“不兼容”的问题和网络分类器。在本文中,我们使用知识蒸馏解决长尾数据分布问题,充分优化网络同时表示和分类器。我们建议multiexperts知识与class-balanced抽样蒸馏,共同学习高质量网络表示和分类器。同样,一个通道activation-based知识蒸馏方法也提出了进一步提高性能。最先进的性能在一些大规模的长尾分类数据集展示了我们的方法的优越的泛化。
1。介绍
常用数据集在文献中对CNN的训练,像CIFAR1]和ImageNet [2),通常是人为设计的,很少受到不平衡的数据。然而,在开放的现实世界中,数据类别的分布通常是长尾,在每个类的训练样本数量变化很大成千上万的一些样品图片。例如,在铁路交通等场景,间皮瘤诊断和工业故障检测(3,4),我们需要检测一个意想不到的对象的实际样本类别的意想不到的对象通常是很难收集,导致一个长尾的数据分布。有许多工作(5,6)提出解决这种真实的分类问题。然而,他们不提供这样一个长尾分布问题的一般解。在本文中,我们提出一个一般知识distillation-based方法,可应用于所有长尾的场景。
作者在7,8)还指出数据分布的问题不会影响深层神经网络的性能。当深模型训练在这种不平衡的情况下,标准的方法通常不能达到令人满意的结果,导致性能下降的重要因素。这是因为这类训练实例,称为头类,将主导培训过程和学习模型在这些类往往表现得更好但达到相当糟糕结果尾类,有很少的样品(9- - - - - -11]。在文献中解决一个长尾的问题,作者在11,12总结,长尾的分类方法主要是有益的分为两个方面:表示学习和分类器的学习。具体地说,使用一些特殊设计的损失(13,14)或转移知识从头类(15)有利于尾类学习高质量的表征和提高模型的性能。数据重采样策略9,16- - - - - -19),来达到一个平衡的数据分布,有助于直接影响分类器的重量和促进学习分类器。
虽然这些方法有良好的最终结果,他们不能同时优化表示和分类器学习一些方法只关注提高表示,但照顾没有分类器的学习和其他方法注意提升分类器学习,但是学习能力将影响其表示。作者在11,12]试图解决这个问题,通过将整个培训过程分为两个阶段:一个实现良好的表征和另一个用于优化分类器基于模型在第一阶段。然而,没有单程的解决方案,可以共同学习两个方面。在本文中,我们定义网络之间的问题,“不相容”表示学习和分类器学习,那里的两个方面是很难同时进行优化,并提出一个共同的学习解决方案。
发现在不同的数据再平衡战略,class-balanced [9,19)学习策略学习好分类器但会影响表示。我们建议缓解“不兼容”的问题通过使用class-balanced策略达到好的分类器和应用知识同时蒸馏消除其缺点。蒸馏机制有助于我们的CNN模型改善其代表学习能力和减轻与分类器学习应用class-balanced取样时的冲突。
为了清晰起见,我们定义模型,它有更好的表现为头/尾类专家,他们将被用作老师在蒸馏过程模型。具体来说,我们将设计几个老师模型专家不同的类(头/尾类),然后将所有专家模型提炼成一个模型实现表示执行良好的脑袋和尾巴在两类。不同于上述头部到尾部转移策略19,20.),将知识从头部类作为老师,我们的专家不仅包含从主导类模型有良好的表现但也包含来自少数类。
此外,考虑到代表一个训练有素的地图模型,并不是所有的渠道都是高度激活应用输入到网络时。我们认为弱激活渠道包含更少的信息,甚至噪音,知识蒸馏过程提供一些帮助。在某种程度上,低激活的无用的信息共享渠道会影响我们学生的学习有益的知识。结果,我们建议蒸馏通道activation-based知识充分利用高度激活渠道和丢弃的信息从其他活动的渠道。
multiexperts知识蒸馏和通道activation-based蒸馏策略将在很大程度上提升长尾的数据集上的分类性能,妥善解决“不兼容”的问题,如之前所讨论的那样。
最后,证明了我们的方法的有效性,我们进行详尽的分类实验ImageNet-LT [10],Places-LT [10),和inaturalist - 2018 (21]。我们的方法达到优于长尾分类结果与现有最先进的方法。
我们的贡献可以概括如下:(我)我们探索解决长尾的问题,文献中数据分布问题,存在之间的“不兼容”的问题和网络分类器学习网络表示。(2)我们提出一个multiexperts知识蒸馏方法解决长尾的数据问题,可以同时学习和分类器学习照顾表示。此外,小说频道activation-based蒸馏战略是开发促进代表向老师学习模型的有效性。(3)我们评估我们的方法在三个大规模长尾的数据集和我们的方法实现对以前的竞争方法性能优越。
2。相关的工作
2.1。长尾的认可
长尾学习问题吸引了越来越多的关注由于数据分布不平衡在现实世界的流行10,19,22- - - - - -25]。以前的方法解决这一问题主要来自以下方面:
再平衡实现更平衡的数据分布方法是采用过采样数据对少数民族(尾巴)类(16- - - - - -18占主导地位,欠采样(头)类通过删除数据26,27],class-balanced采样基于样本数据的数量在每个类28,29日]。但有时重采样长尾的数据集可能导致过度拟合等问题对稀有类或损害深层神经网络的泛化能力。最近,一些二级微调策略提出了改进调整的有效性。具体地说,他们将培训过程分成两个阶段11,12]。在第一阶段,网络训练像往常一样原始不平衡数据和应用平衡在第二阶段来调整网络时代和小的学习速率。
指标丧失学习旨在分配不同的损失不同训练样本在每个类。在这些方法中,权重(9,30.]尾类的方法分配较大的权重计算培训损失。范围的损失(14)执行数据来自同一类的距离更近,那些在不同的类远改善长尾的场景。局部损失(13]well-classified实例分配较低的权重处理类不平衡。Meta-Weight-Net [31日]能够自适应地学习一个显式的权重函数直接从不平衡数据。
头部到尾部类转移是用来转移知识从类到尾类,具有有限的样本学习好的结果。转移知识,从占主导地位的少数类课程,包括一个解释变量的变换或分类器19,20.),组合方差(32),和深层语义特征(10),在最近的作品。
2.2。知识蒸馏
知识蒸馏(KD)中首次引入[33),然后带回的声望,辛顿et al。34]。背后的理性是使用一个学生模型(年代)向一位老师学习模型(T)在不牺牲准确性。现有的方法设计了各种类型的知识改善KD。方法(34)认为,软标签产生的T,即。,分类概率,可以提供更丰富的信息。然后,蒸馏的目标是进一步扩展到隐层特性(35)和视觉注意力地图(36]。除了与模型压缩蒸馏,蒸馏知识也被证明是有效的,当老师和学生有相同的结构,即,self-distillation [37,38),转让相同的模型之间的知识结构。知识蒸馏也被应用在其他领域如semisupervised学习(15),课程学习(39),和神经风格转移(40]。
3所示。网络之间的不兼容性表示和分类
如上所述,网络学习是代表“不兼容”在长尾与分类器的学习分类,很难取得良好的成果,共同学习。在本节中,我们进行消融,来进一步说明这个问题。澄清一下,在接下来的论文,instance-balanced抽样是指采样策略,每个训练图像有一个平等的选择概率和class-balanced抽样(9,19)指的是图像的每一个类,它有一个平等的概率被选中。
最近工作(12)显示,不同类别的分类器的重量标准遵循类似的分布与样品的数量在每个类在执行instance-balanced培训。图1展现了L2规范的分类器与类索引排序权重降序对每个类的实例的数量。正如图中所示,一致结论(12),如果一个类拥有比其他类样本,其相应的体重标准的分类器也比别人高概率,反之亦然(橙色线)。但当应用class-balanced训练的分类器解耦方法(12),所有类的体重标准的分布变得均匀分布(绿线)。我们试图应用平衡抽样在整个培训过程和可视化分类器的重量标准(蓝线),发现它是非常接近的解耦方法,这意味着学习会同class-balanced抽样也可以优化分类器成一个良好的状态。然后来了一个问题:为什么不直接使用一个class-balanced培训战略共同学习表示和分类器?
看来class-balanced抽样分类器是一个可以实现的最优策略优于instance-balanced采样和提高训练模型的性能在长尾的数据集。然而,结果表明,class-balanced抽样只能带来有限的改善(从35.7到36.5),如左边所示列的表1。我们解释为代表的质量低劣class-balanced模型和实验进一步验证我们的索赔要求。
我们首先训练两个模型instance-balanced策略和ImageNet-LT class-balanced战略,分别。分类器的两个模型并重新培训了在不同的数据集进行初始化(Places-LT)(表示)固定支柱。在分类器训练过程中,使用class-balanced抽样。class-balanced抽样可以学习最优分类器,如果一个模型比另一个显示了明显的性能收益,那么它的质量表示应该比另一个好。如表所示1,instance-balanced骨干显示精度高于class-balanced骨干(25.2% vs 22.1%),这表明instance-balanced比class-balanced抽样抽样达到更好的表征。实验进一步证明了“不相容”表示学习和分类器的学习我们已经讨论了。
4所示。方法
长尾识别,训练数据集之前不平衡分布类。至于尾类,缺乏训练样本结果模型倾向于展示underfitting few-shot类。现有方法专注于改善表示学习或分类器学习促进模型性能在长尾的数据集,但通常一个方面影响其他性能的改善,它被定义为“不兼容”的问题。为了克服这个问题,我们引入了我们的multiexperts蒸馏和通道activation-based蒸馏在这一节中。通过我们的方法,吸收知识的不同类型专家表示模型;与此同时,class-balanced抽样保证学习功能,将会有一个好的分类器正确分类我们的输入图像。
4.1。初步
知识蒸馏(KD)方法通常采用一个学生学习从一个训练有素的教师模型 ,针对繁殖的预测能力 。换句话说,给定一个图像标签 , 将预测 和培训与输出的目的类似的结果吗 。在这里,所做的预测表示为 。
为了实现这一目标,KD指标在探索一种方法来提取一个CNN模型中包含的信息,然后把信息的年代接近T越好。因此,KD的损失函数可以作为制定 在哪里和可训练的参数吗和 ,分别。是函数,帮助定义一个特定的知识模型,然后呢是度量来衡量两个模型的知识之间的距离。
注意,只有在方程(1)更新,因为假定已经优化与地面真理。然后,学生网络训练任务的组合损失和KD损失减小到最低限度: 在哪里损失函数是一个任务,如。、softmax叉损失分类边界框回归损失检测。是一个减肥hyperparameter平衡这两个术语。
4.2。Multiexperts蒸馏
配方。在形式上,给定一个数据集与类,我们整个数据集分割成子集 与{ }类联系在一起。具体地说,表示为类训练样本的数量j在子集 。不同于传统KD方法,老师是一个更深、更大的比学生模型,我们的专家是完全相同的模式与学生但不同subdatasets各种表演。KD的损失函数可以作为制定 在哪里表示的知识只是计算训练样本子集 。
注意,class-balanced采样作为采样策略当培训学生模型与知识蒸馏过程。作为讨论的部分3,共同学习与class-balanced抽样策略可以优化分类器到一个好的状态。这两项的组合(KD和class-balanced抽样)使得最终的模型表示和分类器上表现的比较好,导致更高的精度长尾场景。
在这项工作中,我们把CNN模型的特征图的基础知识。一般来说,一个模型可以分为一组块,每个块的输出是一个隐藏的功能映射。对于一个输入批处理,K特征图的网络可以表示为 ,在哪里批量大小,通道的数量,和的高度和宽度特征空间维数,分别。为 ,我们使用距离: 测量特性表征之间的区别。因此,知识转移表示专家对一个学生,方程(3)可以简化为
图中给出的框架的概述2。
设计专家。multiexperts知识蒸馏,重要的是如何找到专家监督学生模型。对于一个长尾的问题,我们专门设计专家根据每个类别的训练样本数量。具体来说,长尾的数据集与类将根据阈值: 。分裂后,每个子集满足 ,在哪里表示类的训练样本在 。然后,专家{ }将被训练和每个专家应该表现之一 。专家可以被训练使用整个数据集或与其他先进的长尾方法训练的只有样本子集。为一个特定的子集 ,我们会找到一个模型,表现良好作为一个专家模式 。请注意,我们并不能保证一个专家在整个数据集表现良好,但它应该是擅长的一个子集。这是动机的问题,现有的方法总是牺牲一些主导类的准确性提高尾类的准确性。这些专家包含更好的交涉子集和知识蒸馏用于集成所有的知识表示一个学生模型。
4.3。通道Activation-Based蒸馏
一旦我们利用专家的知识蒸馏将长尾表示学生使用距离测量差异特征图是一种直接而天真的方式。地图一个训练有素的模型,考虑到表示可能有渠道,它包含更少的信息,甚至包含噪声信息。如果我们能找到渠道蒸馏获得最有用的信息,应该改进学习的有效性。因此,小说频道activation-based KD因此提出加强multiexperts知识蒸馏。
我们的方法是出于一个有趣的观察,在一个训练有素的网络中,特征图谱 ,通道的激活强度表现不同。为了更好地说明,我们在ResNet-20拿出表示最后一块,平均后池与64年获得一个矢量值。因此,每个值向量反映了一个通道的激活强度。每个表示平均特性映射在一个类别cifar - 100训练集。图3显示了表示向量,每个横幅是指平均特性在不同的类别。我们可以看到一些像素有一个光明的颜色,代表相应的通道高度激活,而另一些则不是。此外,激活强度的分布执行不同的在不同的类。基于观察,我们认为激活强度较高的渠道包含更重要的知识和较低的激活强度减少知识甚至噪声信息。因此,为了提高知识转移的性能,我们应该把更多的注意力集中在高度激活的知识。
定义的函数来提取通道激活强度最高的类 。 hyperparameter控制有多少频道选择,如。, 意味着90%渠道知识用于蒸馏和激活这些选择的渠道比放弃的。是通过统计分析训练有素的学生模型。激活地图将所有样本中平均类和通道将排序和索引记录的激活强度值降序排列。通过记录索引和hyperparameter选择渠道 。的帮助下 ,方程(4)可以写成
通道activation-based KD方法,学生模型能够从专家蒸馏知识有效地和高效地实现表示执行有利于两头类和尾类。
5。实验
5.1。实验设置
数据集:我们评估我们的方法在三个大规模长尾的数据集,包括ImageNet-LT [10],Places-LT [10),和inaturalist - 2018 (21]。ImageNet-LT和Places-LT长尾版本的原始数据集:imagenet - 2012 (2]和Places-2 [25),通过人为地抽样。总的来说,ImageNet-LT包含从1000年115.8 K图像分类,图像在每个类的数量从1280年到5。Places-LT从365年184.5 K的图像类别,4980图像类的最大和最小5图像每个类。inaturalist - 2018分类数据集大规模真实数据集,遭受极度不平衡从8142年类别标签与437.5 K分布图像。评价指标:更好的检测性能,后10),除了报告精度在整个数据集,我们评估结果根据三套类:多投篮(超过100张图片),中景镜头(20 - 100图像),Few-shot(不到20图片)。我们遵循的设置在10- - - - - -12对我们的方法在不同的数据集)。实现细节:PyTorch框架是用于所有实验。ImageNet-LT,我们采用划痕ResNet-10骨干网。Places-LT,做出公平的比较结果(10),resnet - 152是使用和pretrained ImageNet上。ResNet-50用于inaturalist - 2018以下设置(12]。对于所有的实验,如果未指定,一个SGD优化器使用动量0.9,512年批量大小,重量0.0005衰变,和余弦学习速率调度逐渐腐烂从0.2到0。图像的分辨率为224×224年和90年的网络是训练有素的时代。蒸馏损失计算平均池和之前与输出特征图设置为0.9。相应的评估与三套类(中景镜头,许多镜头和一些拍摄),训练数据集也分成三个部分相同的协议后评价集,和三个专家吗 ,负责新设置的每一部分,作为教师在知识蒸馏过程。 将 ,分别的主要选择是平衡所有的损失条款到相同的数量级。5.2。烧蚀研究
在本节中,我们进行消融,显示了该方法的有效性。一个训练有素的模型多投篮(多投篮模型)和模型训练子集OLTR [10在所有部分)作为我们的专家。
5.2.1。消融在不同的专家
在本节中,我们使用不同的专家模型显示的影响。根据我们的设计,三个子集,多投篮,中景镜头,few-shot,三个需要专家和专家,有三个选择:简单的模型(模型从头训练与整个数据集),子集模型(模型从头训练与某些子集数据),和OLTR模型(可以使用任何长尾方法,我们以OLTR为例)。
实验使用不同的专家如表所示2。除了我们共同设置用于其他部分,它使用专家为每个子集与最佳性能(多投篮模型多投篮,OLTR中景镜头,few-shot),我们还运用我们的方法有三个子集模型作为专家,专家以最低精度在所有的选择。此外,由于可能有完全27专家组合选择,太多的展示,我们表现出平均结果/ 5随机选择的组合。设计专家的随机组合的选择与准确性之间的共同设置,设置三个子集模型。结果一致表明,当采用蒸馏的方法,使用设计专家与更好的性能将导致更高的精度。
此外,正如我们的专家是为了监督子集,这是根据类来划分样本数据符合长尾问题,还有更直接和简单的方法就是随机分割数据集和使用每个子集训练专家。我们也比较的方法随机分割策略。与我们的设计不同的是,在随机策略,整个数据集分为三部分考虑没有多少样本在每个类别。每个子集用于培训专家和三个专家监督学生使用。这个过程重复5次,平均结果表的最后一行所示2。随机分裂策略达到一个更糟糕的性能比我们的方法,这表明我们的设计的优势。
5.2.2。Instance-Balanced抽样vs Class-Balanced抽样
中描述的部分3和4从专家,该方法学习知识来提高网络表示学习;同时,class-balanced抽样应用一起照顾分类器的学习。这两个部分的组合确保表示和分类器可以共同学习。为了显示使用class-balanced策略的力量,我们在表进行消融3表现出比较结果的应用class-balanced采样和instance-balanced抽样ImageNet-LT我们的方法。从结果,class-balanced策略总是提出了更高的性能在中景镜头,few-shot,整体精度。
此外,我们还进行实验证明知识蒸馏可以提高表示学习质量。类似于实验部分3,我们再培训ImageNet-LT结果在另一个数据集的分类器:Places-LT和性能Places-LT可以反映不同策略的表现质量。如表所示4微调后,我们的方法达到一个更高的准确性Places-LT分类器,说明知识蒸馏的帮助下,一个模型可以学习更好的表征。
5.2.3。消融知识蒸馏设置
作为该方法包含各种组件:multiexperts蒸馏和通道activation-based学习策略知识。在本节中,我们调查的替代品在每一部分的贡献并显示在表的结果5。这个表的三行是指应用与传统蒸馏老师渊博的知识,应用multiexperts知识蒸馏,分别与通道activation-based蒸馏、知识和应用。
第一列是平原直接对准ImageNet-LT ResNet-10模型。而简单地应用知识蒸馏与一位专家模型(OLTR模型),该multiexperts方法增加从37.1%降至38.6%。此外,结合频道activation-based策略,仍有0.6%的精度有所改善(38.6%到39.2%)。
5.3。比较先进的方法
在本节中,我们比较了我们的方法的性能与其他最近的最先进的方法对三种常见的长尾基准:ImageNet-LT Places-LT, iNaturalist。类似于设置在消融,对我们所有的实验方法,我们使用一个多投篮模型来监督多投篮子集;与此同时,我们的分离手段分离(cRT)是用作中景镜头以及专家few-shot子集和我们OLTR意味着OLTR用于监督中景镜头和few-shot。所有其他工作成果都从他们的论文复制或复制与作者的代码。
ImagetNet-LT:表6代表ImageNet-LT分类结果。先进的解耦方法,我们复制结果根据作者的代码库和两个培训设置,对应于cRT和 - - - - - -规范化分类器学习策略。结果表明,我们建议的方法实现最高的性能对整体精度(43.9%)。
Places-LT: Places-LT实验,我们遵循的设置在10从一个pretrained resnet - 152 ImageNet (2)和调整骨干模型与instance-balance抽样平原模型。结果如表所示7,我们的方法优于其他先进的方法,包括了损失(41),焦损失(13),范围损失(14],FsLwf [42],OLTR [10[],安慰;43),和分离12]。整体精度,我们的方法提高了模型精度为8.5%。
iNaturelist。我们进一步评估该方法iNaturalist数据集。从表8实验结果显示,一致性和ImageNet-LT Places-LT病例。我们建议的方法超过OLTR和分离( - - - - - -归一化)方法总体精度为3.4%和1.6%,分别。此外,中景镜头的准确性和few-shot类还执行最好的其他竞争对手。
5.4。混淆矩阵分析
在本节中,我们提供了三种常用的长尾上的混淆矩阵分析数据集:ImageNet-LT Places-LT, iNaturalist。我们比较混乱的回忆和精确计算与先进的长尾的方法解耦矩阵(12并将结果显示在表9。如表所示,对精度和召回度规,我们的方法始终显示它的优越性在长尾的数据集较先进的方法。
6。结论
在本文中,我们讨论网络之间的不相容表示学习和神经网络分类器学习当训练深在长尾的场景。蒸馏法multiexperts知识因此提出,共同学习同时表示和分类器。此外,为了进一步提高性能,一个通道activation-based学习策略也提出了。评价结果和烧蚀研究在三个长尾基准测试表明该方法的效率和有效性。
数据可用性
本文使用的数据都是公开的。
的利益冲突
作者宣称没有利益冲突有关的出版。