ICCV2021《MaskCo》比MoCo更通用的对比学习范式,中科大&MSRA提出对比学习新方法MaskCo

作者 | 小马
编辑 | CV君
报道 | 我爱计算机视觉(微信id:aicvml)

【写在前面】

自监督视觉表示学习方法依赖于实例识别(instance discrimination,ID) 的代理任务(pretext task)。ID任务具有隐式语义一致性(semantic consistency,SC) 假设,这在不受约束的数据集中可能是不成立的。在本文中,作者提出了一种对比掩模预测(contrastive mask prediction,CMP) 任务,并设计了一个MaskCo 框架来实现该任务。

MaskCo对比了区域级特征,而不是视图级特征,这使得在没有SC假设的情况下也能够识别正样本。为了解决mask特征和unmask特征之间的域差距,作者在MaskCo中设计了一个专用的掩码预测头。

作者在ImageNet之外的训练数据集上评估了MaskCo,并将其与MoCoV2的性能进行了比较。结果表明,使用ImageNet训练数据集,MaskCo实现了与MoCoV2相当的性能。但当COCO或Conceptual Captions用于训练时,MoCoV2在一系列下游任务中显示出更强的性能。

1. 论文和代码地址

ICCV2021《MaskCo》比MoCo更通用的对比学习范式

Self-Supervised Visual Representations Learning by Contrastive Mask Prediction

论文地址:https://arxiv.org/abs/2108.07954

代码地址:未开源

2. Motivation

近年来,视觉表示的自监督学习(SSL)取得了巨大的成功,促进了广泛的下游任务,包括视觉任务和跨模态任务。最新,一些基于对比学习的SSL方法在下游图像分类任务上取得了良好的效果,进一步缩小了它们与监督学习方法之间的性能差距。由于SSL方法不需要对训练数据集进行人工标注,因此在工业界具有非常大的应用价值。

ICCV2021《MaskCo》比MoCo更通用的对比学习范式

目前,用于视觉特征学习的SSL方法主要是一些基于实例识别(instance discrimination,ID)的代理任务(pretext task)。其背后的思想如上图所示,通过区分两个视图是否属于同一张图片来获得更好的视觉特征表示。为了实现这一想法,SSL方法优化一个对比损失函数,它强制模型为单个图像的不同视图输出足够接近的表示。由于语义信息是视觉特征的主要组成部分,因此这里的一个隐式假设是,训练图像的多视图应该具有一致的语义意义 ,即语义一致性(SC)假设 。

ICCV2021《MaskCo》比MoCo更通用的对比学习范式

在ImageNet数据集中,SC假设几乎是满足的。上图(a)展示了来自ImageNet数据集的示例图像及其两个裁剪视图。这两个裁剪视图对同一种鱼的不同部分进行取样,所以让它们具有相似的特征表示是相当合理的。但是,如果基于ID的SSL方法要扩展到ImageNet之外的数据集,它们将需要处理像上图(b)中的图像。图像的两个裁剪视图包含属于语义类别完全不同的对象,强制使这两个视图的输出尽可能相似就显得没有那么合理了。

因此,本文旨在探索不依赖于SC假设的代理任务 。在NLP领域,自监督模型(如BERT)通常采用的是MLM作为代理任务,即预测被mask的词。在视觉领域, image inpainting也是一种mask预测任务,并已被用作视觉表示学习的代理任务。然而,image inpainting是一种在像素空间中操作的生成方法,这种方法的计算成本昂贵,而且图像生成所需要的高水平细节可能对于下游任务来说是冗余的。

ICCV2021《MaskCo》比MoCo更通用的对比学习范式

在本文中,作者提出使用对比掩  预测(contrastive mask prediction,CMP) 任务作为自监督视觉表示学习的代理任务。其思想如上图所示,为了实例化这种思想,作者提出了MaskCo模型。在MaskCo的设计中,需要解决了两个基本问题,即要对比哪些特征?如何解决mask区域和unmask区域特征之间的域差距?

首先,作者使用区域级特征而不是视图级特征来计算对比损失。这种选择是摆脱SC假设的关键,因为MaskCo比较了区域的mask版本和unmask版本 ,而不是比较两个视图。其次,由于来自mask视图和unmask视图的预测特征之间存在域差距,作者在网络中插入一个掩码预测头(MPH)来弥合域差距 。定量和定性结果均表明,MPH是MaskCo中不可或缺的组成部分。

3. 方法

3.1. The Contrastive Mask Prediction Task

给定一张图片,一个小区域首先被mask掉,然后输入到神经网络中进行处理。训练目标是获得输入图片的特征表示,由此来预测mask的区域。掩模预测任务涉及一个基本假设,即内容与其上下文之间存在相关性 ,作者认为这通常对自然信号都是有效的,包括语言和图像。然而,预测过程对于文本的token数据很容易实现,但对于像图像这样的连续数据,直接预测整个缺失的区域还是比较困难的。为了能够在图像进行掩模预测,作者将训练目标从预测被mask的区域内容改为从候选区域中选择正确的区域 ,并通过对比损失来实现,作者将这个任务称为对比掩模预测(contrastive mask prediction,CMP) 。

ICCV2021《MaskCo》比MoCo更通用的对比学习范式

CMP的示意图如上图所示。图像中包含一只鸟,鸟的顶部被遮住了。通过看到这个被mask的图,人们可以合理地猜测,mask的区域应该包括一只鸟的头。这种能力来自于对语义内容的理解,这也是作者希望预训练的模型所拥有的能力。然而,由于鸟的细节可能会有所不同,所以人们也很难绘制缺失部分的确切像素。因此,这就是为什么作者选择通过对比的方式来选择正确的区域,而不是在以前的工作中那样采用生成的方法。

