一、简介
自监督方法在深度学习中将取代当前占主导地位监督方法的预言已经存在了很长时间。 如今,自监督方法在Pascal VOC检测方面已经超过了监督方法(2019年何恺明提出的MoCo方法),并且在许多其他任务上也显示出了出色的结果。 最近自监督方法兴起的背后是他们都遵循了contrastive learning 。
当前的机器学习方法大多依赖于人类标注信息,这种对标注信息的过度依赖有如下危险:
- 数据的内部结构远比标注提供的信息要丰富,因此通常需要大量的训练样本,但得到的模型有时是较为脆弱的。
- 在高维分类问题上,我们不能直接依赖监督信息;同时,在增强学习等问题上,获取标签的成本非常高。
- 标签信息通常适用于解决特定的任务,而不是可以做为知识一样可以重新利用。
因此,自监督学习成为一种非常有前途的方法,因为数据本身为学习算法提供了监督信息。这里,我们回顾当前新出现的几种自监督方法。
二、示例
Epstein, 2016做了一个实验,受试者要求尽可能详细地画出美元图片。上图中左边为受试者按照自己的记忆画出来的一美元图片,右边为受试者携带着美元(不是一美元)然后照着画出来的一美元图片。实验表示,当有类似的美元图片做为参考时,人们画的要更好。
尽管无数次见过美元,但我们仍然不能记住它,并把它画出来。实际上,我们只是记住了美元的一些与其它对象有区分性的特征。因此,我们是不是可以构建一些不专注于像素细节的表示学习算法(representation learning algorithm),通过对高层特征编码来实现不同对象的区分?
三、Generative VS Contrastive 方法
当前的自监督方法大致可以分为两类:
对比方法(Contrastive methods)通过区分正样本和负样本来学习表征。尽管不是全新的思路,对比方法通过无监督的对比预训练(Unsupervised contrastive pre-training)在计算机视觉任务中取得了巨大的成功。
比较知名的方法有:
- 在未标记的ImageNet数据上训练并使用线性分类器的无监督对比方法已经超过了监督的AlexNet (Data-Efficient CPC, Hénaff et al., 2019)。
- ImageNet上的对比式预训练成功地转移到了其它任务,并且胜过了监督的预训练任务(MoCo, He et al., 2019)。
和传统的 Generative model 不同,传统方法专注于像素空间的特征,会存在如下不足:
- 使用像素级loss可能导致此类方法过于关注基于像素的细节,而不是抽象的语义信息。
- 在于像素分析的方法难以有效的建立空间关联及对象的复杂结构。
四、对比方法工作原理
对于数据$x$,对比方法的目标是学习一个$f$:
其中:
- $x^{+}$指的是与$x$ 相似的数据(正样本,绿色)
- $x^{−}$指的是与$x$不相似的数据(负样本,红色)
- score 函数是一个度量函数,评价两个特征间的相似性。
$x$通常称为锚定(anchor) 数据。为了解决这个问题,我们可以构建一个softmax分类器来对正负样本进行分类。
其中score function是点积分数:
\[\operatorname{score}\left(f(x), f\left(x^{+}\right)\right)=f(x)^{T} f\left(x^{+}\right)\]类似的,对于N-way softmax 分类器,我们构建一个交叉熵损失,一般被称为InfoNCE 损失。为了最小化InfoNCE损失,可参考Poole et al., 2019 的工作。
五、深度学习中的相关工作
5.1 Deep InfoMax
Deep InfoMax (DIM, Hjelm et al., 2018) 通过利用图像中的局部结构来学习图像表示,如上图所示。 这个方法中的对比任务是对一对图像中的全局特征和局部特征进行分类。 在这里,全局特征是CNN的最终输出(平面向量,$Y$),局部特征是编码器中的中间层的输出($M \times M$特征图)。 每个局部特征图都有一个有限的感受野。 因此,要出色的完成对比任务,全局特征必须捕获来自所有不同局部区域的信息。
Deep InfoMax 的损失函数和上面我们提到的类似,对于一个 anchor image $x$,$f(x)$是全局特征,$f(x^{+})$是来自相同图像的局部特征, $f(x^{−})$是来自不同图像的局部特征。
DIM已经被扩展应用于其他邻域,如graph (Veličković et al., 2018)和RL (Anand et al., 2019)。在DIM的一个后续工作中,Augment Multiscale Deep InfoMax (Bachman et al., 2019)在无监督训练的情况下在ImageNet上TOP-1的准确率达到了68.4%。
5.2 Contrastive Predictive Coding
Contrastive Predictive Coding (CPC, van den Oord et al., 2018)是一个可以适用于文本、语音、视频、图像等任何形式数据的对比方法(图像可以看作为由像素或者图像块组成的序列)。
CPC通过对多个时间点共享的信息进行编码来学习特征表达,同时丢弃局部信息。这些特征被称为“慢特征”:不会随时间快速变化的特征。比如说:视频中讲话者的身份,视频中的活动,图像中的对象等。CPC的构架如下图所示:
CPC的对比任务设置如下:令${x_1, x_2, \dots , x_N}$为一个序列的数据,$x_{t}$为锚定数据,那么:
- $x_{t+k}$为该锚定数据的正样本
- 从序列中随机采样得到的数据$x_{t^{*}}$为该锚定数据的负样本
CPC在单个任务中使用多个$k$来捕获在不同时间范围内演变的特征。
5.3 Learning Invariances with Contrastive Learning
对比学习提供了一种学习表示空间中不变特征的简便方法。 假设我们希望得到一个表征,该表征对变换$T$(例如,修剪,灰度)是不变的,我们可以简单地构造一个对比目标,其中给定一个锚定数据$x$,
- $T(x)$是一个正样本
- $T(x’)$是负样本,其中$x’$是随机图像或数据点。
上图中左边的是Augmented Multiscale DIM (AMDIM, Bachman et al., 2019) ,通过数据增强方法学习不变特征。右边是Contrastive multiview coding (CMC, Tian et al., 2019),通过图像不同的通道学习不变特征(深度、光照、语义标签等)。
5.4 Scaling the number of negative examples (MoCo)
当负样本数量较多时,对比方法能够更好的发挥作用。这是因为更多的负样本能够有效的覆盖潜在数据分布。在对比学习中,负样本受限于mini-batch的大小。何恺明最近提出的 Momentum Contrast,通过保持大量负样本队列来解决这一问题,同时,该方法不使用反向传播更新 negative encoder,而是使用动量定期更新 negative encoder:
\[\theta_{\mathrm{k}} \leftarrow m \theta_{\mathrm{k}}+(1-m) \theta_{\mathrm{q}}\]其中$\theta_{\mathrm{k}}$表示key encoder(包括正负样本)的权重,$\theta_{\mathrm{q}}$是query encoder(锚定数据)的权重。
MoCo的惊人结果是,在PASCAL VOC,COCO和其他数据集的7个检测/细分任务中,MoCo可以胜过 supervised pre-training counterpart,有时甚至可以大大超过它。 在以前,这些任务需要在 ImageNet 上进行有监督的预培训才能获得最佳结果,但是MoCo的结果表明,无监督和有监督的预训练之间的差距已经大大缩小。
六、强化学习中的相关工作
Microsoft、UC Berkeley、Google等团队将Contrastive Learning的概念应用于强化学习,使用Contrastive Learning从agent所处的环境中提取高维特征,为强化学习的研究带来了新的方向。
6.1 Unsupervised State Representation Learning in Atari
RL中通常通过使用来自奖励的信号通过端到端学习来学习状态的表征,但是这种方法通常效率很低,而且学到的表征可能包含很多对RL决策不产生影响的信息。本文借鉴自监督学习中的对比学习方法来构建Atari像素游戏的状态表征。详情见《Unsupervised State Representation Learning in Atari》阅读思考总结。
6.2 CURL: Contrastive Unsupervised Representations for Reinforcement Learning
RL从pixel中直接端到端学习状态表征的效率非常低,受contrastive learning的思想影响,本文考虑用这种方式来提取pixel的高维特征。但是在RL中采用contrastive learning与在CV中采用contrastive learning有两个区别:(1)事先没有可用的大量地无标签的数百万张图像的数据集,因为在RL中该数据集是从智能体与环境的互动中在线收集的,并会随智能体的经验变化而动态变化; (2)智能体必须同时进行无监督学习和强化学习,而不是针对特定的下游任务微调预先训练的网络。本文借鉴何凯明提出的 Momentum Contrast来解决这些问题。详情见《CURL: Contrastive Unsupervised Representations for Reinforcement Learning》阅读思考总结。
6.3 Data-Efficient Reinforcement Learning with Momentum Predictive Representations
使用Contrastive Learning的方法主要的思想核心是提取agent交互环境的有效表征,使得RL可以更好地感知环境做出决策。本文认为如果给定未来的动作,对于未来观察的状态表征是较好预测,且对于数据增强的预测比较稳定,那说明对于环境的状态提取的特征是非常有效的。基于此想法,本文提出了Momentum Predictive Representations (MPR)。详情见《Data-Efficient Reinforcement Learning with Momentum Predictive Representations》阅读思考总结。但严格来说,本文的Representation方法不属于Contrastive Learning,只是借鉴了其中的思想。
未完待续…
参考
- GaoFeng’s Blog
- Ankesh Anand’ Blog
- Oord, Aaron van den, Yazhe Li, and Oriol Vinyals. “Representation learning with contrastive predictive coding.” “Representation Learning with Contrastive Predictive Coding” arXiv preprint arXiv:1807.03748, 2018.
- 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
- Sohn, Kihyuk. “Improved deep metric learning with multi-class n-pair loss objective.” NeurIPS, 2016.
- 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.
- He, Kaiming, Haoqi Fan, Yuxin Wu, Saining Xie, and Ross Girshick. “Momentum contrast for unsupervised visual representation learning.” arXiv preprint arXiv:1911.05722, 2019.
- Bachman, Philip, R. Devon Hjelm, and William Buchwalter. “Learning representations by maximizing mutual information across views.” NeurIPS, 2019.
- Tian, Yonglong, Dilip Krishnan, and Phillip Isola. “Contrastive multiview coding.” arXiv preprint arXiv:1906.05849, 2019.
- Veličković, Petar, William Fedus, William L. Hamilton, Pietro Liò, Yoshua Bengio, and R. Devon Hjelm. “Deep graph infomax.” ICLR, 2019.
- Anand, Ankesh, Evan Racah, Sherjil Ozair, Yoshua Bengio, Marc-Alexandre Côté, and R. Devon Hjelm. “Unsupervised state representation learning in atari.” NeurIPS, 2019.
- Sermanet, Pierre, Corey Lynch, Jasmine Hsu, and Sergey Levine. “Time-contrastive networks: Self-supervised learning from multi-view observation.” CVPRW, 2017.
- Poole, Ben, Sherjil Ozair, Aaron van den Oord, Alexander A. Alemi, and George Tucker. “On variational bounds of mutual information.” ICML, 2019.
您的打赏是对我最大的鼓励!