解耦表征与分类器:DECOUPLING REPRESENTATION AND CLASSIFIER FOR LONG-TAILED RECOGNITION(ICLR2020)

简介

        论文出自ICLR2020,新加坡国立大学和 Facebook AI联合著作。

代码:https://github.com/facebookresearch/classifier-balancing.

 

摘要

        视觉世界的长尾分布对于基于深度学习的分类模型如何处理类不平衡问题提出了巨大的挑战。现有的解决方案通常涉及类平衡策略,例如通过损失加权,数据重新采样或将学习从头到尾的类迁移到其他类别,但其中大多数坚持联合学习表示和分类的方案。在这项工作中,我们将学习过程分解为表征学习和分类,并系统地探索不同的平衡策略如何影响它们以进行长尾识别。研究结果令人惊讶:(1)数据不平衡可能不是学习高质量表示的问题; 2)利用通过最简单的实例平衡(自然)采样学习的表示,仅调整分类器也可以实现强大的长尾识别能力。我们进行了广泛的实验,并在常见的长尾基准(例如ImageNet-LTPlaces-LTiNaturalist)上设定了最新的性能,表明有可能胜过精心设计的损失、采样策略、甚至是具有内存的复杂模块,这种模块使用分离表示和分类的简单方法。

 

论文目标

在过去的几年中,视觉识别研究取得了长足的进步,这主要是由于使用了深度卷积神经网络(CNN)和大型图像数据集,最重要的是ImageNet ChallengeRussakovsky et al。,2015)。对于训练集中每个对象/类的实例数,此类数据集通常是人为平衡的。但是,视觉现象遵循长尾分布,许多标准方法无法正确建模,从而导致准确性显着下降。因此,最近出现了许多尝试研究长尾识别的作品,即在每个类中实例数量变化很大并遵循长尾分布的环境中进行识别。

在使用长尾数据进行学习时,一个共同的挑战是,实例丰富(或头部)的类在训练过程中占主导地位。习得的分类模型往往在这些类上表现更好,而对于实例稀少(或尾部)的类,其性能则明显较差。为了解决这个问题并提高所有类别的性能,可以重新采样数据或设计特定的损失函数,以更好地促进不平衡数据的学习(Chawla等,2002; Cui等,2019; Cao等。 2019)。另一个方向是通过转移来自头类的知识来增强尾类的识别性能(Wang等人,2017; 2018; Zhong等人,2019; Liu等人,2019)。然而,现有方法背后的普遍信念是,设计适当的采样策略,损失甚至更复杂的模型,对于学习高质量表示以进行长尾识别是有用的。

因此,最前面提到的方法与数据表示一起学习用于识别的分类器。但是,这种联合学习方案使人们不清楚如何实现长尾识别能力-是通过学习更好的表示还是通过改变分类器决策边界来更好地处理数据不平衡?为了回答这个问题,我们退后一步,将长尾识别分离为表示学习和分类。对于表征学习,模型暴露于训练实例,并通过不同的采样策略或损失进行训练。对于分类,基于学习的表示,模型通过各种分类器识别长尾类。我们评估联合和解耦学习方案下长尾识别的各种采样和分类器训练策略的性能。

具体来说,我们首先训练模型以学习具有不同采样策略的表示,包括基于实例的标准采样,类平衡采样以及它们的混合。接下来,我们将在学习到的表示之上,研究三种不同的基本方法来获得具有均衡决策边界的分类器。它们是1)以类平衡的方式重新训练参数线性分类器(即重新采样); 2)非参数最近分类均值分类器,该分类器根据训练集中基于特定分类的均值表示对数据进行分类; 3)对分类器权重进行归一化,直接将权重的大小调整为更加平衡,并增加一个温度(temperature)来调整归一化过程。

我们进行了广泛的实验,以比较上述解耦学习方案的实例与常规方案,后者共同训练了分类器和表示。我们还将比较最近的,经过精心设计和更复杂的模型,包括使用内存的方法(例如OLTRLiu等人,2019))以及更复杂的损失(Cui等人,Class-balanced loss 2019)。通过对三个长尾数据集ImageNet-LTPlaces-LTiNaturalist的广泛研究,我们得出以下有趣的观察结果:

 

相关工作

由于在实际应用中数据不平衡的普遍存在,长尾识别引起了越来越多的关注(Wang等人,2017; Zhou等人,2017; Mahajan等人,2018; Zhong等人,2019; Gupta等,2019)。最近的研究主要追求以下三个方向:

