文 | 黄浴
源 | 知乎
之前已经介绍过三篇自监督学习的综述:《怎样缓解灾难性遗忘?持续学习最新综述三篇!》。这是最近2020年10月arXiv上的又一篇论文"A Survey On Contrastive Self-supervised Learning"。
论文地址:
https://arxiv.org/pdf/2011.00362.pdf
Arxiv访问慢的小伙伴也可以在【夕小瑶的卖萌屋】订阅号后台回复关键词【1222】下载论文PDF~
自监督学习能避免注释大型数据集带来的成本,即采用自定义pseudo-labels作为监督,并将学习的表示形式用于多个下游任务。具体而言,contrastive learning最近已成为在计算机视觉、自然语言处理(NLP)和其他领域中自监督学习方法的主要部分。
本文对contrastive learning方法的自监督方法进行了综述,包括contrastive learning中常用的pretext任务,以及提出的不同体系结构,并对多种下游任务(例如图像分类、目标检测和动作识别)的不同方法进行性能比较。最后,对方法的局限性以及未来方向做了介绍。
自监督学习方法
如图是示意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方法,如图所示:用于自监督学习。
pretext任务是自监督类,用pseudo-label来学习数据的表示形式。这些pseudo-label根据数据属性自动生成。从pretext任务中学习的模型可用于计算机视觉下游任务,例如分类、分割、检测等。此外,这些任务可用任何类型数据,例如图像、视频、语音、信号等。对于一个contrastive learning (CL)中的pretext任务,原始图像充当锚点,其增强(转换)版充当positive样本,而其余批处理或训练数据中的图像充当negative样本。大多数常用的pretext任务分为四个主要类别:颜色转换、几何转换、基于上下文任务和基于模式交叉任务,如下图所示。基于要解决的问题,这些pretext任务已在各样方案中使用。
颜色/几何变换如下:
如下基于上下文:
Jigsaw puzzle
Spatiotemporal contrastive video representation learning
Contrastive Predictive Coding: Representation learning
cross modal-based如下:view prediction
Learning representation from video frame sequence
pretext任务确定
pretext任务依赖对所解决问题的类型,所以需要任务确定。如下图这个fined grain recognition例子,不适合用colorization。
DTD数据集样本(如图所示)例子,rotation不合适纹理图像。
Contrastive learning方法依靠negative样本的数量来生成高质量的表示。如同字典查找任务,字典有时是整个训练集,而其他时候就是某些子集。一种有趣的分类方法是,基于训练过程中针对positive数据点来收集negative样本的方式,如图分成四个主要架构:(a)两个编码器的E2E训练,一个生成positive样本的表示,另一种生成negative样本的表示(b)使用memory bank存储和检索negative样本的编码结果(c)使用momentum encoder 作为训练中负样本编码的动态字典查找(d)clustering机制:采用端到端架构,从两个编码器获得的表示做交换预测。
编码器
编码器的角色如图所示:一个contrastive learning加编码器构成的自监督学习流水线。
在编码器中,来自特定层的输出池化,获取每个样本的一维特征向量。有方法的不同,可以上采样或下采样。
为训练编码器,使用pretext任务,其用contrastive损失进行反向传播(BP)。contrastive学习的中心思想是使相似的例子靠的更近,使相异的例子彼此远离。实现的一种方法是使用相似性度量,该度量计算两个样本嵌入之间的紧密度(closeness)。
在contrastive设置中,最常用的相似度度量是余弦相似度,作为不同contrastive损失函数的基础。Noise Contrastive Estimation (NCE)定义如下
如果negative样本很大,一个改进版InfoNCE,定义为
下游任务在计算机视觉中包括classification、detection、localization、segmentation、future prediction等。如图是一个概览:pretext任务的知识,被迁移到下游任务;迁移学习的性能,决定了学习的特征具备怎样的泛化能力。
衡量pretext任务对下游任务的效果,常常采用:kernel visualization、feature map visualization和nearest-neighbor based 等方法。
如图是Attention maps的可视化,包括监督和自监督方法:
还有top-K retrieval用来分析好坏。
Benchmark
如下是ImageNet的比较:
这是在Places数据的表现:
下面还有目标检测的表现比较:
视频数据性能如下:
以及NLP比较:
讨论和方向
缺乏理论基础
数据增强和pretext任务的选择困难
训练中合适的negative样本采样难
数据集biases存在
后台回复关键词【入群】
加入卖萌屋NLP/IR/Rec与求职讨论群
后台回复关键词【顶会】
获取ACL、CIKM等各大顶会论文集!