对比自监督学习

Posted gaopursuit

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了对比自监督学习相关的知识,希望对你有一定的参考价值。

Contrastive self-supervised learning techniques are a promising class of methods that build representations by learning to encode what makes two things similar or different.

主要内容来自Ankesh Anand 的博客

自监督方法在深度学习中将取代当前占主导地位监督方法的预言已经存在了很长时间。 如今,自监督方法在Pascal VOC检测方面已经超过了监督方法(2019年何恺明提出的MoCo方法),并且在许多其他任务上也显示出了出色的结果。 最近自监督方法兴起的背后是他们都遵循了 contrastive learning 。

当前的机器学习方法大多依赖于人类标注信息,这种对标注信息的过度依赖有如下危险:

  • 数据的内部结构远比标注提供的信息要丰富,因此通常需要大量的训练样本,但得到的模型有时是较为脆弱的。
  • 在高维分类问题上,我们不能直接依赖监督信息;同时,在增强学习等问题上,获取标签的成本非常高。
  • 标签信息通常适用于解决特定的任务,而不是可以做为知识一样可以重新利用。

因此,自监督学习成为一种非常有前途的方法,因为数据本身为学习算法提供了监督信息。这里,我们回顾当前新出现的几种自监督方法。

一个简单的例子

技术图片

Epstein在2016年做了一个实验,受试者要求尽可能详细地画出美元图片。上图中左边为受试者按照自己的记忆画出来的一美元图片,右边为受试者携带着美元(不是一美元)然后照着画出来的一美元图片。实验表示,当有类似的美元图片做为参考时,人们画的要更好。

尽管无数次见过美元,但我们仍然不能记住它,并把它画出来。实际上,我们只是记住了美元的一些与其它对象有区分性的特征。因此,我们是不是可以构建一些不专注于像素细节的表示学习算法(representation learning algorithm),通过对高层特征编码来实现不同对象的区分?

Generative VS Contrastive 方法

当前的自监督方法大致可以分为两类:

技术图片

对比方法(Contrastive methods)通过正面和负面的例子来学习表征。尽管不是全新的思路,对比方法通过无监督的对比预训练(Unsupervised contrastive pre-training)在计算机视觉任务中取得了巨大的成功。

比较知名的方法有:

  • 在未标记的ImageNet数据上训练并使用线性分类器的无监督对比方法已经超过了监督的AlexNet(2019年Henaff提出的CPC方法)。
  • ImageNet上的对比式预训练成功地转移到了其它任务,并且胜过了监督的预训练任务(2019年何恺明提出的MoCo方法)。

和传统的 Generative model 不同,传统方法专注于像素空间的特征,会存在如下不足:

  • 使用像素级loss可能导致此类方法过于关注基于像素的细节,而不是抽象的语义信息。
  • 在于像素分析的方法难以有效的建立空间关联及对象的复杂结构。

对比模型是如何工作的?

对于数据(x),对比主法目标是学习一个(f)

技术图片

这里(x^+)指的是与(x) 相似的数据(正样本),(x^-)指的是与(x) 不相似的数据(负样本)。score 函数是一个度量函数,评价两个特征间的相似性。

(x)通常称为“anchor” 数据。为了解决这个问题,我们可以构建一个softmax分类器。类似的,对于N-way softmax 分类器,我们构建一个交叉熵损失,一般被称为InfoNCE 损失。为了最小化InfoNCE损失,可参考Poole的文章。

这里回顾下最近的一些工作:

Deep InfoMax (Hjelm et al. 2018)

技术图片

Deep InfoMax 通过利用图像中的局部结构来学习图像表示,如上图所示。 这个方法中的对比任务是对一对图像中的全局特征和局部特征进行分类。 在这里,全局特征是CNN的最终输出(平面向量,Y),局部特征是编码器中的中间层的输出(M x M特征图)。 每个局部特征图都有一个有限的感受野。 因此,要出色的完成对比任务,全局特征必须捕获来自所有不同局部区域的信息。

Deep InfoMax 的损失函数和上面我们提到的类似,对于一个 anchor image (x)(f(x)) 是全局特征,(f(x^+))是来自相同图像的局部特征, (f(x^-))是来自不同图像的局部特征。在后续工作中,Augment Multiscale Deep InfoMax (Bachman et al., 2019)在无监督训练的情况下在ImageNet上TOP-1的准确率达到了68.4%。

Contrastive Predictive Coding (Oord et al., 2018)