数据分布重新平衡:沿着这个方向,研究人员建议对数据集进行重新采样,以实现更均衡的数据分布。这些方法包括对少数类别(通过添加数据副本)进行过采样(Chawla等,2002 Han等,2005),对多数类别进行过采样(Drummond等,2003)。删除数据),并根据每个类别的样本数量对类别进行均衡采样(Shen等人,2016; Mahajan等人,2018)。

类平衡损失:对于每种类别,建议使用各种方法分配不同的损失,不同的训练样本。为了匹配给定的数据分布并改善尾部类别的通用性,损失可能会在类别级别有所不同(Cui等人,2019; Khan等人,2017; Cao等人,2019; Khan等人,2019; Huang等人,2019)。也可以在样品水平上实现更细粒度的损失控制,例如Focal LossLin等人,2017),Meta-Weight-NetShu等人,2019),重新加权训练(Ren等人,2018)或基于贝叶斯不确定性(Khan等人, 2019)。最近,Hayat等。 2019)建议使用亲和力度量来平衡头类和尾类的分类区域,以强制类的类集中心均匀间隔和等距。

从头部的类到尾部的类进行迁移学习:基于迁移学习的方法通过将从具有丰富训练实例的头部类学习到的特征转移到代表性不足的尾巴类来解决训练数据不平衡的问题。最近的工作包括迁移类内差异和并迁移语义深层特征(Liu et al。,2019)。但是,设计特定的模块(例如外部存储器)以进行功能转移通常不是一件容易的事。

HariharanGirshick2017)提出了小样本识别的基准,该基准包括不进入小样本类别的表征学习阶段和随后的小样本学习阶段。相比之下,长尾识别的设置假定可以同时访问头和尾类,并且类别标签的减少幅度更大。最近,刘等。 2019)和曹等人。 2019)采用重新平衡策略,在两阶段的训练模式中共同学习代表和分类器。 OLTRLiu et al。,2019)使用实例平衡采样来首先学习在第二阶段使用类平衡采样与存储模块进行微调的表示形式。 LDAMCao et al。,2019)引入了标签分配感知的边距损失,扩大了小样本类别的决策边界。在第5节中,我们详尽地与OLTRLDAM进行比较,因为它们报告了ImageNet-LTPlaces-LTiNaturalist数据集的最新结果。在我们的工作中,我们主张解耦表示和分类。我们证明,在长尾情况下,这种分离允许采用简单的方法来实现较高的识别性能,而无需设计采样策略,balance-aware的损失或添加内存模块。

 

表征学习

对于长尾识别,训练集遵循在类别上的长尾分布。由于我们在训练过程中有少量的类别的数据较少,因此使用不平衡数据集训练的模型往往表现出对少数几类的拟合不足。但实际上,我们有兴趣获得能够很好地识别所有类别的模型。因此针对少数类,提出了各种重采样策略(Chawlaetal。,2002; Shen et al。,2016; Cao et al。,2019),提出了损失重新加权和边距正则化。但是,对于长尾识别,仍然不清楚它们如何实现性能改进(如果有的话)。在这里,我们通过将表示学习与分类学习分离开来,系统地研究了它们的有效性,从而确定了哪些对长尾识别确实很重要。

符号:我们定义本文中使用的符号。令X = {xiyi}i{1,… n}表示训练集,其中yi是数据点xi的标签。令nj表示类别j的训练样本数,并且让 表示训练样本总数。在不失一般性的前提下,我们假设这些类按基数降序排列,即如果i < j, 那么, ni nj。另外,由于我们处于长尾设置,因此n1 nC。最后,我们用f(x;θ)= z表示x的表征,其中f(x;θ)由参数为θ的深层CNN模型实现。最终分类预测由分类器函数g给出,使得对于一般情况,g是线性分类器,即,其中W表示分类器权重矩阵,b是偏差。我们将在第4节中介绍g的其他实例化。采样策略:在本节中,我们提出了许多采样策略,旨在重新平衡数据分布以用于表征和分类器学习。对于下面介绍的大多数采样策略,从类j采样数据点的概率pj由下式给出:

其中,q [0, 1]C是训练类别的数量。对于q的不同值会出现不同的采样策略,在下面,我们介绍与q = 1q = 0q = 1/2对应的策略。

实例平衡采样:这是采样数据的最常见方式,其中每个训练示例均具有相同的被选择概率。对于实例平衡采样,由等式1给出q= 1的概率即来自类别j的数据点将按比例采样到训练集中该类别的基数nj

