1.无监督学习概述: 生成学习VS对比学习
概述自监督方法在深度学习中将取代当前占主导地位监督方法的预言已经存在了很长时间。 如今,自监督方法在Pascal VOC检测方面已经超过了监督方法(2019年何恺明提出的MoCo方法),并且在许多其他任务上也显示出了出色的结果。 最近自监督方法兴起的背后是他们都遵循了 contrastive learning 。当前的机器学习方法大多依赖于人类标注信息,这种对标注信息的过度依赖有如下危险:数据的内
概述
自监督方法在深度学习中将取代当前占主导地位监督方法的预言已经存在了很长时间。 如今,自监督方法在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可能导致此类方法过于关注基于像素的细节,而不是抽象的语义信息。
- 在于像素分析的方法难以有效的建立空间关联及对象的复杂结构。
对比模型是如何工作的?
对于数据𝑥,对比主法目标是学习一个𝑓:
这里𝑥+指的是与𝑥 相似的数据(正样本),𝑥−指的是与𝑥 不相似的数据(负样本)。score 函数是一个度量函数,评价两个特征间的相似性。
𝑥通常称为“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 𝑥,𝑓(𝑥) 是全局特征,𝑓(𝑥+)是来自相同图像的局部特征, 𝑓(𝑥−)是来自不同图像的局部特征。在后续工作中,Augment Multiscale Deep InfoMax (Bachman et al., 2019)在无监督训练的情况下在ImageNet上TOP-1的准确率达到了68.4%。
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的结果表明,无监督和有监督的预训练之间的差距已经大大缩小。
准确率
开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!
更多推荐
所有评论(0)