点击文末公众号卡片,不错过计算机会议投稿信息
0 引言
许多加了我好友的读者知道尼谟之前的研究方向是“自监督学习”,而最近我无意中发现,CVPR最近三年引用量最高的论文竟然都是来自监督学习领域的,且三篇论文的作者都包括Facebook AI Research的何恺明(以下引用量均为2022.11.29.查询自Google Scholar):
(1)CVPR2020引用量最高论文为MoCo,引用量5224
Momentum Contrast for Unsupervised Visual Representation Learning
(2)CVPR2021引用量最高论文为SimSiam,引用量为1420
Exploring Simple Siamese Representation Learning
(3)CVPR2022引用量最高论文为MAE,引用量为834
Masked Autoencoders Are Scalable Vision Learners
碰巧这三篇论文我都较为熟悉,尼谟想斗胆聊聊(视觉)自监督学习领域为什么有这么高的关注度,以及何恺明这几篇工作究竟有什么共同点,能屡次获得高引用。希望这篇文章能对大家的科研工作有一些启发。
1 自监督学习简介
首先简单介绍下自监督学习的概念。自监督学习(Self-supervised Learning),笼统而言,是对于“损失函数中使用到的监督信息无需人工标注”的训练范式的一种统称,自监督学习可以用在预训练上,也可以用在实际任务本身的训练上,当然目前看来还是用在预训练上的情况显著更多。
具体举例来说,比如我有一堆无标注的图像数据,我希望通过这堆数据训练一个编码器网络,使其作为预训练模型迁移到下游的目标检测任务中时,可以比我从零训练得到的目标检测模型有更好的表现。于是我可以将每张无标注图像切分成九块,然后打乱其顺序,之后训练一个网络,使其能预测出正确的九宫格排列顺序,这样的训练过程就叫“自监督学习”,这样训练出了的网络的编码器(表征网络)部分就可以迁移到下游任务上使用。
所以,用于预训练模型的自监督学习也在很多论文中被说成是“无监督表征学习”(Unsupervised Representation Learning)。
在自监督学习领域,NLP(自然语言处理)显然走在CV(计算机视觉)的前列。在NLP中BERT、GPT-3等基于自监督学习的预训练模型早已在不同的NLP应用领域中大放异彩,而CV中的自监督学习还远远没有达到如此高的应用普及程度。然而这一现状也完全可以看作是一个可以“科研套利”的点,即,既然自监督学习在NLP中能有这样广泛和深入的应用,那么不久的将来,自监督学习在CV中的应用程度也会不断接近于当前NLP的现状。
进一步说,现实世界中,当我们面对特定任务时,无论是语料数据还是图像视频数据,真能有针对任务本身的标注信息的情况下的数据一定是占总数据量的1%都不到的,所以未来的大趋势必然就是要让AI能针对无标注信息有更强的学习能力,这就更体现出自监督学习的巨大潜力。
2 MoCo--对比学习的崛起
上面说了这么多废话,主要就是想说明为什么自监督学习这个领域能有这么巨大的关注度。接下去就要具体地去聊这三篇论文了。在聊这三篇文章前,我们首先要了解一个概念叫“对比学习”(Contrastive Learning)。根据我上面的介绍,大家也可以看出,自监督学习研究的核心在于,如何在数据集无标注信息的情况下设计一个好的lossfunction,使得训练得到的模型能更好地从无标注数据中学习到有利于下游任务的知识(当然针对不同的网络Backbone结构肯定有不同的适用的自监督学习方法,但这块儿研究的核心还是loss设计而不是backbone设计)。
(视觉)自监督学习最早可以追溯到16-17年,早期的方法大部分都是偏向于生成式的方法,其网络结构一般都是类Autoencoder形式的。而2020年至今自监督学习中最为常用和有影响力的loss function是什么呢?我觉得大家都会同意的答案,就是InfoNCE,而对比学习就是使用InfoNCE及其变种对网络进行自监督学习训练(以学习到样本经过随机数据增强时的Invariance)的一种统称。InfoNCE函数长成下面这个样子:
简单说下这个loss的学习目标到底是啥。将同一个样本做两次随机数据增强得到两个增强样本,这两个样本是不同的(由于数据增强具有随机性,比如增加随机的高斯噪声),但它们包含的某些语义信息是高度相似的。数据增强过程参考下图[5]:
将这两个样本输入同一个编码器网络,能提取得到两个表征向量,而InfoNCE的学习目标,就是要让这两个来自同一样本的增强样本的表征向量尽量接近,而让每个表征向量和来自其不同样本的表征向量尽量远离。参考下图所示[5]:
这听起来是一个非常简单的idea,但是这个方法真的有效,最早该loss function被应用在(视觉)自监督学习中应该是在2019年的论文CPC中[4](我的印象中是这样,如果有人知道更早的也可以告诉我),被“发扬光大”则是在今天提到的三篇论文中的第一篇MoCo中。
MoCo之前也有人将InfoNCE应用于学习到随机数据增强中蕴含的Invariance中(以下简称为“对比学习”),但MoCo在工程实践上展现出了FAIR和何恺明的实力,它无论是在性能效果上还是在实验充分性上都有着代表性的价值,所以MoCo某种程度上可以认为是对比学习应用于视觉自监督学习中的开山之作。之后大量的对比学习工作,其各种改进和变种都喜欢以MoCo的方法为基础进行修改,可见其影响力之高(因为大家都在MoCo的基础上修修改改,所以它的引用量自然就特别高了)。
3 SimSiam--对比学习的去负样本化
继MoCo之后,对比学习中又出了SimCLR[5]等几个很有影响力的工作。而在不久后,对比学习的研究又掀起了一阵新的风潮,叫做“去负样本化”。
这个“负样本”又是个什么玩意儿呢?让我们复制一下上面对“对比学习”的描述:“而InfoNCE的学习目标,就是要让(1)这两个来自同一样本的增强样本的表征向量尽量接近,(2)而让每个表征向量和来自其不同样本的表征向量尽量远离。”对于每个表征向量来说,所有与其来自不同样本的表征向量都是它的负样本,因为InfoNCE的学习目标要求它要和与这些负样本都互相远离,而与其来自同一样本不同随机数据增强的表征向量则是它的正样本。各种自监督工作都显示,负样本越多则使用InfoNCE训练的效果越好。MoCo之所以效果好,就是因为该方法通过巧妙设计queue-based的memory bank大大增加了训练时的负样本数量。
为什么一定需要这些负样本呢?我们只让两个来自同一样本的增强样本的表征向量尽量接近,难道无法学习到Invariance吗?无数研究表明,不行。简而言之,只有目标(1)而没有(2),自监督学习训练得到的编码器网络,无论你输入什么样本,它都会输出一样的表征向量,因为这样也能完美满足目标(1)的要求,这种现象在自监督学习中被称为“complete collapse”。
然而,随着BYOL[6]工作的提出,人们逐渐发现了一些不使用显性负样本也能规避“completecollapse”的情况,由于这种现象一定程度上比较反直觉,于是这方面的工作开始受到了越来越多的关注。之后,SimSiam,也就是我们今天提到的第二篇论文,成为了“去负样本化”对比学习中具有总结性的一篇工作,而且它的学习框架可以说是最简单的。
SimSiam的详细框架这里不多做赘述了,简而言之,SimSiam在仅用(1)作为学习目标的情况下,通过一个Stop Gradient和一个被称为predictor的小MLP网络,就可以规避“complete collapse”而达到与MoCo相近的性能效果。如果用一句话来描述SimSiam,那我觉得应该是“去负样本化对比学习中最简单的方法”。
4 MAE--对比学习的新对手
之后,到了2021年11月,何恺明又在arXiv上挂了一篇新的工作,不同于以往自监督学习以卷积神经网络为主要的backbone来进行实验,何恺明的新作,主要针对Vision Transformer(一类针对视觉任务设计的Transformer结构)作为backbone来进行实验,并提出一个颠覆性的观点:类Autoencoder方法在针对Vision Transformer的自监督学习中,相较于对比学习能有更好的效果。最关键的是,这个方法的框架又又又非常简单,具有一种简洁的美感。简而言之,将一张图片中挖出很多方形的空白区域,再训练一个模型使其有能力将其填上(参考下图[3])。这个方法光看描述就像是2017年的自监督学习论文被改写了一下来水论文的,然而人家Kaiming就是能做出效果来,效果还能超对比学习,详细细节还是看论文吧。
5 结语
总结一下,何恺明参与的这三篇高引用量自监督学习工作,它们都有一个特点,都是研究范式转换的一个节点,而不是固有研究范式中的新方法或新解释。(当然也不是说其他自监督学习工作没影响力,毕竟别人可能没投CVPR。)三篇论文分别可以(不严谨地)归纳为:
MoCo:对比学习崛起的开山之作(之一)
SimSiam:对比学习去负样本化的集大成之作(之一)
MAE:对比学习的地位动摇之作(之一)
值得一提的是,SimSiam工作提出时并不是当时同类方法中刷点最高的,MAE更是没和之前的工作在同样的实验方式下做比较(而是针对另一种backbone做研究了)。所以SOTA不是研究的全部,范式转换可能是更有性价比也更有意思的工作。当然范式转换和SOTA都挺难的,虽然我们能总结出这些高影响力工作的特点,但是其实也没啥用哈哈,看个乐吧。
参考文献
[1] He, Kaiming, et al. "Momentum contrast for unsupervised visual representation learning." Proceedings of the IEEE/CVF conference on computer vision and pattern recognition. 2020.
[2] Chen, Xinlei, and Kaiming He. "Exploring simple siamese representation learning." Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition. 2021.
[3] He, Kaiming, et al. "Masked autoencoders are scalable vision learners." Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition. 2022.
[4] Oord, Aaron van den, Yazhe Li, and Oriol Vinyals. "Representation learning with contrastive predictive coding." arXiv preprint arXiv:1807.03748 (2018).
[5] Chen, Ting, et al. "A simple framework for contrastive learning of visual representations." International conference on machine learning. PMLR, 2020.
[6] Grill, Jean-Bastien, et al. "Bootstrap your own latent-a new approach to self-supervised learning." Advances in neural information processing systems 33 (2020): 21271-21284.
三篇论文链接:
MoCo: https://arxiv.org/pdf/1911.05722.pdf
SimSiam: https://arxiv.org/pdf/2011.10566.pdf
MAE: https://arxiv.org/pdf/2111.06377.pdf
- 本文首发于【计算机会议投稿】公众号,作者尼谟为中科院自动化所工程师。
-
- 该公众号为CCF所有收录会议设立投稿交流群,后台回复会议名即可进群,群内活跃度高,进群讨论不错过会议信息。
-
- 公众号文章会发布近期截稿会议、转投会议推荐、录用率趋势、录用分数分析等重要信息,欢迎各位计算机科研人关注本号或与尼谟交流。