类平衡采样:对于不平衡数据集,实例平衡采样表现出次优(Huang等人,2016; Wang等人,2017),因为该模型不适用于小样本类别,从而导致准确性较低,尤其是平衡测试集。类平衡采样已被用来减轻这种差异,因为在这种情况下,每个类都有相等的被选择概率。概率由等式1给出q = 0,即= 1 / C。可以看出这是一个两阶段的采样策略,其中首先从该类集合中均匀选择一个类,然后对该类的实例进行均匀采样。

平方根采样:已探索了以前采样策略的许多变种版本。常用的变种版本是平方根采样(MikolovDistributed representations of words and phrases and their compositionality2013; Mahajanexporing the limits of weakly supervisedpretraining.2018),其中q在前面的等式1中设置为1/2


渐进平衡采样:最近的方法(Cui et al。,2018; Cao et al。,2019)利用混合采样方式,即上述采样策略的组合。实际上,这涉及首先对多个epoch使用实例平衡采样,然后对最后一个epoch使用类平衡采样。这些混合采样方法需要在切换采样策略之前设置epoch的数量作为显式超参数。在这里,我们尝试使用一种softer的版本,即渐进平衡采样,随着学习的进行,它会在实例平衡采样和类平衡采样之间逐步“插值(interpolates)”。现在,它对第j类的采样概率/权重pjepoch  t的函数:

其中,T表示总epoch数。附录中的图3描述了采样概率。

解耦表征与分类器:DECOUPLING REPRESENTATION AND CLASSIFIER FOR LONG-TAILED RECOGNITION(ICLR2020)_第1张图片
3ImageNet-LT的采样权重pj。类按在x轴上递减的nj排序。左:实例平衡,类平衡和平方根采样。右:渐进平衡抽样;随着epoch的发展,采样从实例平衡采样到类平衡采样。

 

损失重新加权策略:已经对不平衡数据的损失重新加权函数进行了广泛的研究,因此研究所有相关方法已超出了本文的范围。而且,我们发现报告高性能的一些最新方法难以训练和再现,并且在许多情况下,需要进行广泛的,特定于数据集的超参数调整。在附录的A节中,我们总结了该领域最新,性能最好的方法。在第5节中,我们证明了在没有花哨的情况下,配备了适当平衡的分类器的基线方法可以比最新的损失重新加权方法表现更好,甚至更好。

 

分类器学习

在平衡数据集上学习分类模型时,通常将分类器权重Wb与模型参数θ一起训练,以通过最小化真实标签yi与预测之间的交叉熵损失来提取表征f(xi;θ)。这也是长尾识别的典型基准。尽管已经提出了各种重新采样,重新加权和将头部类的表征迁移到尾类的方法,但是总体方案仍然是相同的:分类器要么与表征联合学习,要么端到端学习,要么通过两阶段方法学习,其中分类器和表征通过class-balanced采样的变体联合微调,作为第二阶段学习(Cui等人,2018; Cao等人,2019)。

 

在本节中,我们考虑在长尾识别中将表示与分类分离。我们提出了学习分类器的方法,旨在通过使用不同的采样策略或其他非参数方法(例如最近的分类均值分类器)进行微调来纠正头和尾类的决策边界。我们还考虑了一种重新平衡分类器权重的方法,该方法具有很高的长尾识别精度,而无需进行任何其他重新训练。

分类器再训练(cRT:一种直接的方法是使用class-balanced采样来重新训练分类器。也就是说,在保持表示不变的情况下,我们使用class-balanced采样对少数的epoch随机地重新初始化和优化了分类器权重Wb Zhang等人,2019)最近也使用了类似的方法来对长尾视频数据集进行动作识别。