Contrastive Predictive Coding (CPC) 是一个可以适用于文本、语音、视频、图像等任何形式数据的对比方法(图像可以看作为由像素或者图像块组成的序列)。

CPC通过对多个时间点共享的信息进行编码来学习特征表达,同时丢弃局部信息。这些特征被称为“慢特征”:随时间不会快速变化的特征。比如说:视频中讲话者的身份,视频中的活动,图像中的对象等。CPC的构架如下图所示。

技术图片

在最近的Henaff的工作中,CPC方法在 ImageNet上TOP-1的准确率达到了71.5%。

利用对比方法学习不变特征(Invariances)

技术图片

上图中左边的是 2019年Bachman提出的 Augmented Multiscale DIM ,通过数据增强方法学习不变特征。右边是2019年 Tian提出的 Contrastive multiview coding,通过图像不同的通道学习不变特征(深度、光照、语义标签等)。

Scaling the number of negative examples (MoCo)

当负样本数量较多时,对比方法能够更好的发挥作用。这是因为更多的负样本能够有效的覆盖潜在数据分布。在对比学习中,负样本受限于mini-batch的大小。何恺明最近提出的 Momentum Contrast,通过保持大量负样本队列来解决这一问题,同时,该方法不使用反向传播更新 negative encoder,而是使用动量定期更新 negative encoder。

MoCo的惊人结果是,在PASCAL VOC,COCO和其他数据集的7个检测/细分任务中,MoCo可以胜过 supervised pre-training counterpart,有时甚至可以大大超过它。 在以前,这些任务需要在 ImageNet 上进行有监督的预培训才能获得最佳结果,但是MoCo的结果表明,无监督和有监督的预训练之间的差距已经大大缩小。

参考文献

[1] Oord, Aaron van den, Yazhe Li, and Oriol Vinyals. “Representation learning with contrastive predictive coding.” arXiv preprint arXiv:1807.03748, 2018.

[2] Hjelm, R. Devon, Alex Fedorov, Samuel Lavoie-Marchildon, Karan Grewal, Phil Bachman, Adam Trischler, and Yoshua Bengio. “Learning deep representations by mutual information estimation and maximization.” ICLR, 2019

[3] Sohn, Kihyuk. “Improved deep metric learning with multi-class n-pair loss objective.” NeurIPS, 2016.

[4] Hénaff, Olivier J., Ali Razavi, Carl Doersch, S. M. Eslami, and Aaron van den Oord. “Data-efficient image recognition with contrastive predictive coding.” arXiv preprint arXiv:1905.09272, 2019.

[5] He, Kaiming, Haoqi Fan, Yuxin Wu, Saining Xie, and Ross Girshick. “Momentum contrast for unsupervised visual representation learning.” arXiv preprint arXiv:1911.05722, 2019.

[6] Bachman, Philip, R. Devon Hjelm, and William Buchwalter. “Learning representations by maximizing mutual information across views.” NeurIPS, 2019.

[7] Tian, Yonglong, Dilip Krishnan, and Phillip Isola. “Contrastive multiview coding.” arXiv preprint arXiv:1906.05849, 2019.

[8] Veli?kovi?, Petar, William Fedus, William L. Hamilton, Pietro Liò, Yoshua Bengio, and R. Devon Hjelm. “Deep graph infomax.” ICLR, 2019.

[8] Anand, Ankesh, Evan Racah, Sherjil Ozair, Yoshua Bengio, Marc-Alexandre C?té, and R. Devon Hjelm. “Unsupervised state representation learning in atari.” NeurIPS, 2019.

[9] Sermanet, Pierre, Corey Lynch, Jasmine Hsu, and Sergey Levine. “Time-contrastive networks: Self-supervised learning from multi-view observation.” CVPRW, 2017.

[10] Poole, Ben, Sherjil Ozair, Aaron van den Oord, Alexander A. Alemi, and George Tucker. “On variational bounds of mutual information.” ICML, 2019.

以上是关于对比自监督学习的主要内容,如果未能解决你的问题,请参考以下文章

一文弄懂什么是对比学习(Contrastive Learning)

NeurIPS 2022:基于语义聚合的对比式自监督学习方法

论文泛读171具有对抗性扰动的自监督对比学习,用于鲁棒的预训练语言模型

论文泛读171具有对抗性扰动的自监督对比学习,用于鲁棒的预训练语言模型

论文解读NAACL 2021 对比自监督学习的上下文和一般句子表征:以篇章关系分析为例

无监督学习概论