3.2. The Mask Contrast Approach

ICCV2021《MaskCo》比MoCo更通用的对比学习范式

上图展示了本文方法MaskCo的流程。与MoCo类似,作者在预训练中采用了Siamese network结构,在线网络处理query视图,目标网络处理key视图。在线网络中的参数通过反向传播进行更新,而目标网络中的参数通过动量进行更新。

MaskCo的第一个特点是,执行区域级对比 ,而不是视图级对比。虽然这个想法对于mask预测任务相当简单,但它是摆脱在ID任务中使用的SC假设的关键。这是因为,对于mask区域的预测特征,从unmask视图中提取的同一区域的表示是一个不依赖于SC假设,它是根据上下文的信息得到的。

给定一个图像实例,首先通过随机裁剪和其他数据增强技术创建query视图和key视图。这里的约束条件是,这两个视图应该有足够大的重叠面积。然后,在两个视图的重叠部分内识别出一个mask区域。在query视图中,选定的区域被mask为零。在key视图中,所选区域是唯一的正样本区域。然后从同一张图片或者其他图片中随机选择一些负样本区域。query视图和key视图通过主干网络,提取的特征再通过一个额外的掩码预测头(MPH),最后用RoI align操作提取区域级特征。

MaskCo的另一个特点是,MPH的设计 。MaskCo依靠MPH来弥合mask区域和unmask区域特征之间的域差距。在大多数下游任务中,主干网络被用于获取unmask图像的表示。因此,它不需要具有填补空白区域的能力。然而,在预训练阶段,作者将mask区域的特征与unmask区域的所有其他特征进行了对比。该网络自然会学习如何进行掩码预测。然而,在通常的视觉特征(unmask区域)和任务特定的特征(mask区域)之间存在域差距。因此,作者设计了一个专门的掩模预测模块,并将其插入到主干网络和RoI align操作之间。实现上,MPH只是简单地由几个卷积层来实现的。

作者使用对比损失作为训练目标。将一个编码的特征作为query,将一个编码特征集合作为key。其中,key集合里面和query中匹配的key记为,为正样本。相似度用用L2-normalized点积来衡量,损失函数的公式表示如下:

ICCV2021《MaskCo》比MoCo更通用的对比学习范式

4.实验

4.1. Dataset Analysis

首先作者基于ResNet50模型,定义了一个指标ResNet distance,计算方法如下:

ICCV2021《MaskCo》比MoCo更通用的对比学习范式

为不同视图的Conv5的特征。

ICCV2021《MaskCo》比MoCo更通用的对比学习范式

从上表可以看出,COCO和CC数据集的ResNet distance比ImageNet高。

ICCV2021《MaskCo》比MoCo更通用的对比学习范式

为了消除数据集大小的影响,作者将ImageNet-10%和COCO数据集在不同的方法上进行了实验,可以看出,以前的方法在COCO数据集上训练时的性能都会下降。

4.2. Main Results

ICCV2021《MaskCo》比MoCo更通用的对比学习范式

上表显示了不同数据集上的MaskCo和MoCo v2的性能对比,本文方法在ImageNet上和MoCo v2性能差不多,但是在COCO和CC数据集上比MoCo v2性能高。

ICCV2021《MaskCo》比MoCo更通用的对比学习范式

如上图所示,在600k迭代后,COCO的训练开始达到饱和,但在较大的CC数据集上的训练没有显示任何饱和迹象。

ICCV2021《MaskCo》比MoCo更通用的对比学习范式

上表中比较了MaskCo和大多数SOTA SSL方法。预训练的数据集是ImageNet,所以MaskCo优势不大;但是MaskCo的检测分割任务性能还是挺不错的。

4.3. Ablation Study

Effect of Mask Prediction Head

ICCV2021《MaskCo》比MoCo更通用的对比学习范式

为了验证MPH的作用,作者进行了消融实验,当block数为0的时候,代表没有使用MPH。可以看出,当使用MPH时,ImageNet上的分类性能提升。但是检测任务上性能影响不大。

ICCV2021《MaskCo》比MoCo更通用的对比学习范式

上图展示了 MPH的特征可视化。

Effect of Mask

ICCV2021《MaskCo》比MoCo更通用的对比学习范式

上表展示了有Mask和无Mask任务时的检测和分类任务性能对比。

Negative Sampling Strategy

ICCV2021《MaskCo》比MoCo更通用的对比学习范式

上表展示了负样本在图片内,图片间和都采样的结果对比。

5. 总结

在本文中,作者提出了一种新的SSL任务,即对比掩模预测(CMP),为了实现这个任务,作者设计了一个新的对比学习网络MaskCo。CMP的motivation是通过对当前主流的实例识别(ID)代理任务的局限性的分析。

作者指出,ID是基于语义一致性假设,这就导致在无约束数据集上训练时的模型性能下降。本文的方法是基于一个更基本的假设,即上下文是相关的 。与基于ID的方法MoCov2相比,MaskCo在多个预训练数据集上实现了一致的性能增益。作为一项通用的代理任务,CMP在无约束数据集上的训练方面显示出了巨大的前景,为自我监督学习开辟了一条新的道路。

转载请注明:《ICCV2021《MaskCo》比MoCo更通用的对比学习范式,中科大&MSRA提出对比学习新方法MaskCo