0%

zhj 【NIPS2020】Supervised Contrastive Learning

Supervised Contrastive Learning

关键词:对比学习;自监督;

Abstract

对比学习在自我监督表征学习中的应用近年来得到了迅速的发展,在深度图像模型的无监督训练中取得了很好的效果。现代批量对比方法包含或显著优于传统的对比损失,如三元组、最大边际和N对损失。在这项工作中,我们将自我监督的批对比方法扩展到完全监督的设置,使我们能够有效地利用标签信息。属于同一类的点簇在嵌入空间中被拉到一起,同时将来自不同类的样本簇分开。我们分析了监督对比(SupCon)损失的两种可能形式,确定了损失的最佳表现公式。在ResNet-200上,我们在ImageNet数据集上实现了81.4%的top-1准确率,比该体系结构报告的最佳数字高出0.8%。
我们在其他数据集和两个ResNet变量上显示了一致的优于交叉熵的性能。这种损失显示了对自然损坏的健壮性的好处,并且对于超参数设置(如优化器和数据处理)更为稳定。

1 Introduction

交叉熵损失是深度分类模型监督学习中应用最广泛的损失函数。许多研究探索了这种损失的缺点,如对噪声标签缺乏鲁棒性[64,46],以及边缘差的可能性[10,31],导致泛化性能降低。然而,在实践中,大多数建议的替代方案并没有更好地适用于大规模数据集,如ImageNet[7],这一点可以通过继续使用交叉熵来实现最新的结果来证明.

近年来,对比学习工作的重新兴起导致了自我监督表征学习的重大进展[55,18,38,48,22,3,15]。这些作品的共同思想是:在嵌入空间中把一个锚和一个“正”样本拉在一起,把锚从许多“负”样本中推开。由于没有可用的标签,正对通常由样本的数据扩充组成,负对由锚定和从minibatch中随机选择的样本组成。这在图2(左)中描绘。在[38,48]中,不同数据视图之间的对比损失与互信息最大化之间存在联系。

在这项工作中,我们提出了一个监督学习的损失,建立在对比自我监督文献的基础上,利用标签信息。来自同一类的规范化嵌入比来自不同类的嵌入更紧密地联系在一起。我们在这项工作中的技术创新之处在于,除了许多负面因素外,还考虑了每个锚定的许多正面因素(与只使用一个正面因素的自我监督对比学习相反)。这些积极因素是从与锚定相同类别的样本中提取的,而不是像在自监督学习中那样作为锚定的数据扩充。虽然这是自我监督设置的简单扩展,但如何正确设置损失函数并不明显,我们分析了两种选择。

我们的损失可以看作是triple loss[53]和N-pair loss[45]的推广.

image-20210329111039811

image-20210331110557625

这是第一个对比损失一贯表现优于交叉熵的大规模分类问题。此外,它提供了一个统一的损失函数,可用于自监督或监督学习。

我们的主要贡献总结如下:

  1. 我们提出了一个新的扩展对比损失函数,每个锚点有多个正样本,从而适应对比学习的全监督设置。从分析和经验上,我们证明了原始的扩展的性能比我们提出的版本差得多。
  2. 我们表明,我们的损失为许多数据集提供了一致的提高,在前1的准确性。它也更为鲁棒。
  3. 我们的经验表明,我们的损失比交叉熵对一系列超参数不那么敏感。

交叉熵损失函数的缺点:

许多论文研究了交叉熵损失的其他缺点,如对噪声标签的敏感性[64,46],存在对抗性样本[10,36],以及较差的边缘[2]。虽然已经提出了替代损失函数,但实践中最有效的想法是改变参考标签分布的方法:如标签平滑[47,35];数据增强方法:如Mixup[61]和CutMix[60],以及知识提取[21]。

3 Method

我们的方法在结构上与CMC和simCLR中用于自监督对比学习的方法相似,但对监督分类进行了修改。给定一批输入数据,我们首先应用两次数据增强,得到该批数据的两个副本。两个拷贝通过编码器网络向前传播以获得2048维的规范化嵌入。在训练过程中,这种表示通过投影网络进一步传播,投影网络在推理时被丢弃。
根据投影网络的输出计算监督对比损失。为了使用训练好的模型进行分类,我们使用交叉熵损失在冻结表示的基础上训练了一个线性分类器。

image-20210331111544441

3.1 Representation Learning Framework

我们框架的主要组成部分是:

  • 数据扩充模块,Aug(·)。. 对于每个输入样本x,我们生成两个随机的增强数据x=Aug(x),每个增强数据表示不同的数据视图,并包含原始样本中的一些信息子集。第4节给出了增强的细节。

  • 编码器网络,Enc(·),它把x映射到一个表示向量,r=Enc(x)。两个增强样本分别输入到同一个编码器,产生一对表示向量。r中被归一化为单位超球(在本文所有的实验中设置维度为2048)。与[42,52]的研究结果一致,我们的分析和实验表明,这种归一化提高了top-1的准确率。

  • 投影网络,P roj(·),,将r映射到向量z=P roj(r)。我们将P roj(·)实例化为具有大小为2048的单个隐藏层和大小为DP=128的输出向量的多层感知器[14],或者仅具有大小为DP=128的单个线性层;我们将最优P-roj(·)结构的研究留给以后的工作。我们再次将这个网络的输出标准化到单位超球面上,这样就可以使用内积来测量投影空间中的距离。在自我监督对比学习[48,3]中,我们在对比训练结束时抛弃了P-roj(·)。因此,我们的推理时间模型包含的参数数目与使用相同编码器Enc(·)的交叉熵模型完全相同。==这里的投影头,可以是MLP,也可以是Linear。simclr认为MLP的投影头比Linear的效果更好。另外,注意在投影头之前和之后,都对隐变量做了一次标准化。==

