ICCV2021 比MoCo更通用的对比学习范式,中科大MSRA提出对比学习新方法MaskCo
关注公众号,发现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相关推荐
- 中科大计算机科学与浙大比,高校实力大比拼:浙大和中科大的实力对比
说实话,本来不准备写这篇文章的,因为其实每所高校都有自己的优势学科,有自己的办学特点,办学实力强了对国家对社会的贡献更加强大!没必要非要为那些虚名争个你死我活.但是目前看了很多网络上的观点,却发现某些 ...
- 中科大 × MSRA | 周明博士讲座实录:自然语言处理让生活更美好
作者:微软学术合作 本文约5600字,建议阅读10分钟 MSRA 副院长周明博士以<沟通无界--自然语言处理让生活更美好>为主题,介绍了自然语言处理(NLP)尤其是神经网络 NLP 的进展 ...
- 无需在数据集上学习和预训练,这种图像修复新方法效果惊人 | 论文
林鳞 编译自 Github 量子位 出品 | 公众号 QbitAI Reddit上又炸了,原因是一个无需在数据集上学习和预训练就可以超分辨率.修补和去噪的方法:Deep image prior. 帖子 ...
- 中科大软件学院-高级软件工程学习总结
学习总结 1.俗话说基础不牢,地动山摇,与其钻研那些高精尖的技术,不如先打好自己的基础.而我觉得高软这门课,就是在帮我夯实基础的一个过程,本科非科班的我,没有接触过这门课程,但在接触编程之后,什么设计 ...
- 计算机网络(中科大郑烇)学习笔记
第一章 提纲 1.1什么是Internet 具体构成角度: 节点: 主机(端系统)及其上运行的应用程序 , 路由器.交换机等网络交换设备 边: 通信链路:包括接入网链路(主机连接到互联网的链路)和主干 ...
- 《强化学习》第6章 时序差分学习
第6章 时序差分学习 文章目录 第6章 时序差分学习 6.1 时序差分预测 练习 6.1 例6.1 开车回家 练习6.2 6.2 时序差分预测方法的优势 例6.2 随机游走 练习6.3 练习6.4 练 ...
- 旷视提Circle Loss,统一优化视角,革新深度特征学习范式 | CVPR 2020
作者 | 旷视研究院 本文是旷视 CVPR 2020的被收录论文解读第.它提出用于深度特征学习的Circle Loss,从相似性对优化角度正式统一了两种基本学习范式(分类学习和样本对学习)下的损失函数 ...
- CVPR 2020 Oral | 旷视提出Circle Loss,革新深度特征学习范式
点击上方"视学算法",选择加"星标"或"置顶" 重磅干货,第一时间送达 本文系旷视研究院投稿 本文是旷视CVPR2020论文系列解读第4篇, ...
- CVPR 2020 Oral | 旷视研究院提出Circle Loss,革新深度特征学习范式
IEEE 国际计算机视觉与模式识别会议 CVPR 2020 (IEEE Conference on Computer Vision and Pattern Recognition) 将于 6 月 14 ...
最新文章
- IDEA真牛逼,900行又臭又长的类重构,几分钟搞定
- 环境微生物期刊—FEMS Microbiology Ecology
- 学php还是日语,如何使用PHP检查该词是日语还是英文
- runtime 项目实战方法处理
- linux远程连接硬件加速,linux – 没有X的硬件加速
- vs2010 OpenGL 初体验
- Win7下部署Lepus企业级MySQL数据库监控
- 装ie9后无法用网银解决办法
- [梦]2005.2.10
- 长安链chainmaker 修改共识方法
- 众信金融获“2015最佳绿色贡献奖”
- matlab步长教程,matlab仿真步长
- 图片放大后不清晰怎么处理?
- 保姆教程 | YOLOv5在建筑工地中安全帽佩戴检测的应用
- Matplotlib风羽自定义
- css3(属性选择器,结构伪类选择器,伪元素选择器 ,css3盒子模型,滤镜filter, cale, 过渡transition))
- 常见电脑硬件故障有哪些?如何解决?~~~显卡故障
- java模拟器修改游戏分辨率_海马玩模拟器修改分辨率DPI和隐藏虚拟按键的方法...
- 推荐几个办公软件的神器
- Zemax操作--4(公差问题)
热门文章
- PyTorch 搭建神经网络 (MNIST)[含注释]
- Targeted Topic Modeling for Focused Analysis(TTM的理解)
- autohotkey编写windows脚本实现test.lab试验数据快速导出
- Apache HttpClient 4 3开发指南
- 计算机视觉基础---图像处理(几何变换)cpp+python
- RocketMQ源码学习
- Javascript——DOM编程
- _Linux 系统挂载数据盘
- 云服务器怎么管理文件,怎么管理云服务器的文件
- 平板电脑连接投影仪_苹果电脑如何连接投影仪 苹果Mac连接投影仪方法【详解】...