知行编程网知行编程网  2022-01-29 14:00 知行编程网 隐藏边栏 |   抢沙发  49 
文章评分 0 次,平均分 0.0

之前已经介绍过三篇自监督学习的综述:《怎样缓解灾难性遗忘?持续学习最新综述三篇!》。这是最近2020年10月arXiv上的又一篇论文"A Survey On Contrastive Self-supervised Learning"。

论文地址:

https://arxiv.org/pdf/2011.00362.pdf

Arxiv访问慢的小伙伴也可以在【夕小瑶的卖萌屋】订阅号后台回复关键词【1222】下载论文PDF~

再介绍一篇Contrastive Self-supervised Learning综述论文

自监督学习能避免注释大型数据集带来的成本,即采用自定义pseudo-labels作为监督,并将学习的表示形式用于多个下游任务。具体而言,contrastive learning最近已成为在计算机视觉、自然语言处理(NLP)和其他领域中自监督学习方法的主要部分。

本文对contrastive learning方法的自监督方法进行了综述,包括contrastive learning中常用的pretext任务,以及提出的不同体系结构,并对多种下游任务(例如图像分类、目标检测和动作识别)的不同方法进行性能比较。最后,对方法的局限性以及未来方向做了介绍。

自监督学习方法

再介绍一篇Contrastive Self-supervised Learning综述论文

如图是示意contrastive learning的直觉基础:推进原图像和其增强positive更近,而推开原图像和其negative更远。

自监督学习方法集成了generative方法和contrastive方法,利用未标数据来学习基础表示。pseudo-labels是一个普遍技术,帮助在各种pretext任务中学习特征。目前已经看到,在image-inpainting, colorizing greyscale images, jigsaw puzzles, super-resolution, video frame prediction, audio-visual correspondence等任务中,学习好的表示方式已经很有效。

generative方法,如GAN,已经是不错的结果,但训练不容易:(a)不收敛;(b)鉴别器过于成功而无法继续学习。contrastive learning (CL)是discriminative方法,如图所示:用于自监督学习。

再介绍一篇Contrastive Self-supervised Learning综述论文

pretext任务是自监督类,用pseudo-label来学习数据的表示形式。这些pseudo-label根据数据属性自动生成。从pretext任务中学习的模型可用于计算机视觉下游任务,例如分类、分割、检测等。此外,这些任务可用任何类型数据,例如图像、视频、语音、信号等。对于一个contrastive learning (CL)中的pretext任务,原始图像充当锚点,其增强(转换)版充当positive样本,而其余批处理或训练数据中的图像充当negative样本。大多数常用的pretext任务分为四个主要类别:颜色转换、几何转换、基于上下文任务和基于模式交叉任务如下图所示。基于要解决的问题,这些pretext任务已在各样方案中使用。

颜色/几何变换如下:

再介绍一篇Contrastive Self-supervised Learning综述论文

再介绍一篇Contrastive Self-supervised Learning综述论文

如下基于上下文:

再介绍一篇Contrastive Self-supervised Learning综述论文

 

Jigsaw puzzle

 

再介绍一篇Contrastive Self-supervised Learning综述论文

 

Spatiotemporal contrastive video representation learning

 

再介绍一篇Contrastive Self-supervised Learning综述论文

 

Contrastive Predictive Coding: Representation learning

 

cross modal-based如下:view prediction

再介绍一篇Contrastive Self-supervised Learning综述论文

 

Learning representation from video frame sequence

 

pretext任务确定

pretext任务依赖对所解决问题的类型,所以需要任务确定。如下图这个fined grain recognition例子,不适合用colorization。

再介绍一篇Contrastive Self-supervised Learning综述论文

DTD数据集样本(如图所示)例子,rotation不合适纹理图像。

再介绍一篇Contrastive Self-supervised Learning综述论文

Contrastive learning方法依靠negative样本的数量来生成高质量的表示。如同字典查找任务,字典有时是整个训练集,而其他时候就是某些子集。一种有趣的分类方法是,基于训练过程中针对positive数据点来收集negative样本的方式,如图分成四个主要架构:(a)两个编码器的E2E训练,一个生成positive样本的表示,另一种生成negative样本的表示(b)使用memory bank存储和检索negative样本的编码结果(c)使用momentum encoder 作为训练中负样本编码的动态字典查找(d)clustering机制:采用端到端架构,从两个编码器获得的表示做交换预测。

再介绍一篇Contrastive Self-supervised Learning综述论文

编码器

编码器的角色如图所示:一个contrastive learning加编码器构成的自监督学习流水线。

再介绍一篇Contrastive Self-supervised Learning综述论文

在编码器中,来自特定层的输出池化,获取每个样本的一维特征向量。有方法的不同,可以上采样或下采样。

为训练编码器,使用pretext任务,其用contrastive损失进行反向传播(BP)。contrastive学习的中心思想是使相似的例子靠的更近,使相异的例子彼此远离。实现的一种方法是使用相似性度量,该度量计算两个样本嵌入之间的紧密度(closeness)。

在contrastive设置中,最常用的相似度度量是余弦相似度,作为不同contrastive损失函数的基础。Noise Contrastive Estimation (NCE)定义如下

再介绍一篇Contrastive Self-supervised Learning综述论文

如果negative样本很大,一个改进版InfoNCE,定义为

再介绍一篇Contrastive Self-supervised Learning综述论文

下游任务在计算机视觉中包括classification、detection、localization、segmentation、future prediction等。如图是一个概览:pretext任务的知识,被迁移到下游任务;迁移学习的性能,决定了学习的特征具备怎样的泛化能力。

再介绍一篇Contrastive Self-supervised Learning综述论文

衡量pretext任务对下游任务的效果,常常采用:kernel visualization、feature map visualization和nearest-neighbor based 等方法。

如图是Attention maps的可视化,包括监督和自监督方法:

再介绍一篇Contrastive Self-supervised Learning综述论文

还有top-K retrieval用来分析好坏。


Benchmark

如下是ImageNet的比较:

再介绍一篇Contrastive Self-supervised Learning综述论文

这是在Places数据的表现:

再介绍一篇Contrastive Self-supervised Learning综述论文

下面还有目标检测的表现比较:

再介绍一篇Contrastive Self-supervised Learning综述论文

视频数据性能如下:

再介绍一篇Contrastive Self-supervised Learning综述论文

以及NLP比较:

再介绍一篇Contrastive Self-supervised Learning综述论文
再介绍一篇Contrastive Self-supervised Learning综述论文

讨论和方向

  1. 缺乏理论基础
  2. 数据增强和pretext任务的选择困难
  3. 训练中合适的negative样本采样难
  4. 数据集biases存在

本文为原创文章,版权归所有,欢迎分享本文,转载请保留出处!

知行编程网
知行编程网 关注:1    粉丝:1
这个人很懒,什么都没写

发表评论

表情 格式 链接 私密 签到
扫一扫二维码分享