3.2 Contrastive Loss Functions

在这个框架下,我们现在来看看对比损失家族,从自我监督领域开始,分析使之适应监督领域的选择,表明一个公式是优越的。

3.2.1 Self-Supervised Contrastive Loss

传统的自监督损失函数:

注意,对于每个锚i,有1个正对和2n2个负对。==分母共有2n -1项(正项和负项)==。

3.2.2 Supervised Contrastive Losses

对于有监督学习,等式1中的对比损失无法处理由于标签的存在,多个样本已知属于同一类的情况。然而,推广到任意数量的正数,会导致在多个可能的函数之间进行选择。方程式。2和3给出了两种最直接的方法来概括公式1,以考虑有监督信息。

这两种损失都具有以下理想特性:

  • 任意数量的正例对的推广。. Eqs的主要结构变化。公式1上的2和3是,现在,对于任何锚定,多视图批次中的所有阳性(即,基于增强的样本以及具有相同标签的任何剩余样本)都与分子有关。对于随机生成的批,其大小相对于类的数量而言较大,将出现多个附加项(平均而言,N/C,其中C是类的数量)。监督损失鼓励编码器对来自同一类的所有条目提供紧密对齐的表示,从而产生比由等式1生成的表示空间更健壮的表示空间聚类,这一点在Sec 4的实验中得到了支持。

  • 对比能力随着负面因素的增加而增加。其中,通过添加更多负性示例来提高信号和噪声(负)之间的辨别能力。这种特性对于自监督对比学习的表征学习具有重要意义,许多论文表现出随着否定数的增加而提高的表现

  • 执行难正/负挖掘的内在能力。当与标准化表示一起使用时,公式1中的损失会导致梯度结构,从而产生隐式硬正/负挖掘。难正/负样本(即,继续对比锚定对编码器有很大好处)的梯度贡献较大,而容易正/负样本(即,继续对比锚定对编码器只有微弱好处)的梯度贡献较小。此外,对于难正样本,效果随着负样本数量的增加(渐进地)增加。方程式。2和3都保留了这个有用的性质,并将其推广到所有的正样本。这种隐含的属性允许对比损失避开显式难样本发掘的需要,这是许多损失的一个微妙但关键的部分,例如三重态损失。

然而,这两种损失公式并不相等。因为log是凹函数,所以Jensen不等式[23]表示L sup in≤Lsup out。因此,人们会期望L sup out是更好的监督损失函数(因为它的上限是L sup in)。这一结论也得到了理论上的支持。

image-20210326104452766

在这篇文章的其余部分,我们只考虑了$\mathcal{L}_{\text {out }}^{\text {sup }}$。

4 Experiments

我们通过在包括CIFAR-10和CIFAR-100[27]和Ima  geNet[7]在内的许多常见图像分类基准上测量分类精度,来评估SupCon损失(L sup out,公式2)。我们还测试了ImageNet模型对常见图像损坏的鲁棒性[19],并展示了性能如何随超参数和减少数据的变化而变化。对于编码器网络(Enc(·)),我们试验了三种常用的编码器架构:ResNet-50、ResNet-101和ResNet-200[17]、最终池层(DE=2048)的规范化激活被用作表示向量。我们试验了Aug(·)数据增强模块的四种不同实现:自动增强[5];随机增强[6];SimAugment[3]和Stacked RandAugment[49](请参阅补充说明中的SimAugment和Stacked randagment实现的详细信息)。对于SupCon和交叉熵,AutoAugment都优于ResNet-50上的所有其他数据增强策略。对于这两种损失函数,叠加RandAugment对ResNet-200的性能最好。我们在附录中提供了更多细节

4.1 Classifification Accuracy

表2显示,SupCon在CIFAR-10、CIFAR-100和ImageNet数据集上的推广优于交叉熵、边缘分类器(使用标签)和无监督对比学习技术。表3显示了针对ImageNet的ResNet-50和ResNet-200(我们使用ResNet-v1[17])的结果。我们在ResNet-50上通过AutoAugment实现了78.7%的最新精度。

image-20210331112321937

image-20210331112333082

Evaluation protocol(Data-Efficient Image Recognition with Contrastive Predictive Coding)

  • Linear classification 线性分类是评价无监督图像表现质量的标准基准。在这种情况下,分类网络hψ被限制为一个池,然后是一个线性层,θ以外的参数保持不变。标记的数据集是整个ImageNet数据集,监督的损失超过标准交叉熵。我们使用与无监督学习阶段相同的数据扩充进行训练,在测试时不使用任何数据扩充,并使用单个作物进行评估
  • Efficient classification 有效的分类直接测试CPC表示是否能够从很少的标签进行泛化。对于这个任务,分类器rhψ是一个任意深度的神经网络
  • Transfer learning 迁移到其他数据集上。

一些想法:

多视图对比学习CMC也可以使用这个损失函数,从而将多个正样本考虑进去。

image-20210329111415460