关注公众号,发现CV技术之美

今日分享 ICCV2021论文『Self-Supervised Visual Representations Learning by Contrastive Mask Prediction』,由中科大&MSRA共同提出对比学习新方法MaskCo,比MoCo更通用的对比学习范式。

详细信息如下:

  • 论文链接:https://arxiv.org/abs/2108.07954

  • 项目链接:未开源

导言:

自监督视觉表示学习方法依赖于实例识别(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在一系列下游任务中显示出更强的性能。

      01      

Motivation

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

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

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

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

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

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

      02      

方法

2.1. The Contrastive Mask Prediction Task

给定一张图片,一个小区域首先被mask掉,然后输入到神经网络中进行处理。训练目标是获得输入图片的特征表示,由此来预测mask的区域。掩模预测任务涉及一个基本假设,即内容与其上下文之间存在相关性 ,作者认为这通常对自然信号都是有效的,包括语言和图像。

然而,预测过程对于文本的token数据很容易实现,但对于像图像这样的连续数据,直接预测整个缺失的区域还是比较困难的。为了能够在图像进行掩模预测,作者将训练目标从预测被mask的区域内容改为从候选区域中选择正确的区域 ,并通过对比损失来实现,作者将这个任务称为对比掩模预测(contrastive mask prediction,CMP)

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

2.2. The Mask Contrast Approach

上图展示了本文方法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点积来衡量,损失函数的公式表示如下:

      03      

实验

3.1. Dataset Analysis

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

和为不同视图的Conv5的特征。

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

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

3.2. Main Results

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

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

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

3.3. Ablation Study

Effect of Mask Prediction Head

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

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

Effect of Mask

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

Negative Sampling Strategy

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

      04      

总结

在本文中,作者提出了一种新的SSL任务,即对比掩模预测(CMP),为了实现这个任务,作者设计了一个新的对比学习网络MaskCo。CMP的motivation是通过对当前主流的实例识别(ID)代理任务的局限性的分析。作者指出,ID是基于语义一致性假设,这就导致在无约束数据集上训练时的模型性能下降。

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

▊ 作者简介

研究领域:FightingCV公众号运营者,研究方向为多模态内容理解,专注于解决视觉模态和语言模态相结合的任务,促进Vision-Language模型的实地应用。

知乎/公众号:FightingCV

END

加入「自监督学习」交流群

ICCV2021 比MoCo更通用的对比学习范式,中科大MSRA提出对比学习新方法MaskCo相关推荐

  1. 中科大计算机科学与浙大比,高校实力大比拼:浙大和中科大的实力对比

    说实话,本来不准备写这篇文章的,因为其实每所高校都有自己的优势学科,有自己的办学特点,办学实力强了对国家对社会的贡献更加强大!没必要非要为那些虚名争个你死我活.但是目前看了很多网络上的观点,却发现某些 ...

  2. 中科大 × MSRA | 周明博士讲座实录:自然语言处理让生活更美好

    作者:微软学术合作 本文约5600字,建议阅读10分钟 MSRA 副院长周明博士以<沟通无界--自然语言处理让生活更美好>为主题,介绍了自然语言处理(NLP)尤其是神经网络 NLP 的进展 ...

  3. 无需在数据集上学习和预训练,这种图像修复新方法效果惊人 | 论文

    林鳞 编译自 Github 量子位 出品 | 公众号 QbitAI Reddit上又炸了,原因是一个无需在数据集上学习和预训练就可以超分辨率.修补和去噪的方法:Deep image prior. 帖子 ...

  4. 中科大软件学院-高级软件工程学习总结

    学习总结 1.俗话说基础不牢,地动山摇,与其钻研那些高精尖的技术,不如先打好自己的基础.而我觉得高软这门课,就是在帮我夯实基础的一个过程,本科非科班的我,没有接触过这门课程,但在接触编程之后,什么设计 ...

  5. 计算机网络(中科大郑烇)学习笔记

    第一章 提纲 1.1什么是Internet 具体构成角度: 节点: 主机(端系统)及其上运行的应用程序 , 路由器.交换机等网络交换设备 边: 通信链路:包括接入网链路(主机连接到互联网的链路)和主干 ...

  6. 《强化学习》第6章 时序差分学习

    第6章 时序差分学习 文章目录 第6章 时序差分学习 6.1 时序差分预测 练习 6.1 例6.1 开车回家 练习6.2 6.2 时序差分预测方法的优势 例6.2 随机游走 练习6.3 练习6.4 练 ...

  7. 旷视提Circle Loss,统一优化视角,革新深度特征学习范式 | CVPR 2020

    作者 | 旷视研究院 本文是旷视 CVPR 2020的被收录论文解读第.它提出用于深度特征学习的Circle Loss,从相似性对优化角度正式统一了两种基本学习范式(分类学习和样本对学习)下的损失函数 ...

  8. CVPR 2020 Oral | 旷视提出Circle Loss,革新深度特征学习范式

    点击上方"视学算法",选择加"星标"或"置顶" 重磅干货,第一时间送达 本文系旷视研究院投稿 本文是旷视CVPR2020论文系列解读第4篇, ...

  9. CVPR 2020 Oral | 旷视研究院提出Circle Loss,革新深度特征学习范式

    IEEE 国际计算机视觉与模式识别会议 CVPR 2020 (IEEE Conference on Computer Vision and Pattern Recognition) 将于 6 月 14 ...

最新文章

  1. IDEA真牛逼,900行又臭又长的类重构,几分钟搞定
  2. 环境微生物期刊—FEMS Microbiology Ecology
  3. 学php还是日语,如何使用PHP检查该词是日语还是英文
  4. runtime 项目实战方法处理
  5. linux远程连接硬件加速,linux – 没有X的硬件加速
  6. vs2010 OpenGL 初体验
  7. Win7下部署Lepus企业级MySQL数据库监控
  8. 装ie9后无法用网银解决办法
  9. [梦]2005.2.10
  10. 长安链chainmaker 修改共识方法
  11. 众信金融获“2015最佳绿色贡献奖”
  12. matlab步长教程,matlab仿真步长
  13. 图片放大后不清晰怎么处理?
  14. 保姆教程 | YOLOv5在建筑工地中安全帽佩戴检测的应用
  15. Matplotlib风羽自定义
  16. css3(属性选择器,结构伪类选择器,伪元素选择器 ,css3盒子模型,滤镜filter, cale, 过渡transition))
  17. 常见电脑硬件故障有哪些?如何解决?~~~显卡故障
  18. java模拟器修改游戏分辨率_海马玩模拟器修改分辨率DPI和隐藏虚拟按键的方法...
  19. 推荐几个办公软件的神器
  20. Zemax操作--4(公差问题)

热门文章

  1. PyTorch 搭建神经网络 (MNIST)[含注释]
  2. Targeted Topic Modeling for Focused Analysis(TTM的理解)
  3. autohotkey编写windows脚本实现test.lab试验数据快速导出
  4. Apache HttpClient 4 3开发指南
  5. 计算机视觉基础---图像处理(几何变换)cpp+python
  6. RocketMQ源码学习
  7. Javascript——DOM编程
  8. _Linux 系统挂载数据盘
  9. 云服务器怎么管理文件,怎么管理云服务器的文件
  10. 平板电脑连接投影仪_苹果电脑如何连接投影仪 苹果Mac连接投影仪方法【详解】...