最近类均值分类器(NCM:另一种常用的方法是首先计算训练集上每个类别的均值特征表示,然后使用余弦相似度或基于L2归一化均值特征计算的欧几里得距离执行最近邻搜索(Snell等人,2017; Guerriero等人,2018年; Rebuffi等人,2017年)。尽管它很简单,但这是一个很强的基线(请参阅第5节中的实验评估);余弦相似度通过其固有的归一化减轻了权重不平衡问题(另请参见图4)。

解耦表征与分类器:DECOUPLING REPRESENTATION AND CLASSIFIER FOR LONG-TAILED RECOGNITION(ICLR2020)_第2张图片

4   描述了不同分类器和它们相关的决策边界,其中wiwj分别表示类别ij的分类权重,Ci是特征空间中属于类别i的分类圆锥形,mi是类别i的特征均值。从左到右:τ→0的τ归一化分类器:具有较大权重的分类器具有较宽的决策边界。 τ→1的τ归一化分类器:对于不同的类,决策边界更加平衡。具有余弦相似度的NCM,其决策边界与分类器权重无关;具有欧几里得相似度的NCM,其决策边界将特征空间划分为Voronoi单元。

τ归一化分类器(τ归一化):我们从经验观察的角度出发,研究了一种有效的方法来重新平衡分类器的决策边界:在通过实例平衡采样进行联合训练之后,权重||wj||的范数与类nj的基数相关,而在使用类平衡采样对分类器进行微调之后,分类器权重的范数往往更相似(请参见图2左)。

解耦表征与分类器:DECOUPLING REPRESENTATION AND CLASSIFIER FOR LONG-TAILED RECOGNITION(ICLR2020)_第3张图片

2:左图:当按nj的递减值对类进行排序时,ImageNet-LT验证集的分类器权重规范。蓝线:通过实例平衡采样学习的分类器权重。绿线:使用类平衡采样进行微调后的权重。金线:τ归一化之后。棕线:通过可学习的权重缩放获得的权重。右图:归一化参数τ不同值的精度。

 


受以上观察的启发,我们考虑通过以下τ归一化程序直接调整分类器权重范数来纠正决策边界的不平衡。形式上,令W = {wj}Rd×C,其中wjRd是对应于类j的分类器权重。我们对W的权重进行缩放,得到


其中,τ是控制归一化“温度”的超参数,|| ·||表示L2范数。当τ= 1时,它减少到标准L2归一化。当τ= 0时,不进行缩放。我们根据经验选择τ∈(01),这样权重就可以平滑地校正。 τ归一化后,分类logit由以下式子给出:

请注意,由于偏置项blogit和最终预测的影响可忽略,因此我们在此将其忽略掉。


可学习的权重缩放(LWS:解释τ归一化的另一种方法是将其视为对每个分类器wi的重要性(magnitude)进行重新缩放,同时保持方向不变。这可以写成:

尽管对于τ归一化,一般而言τ是通过交叉验证选择的,但我们将使用类平衡采样(如cRT)进一步研究学习训练集上的fi。在这种情况下,我们将表示和分类器权重保持固定,仅学习缩放因子fi。在我们的实验中,我们将此变体表示为可学习的权重缩放(LWS)。


采样策略与解耦的学习

解耦表征与分类器:DECOUPLING REPRESENTATION AND CLASSIFIER FOR LONG-TAILED RECOGNITION(ICLR2020)_第4张图片

1:使用ResNeXt-50ImageNet-LT上每个组(split)的不同分类器的性能。彩色标记表示用于学习表示的采样策略。

在图1中,我们将常规联合训练方案的不同采样策略与ImageNet-LT数据集上解耦学习方案的多种变体进行了比较。对于联合训练方案(联合),使用标准的交叉熵损失和不同的采样策略,将线性分类器和表示学习的骨干联合训练了90epoch,即实例平衡,类平衡,平方根和逐步平衡。对于解耦的学习方案,我们将在第4节介绍的所有方式中学习分类器时显示结果,即重新初始化和重新训练(cRT),最近分类均值(NCM)以及τ归一化分类器。下面,我们讨论了许多关键观察。

联合训练时采样很重要。根据图1中各个采样方法和分组(split)的联合结果,我们可以看出,采用更好的采样策略时,性能将持续提高(另请参见表5)。这种趋势对于总体性能以及medium-shot few-shot类都是一致的,渐进平衡采样可提供最佳结果。不出所料,实例平衡采样为many-shot类提供了最高的性能。这是很好的预期,因为生成的模型高度偏向many-shot类。我们在联合训练中针对不同采样策略的结果验证了相关工作,这些工作试图设计更好的数据采样方法。

解耦表征与分类器:DECOUPLING REPRESENTATION AND CLASSIFIER FOR LONG-TAILED RECOGNITION(ICLR2020)_第5张图片

5:使用不同采样策略的联合表征学习和分类器方法时ImageNet-LT的准确性。该表中的结果是图1中显示的结果的子集。

 

联合学习还是解耦学习?对于图1所示的大多数情况,使用解耦方法的性能在整体性能以及many-shot情况之外的所有方面均显着提高。在大多数情况下,即使非参数NCM方法也具有很高的竞争力,而cRT和τ归一化的性能大大优于联合训练的基准(即,比联合学习的分类器高5%),甚至总体上提高了2%与最佳的经过联合训练的最佳配置(具有逐步平衡的采样)相比,其准确性更高。medium-shot few-shot类的增益分别更高,分别为5%和11%。

为了进一步证明我们的观点,即分离表示和分类器是有益的,我们与线性分类器一起对骨干网(ResNeXt-50)进行了微调。在表1中,当以标准或更小(0.1倍)学习率微调整个网络,仅微调骨干网中的最后一个块,或仅重新训练线性分类器并固定表征时,我们给出结果。对整个网络进行微调会产生最差的性能(分别为46.3%和48.8%),而保持表征不变时为最佳(49.5%)。对于medium-shot few-shot类,这种趋势更加明显。这个结果表明解耦表示和分类器对于长尾识别是理想的。

解耦表征与分类器:DECOUPLING REPRESENTATION AND CLASSIFIER FOR LONG-TAILED RECOGNITION(ICLR2020)_第6张图片
1:在ImageNet-LT上对ResNeXt-50模型的不同部分进行重新训练/微调。 B:骨干网; C:分类器; LB:最后一块。

 

实例平衡采样提供了最泛化的表征。在所有解耦方法中,当涉及到整体性能以及除many-shor类之外的所有split时,我们看到实例平衡采样提供了最佳结果。这特别有趣,因为它意味着数据不平衡可能不是学习高质量表示形式的问题。

如何平衡分类器?

在图1中探讨的平衡分类器的方法中,非参数NCM的性能似乎比cRT和τ归一化稍差。除了在few-shot情况下,NCM表现可比之外,这两种方法在大多数情况下始终是更好的。 NCM方法的最大跌幅来自many-shot案件。 仍然令人惊讶的是,尽管它们没有接受额外的训练并且不涉及额外的采样程序,NCM和τ归一化的情况都具有竞争优势。正如在第4节中讨论的那样,它们的出色表现可能源于它们能够针对many-shotmedium-shot few-shot类自适应调整决策边界的能力(另请参见图4)。

在图2(左)中,我们根据经验显示了所有分类器的权重向量的L2范数,以及相对于训练集中的实例数以降序排序的训练数据分布。我们可以观察到,联合分类器的权重范数(蓝线)与相应类别的训练实例数量成正相关。Many-shot的类倾向于学习更大magnitudes的分类器。如图4所示,这在特征空间中产生了更宽的分类边界,从而使分类器在数据丰富的类上具有更高的准确性,但会损害数据稀缺的类。 τ归一化分类器(金线)通过提供更平衡的分类器权重幅度在某种程度上缓解了此问题。对于重训练(绿线),权重几乎是平衡的,只是few-shot的类具有稍大的分类器权重范数。注意,NCM方法将在图中给出一条水平线,因为在最近邻搜索之前对均值向量进行了L2归一化。


在图2(右)中,我们进一步研究了性能如何随着τ归一化分类器的温度参数τ的变化而变化。该图显示,随着τ从0开始增加,many-shot精度急剧下降,而few-shot精度急剧上升。

解耦表征与分类器:DECOUPLING REPRESENTATION AND CLASSIFIER FOR LONG-TAILED RECOGNITION(ICLR2020)_第7张图片

2:左图:当按nj的递减值对类进行排序时,ImageNet-LT验证集的分类器权重规范。蓝线:通过实例平衡采样学习的分类器权重。绿线:使用类平衡采样进行微调后的权重。金线:τ归一化之后。棕线:通过可学习的权重缩放获得的权重。右图:归一化参数τ不同值的精度。

 

τ-归一化和NCM的分类器决策边界

在图4中,我们展示了使用Eq.(3)进行归一化之前/之后的分类器决策边界,以及使用余弦距离时的边界。平衡这些范数还会导致更平衡的决策边界,从而允许few-shot类的分类器占据更多的空间。

解耦表征与分类器:DECOUPLING REPRESENTATION AND CLASSIFIER FOR LONG-TAILED RECOGNITION(ICLR2020)_第8张图片

5:使用不同采样策略的联合表征学习和分类器方法时ImageNet-LT的准确性。该表中的结果是图1中显示的结果的子集。

解耦表征与分类器:DECOUPLING REPRESENTATION AND CLASSIFIER FOR LONG-TAILED RECOGNITION(ICLR2020)_第9张图片

4   描述了不同分类器和它们相关的决策边界,其中wiwj分别表示类别ij的分类权重,Ci是特征空间中属于类别i的分类圆锥形,mi是类别i的特征均值。从左到右:τ→0的τ归一化分类器:具有较大权重的分类器具有较宽的决策边界。 τ→1的τ归一化分类器:对于不同的类,决策边界更加平衡。具有余弦相似度的NCM,其决策边界与分类器权重无关;具有欧几里得相似度的NCM,其决策边界将特征空间划分为Voronoi单元。

你可能感兴趣的:(不平衡数据的分类,计算机视觉,神经网络,深度学习)