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

文 | 黄浴

源 | 知乎


之前已经介绍过三篇自监督学习的综述:《怎样缓解灾难性遗忘?持续学习最新综述三篇!》。这是最近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比较:


讨论和方向

  1. 缺乏理论基础

  2. 数据增强和pretext任务的选择困难

  3. 训练中合适的negative样本采样难

  4. 数据集biases存在

后台回复关键词【入群

加入卖萌屋NLP/IR/Rec与求职讨论群

后台回复关键词【顶会

获取ACL、CIKM等各大顶会论文集!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/479460.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

GCN-Based User Representation Learning for Unifying Robust Recommendation and Fraudster Detection

GCN-Based User Representation Learning for Unifying Robust Recommendation and Fraudster Detection 点击率预测:其主要思想是根据用户的历史行为对一组未评级的项目进行评级预测,然后从预测评级最高的项目中选择个性化推荐。 欺诈检测:…

公开课 | 知识图谱构建与应用概述

本文转载自公众号:博文视点Broadview。 AI是新的生产力,知识图谱是AI进步的阶梯。随着近年来人工智能的进一步发展,知识图谱也取得了一系列新的进展,并在各个行业中落地应用。知识图谱的相关技术已经在搜索引擎、智能问答、…

LeetCode 217. 存在重复元素(哈希)

文章目录1. 题目2. 解题1. 题目 给定一个整数数组,判断是否存在重复元素。 如果任何值在数组中出现至少两次,函数返回 true。如果数组中每个元素都不相同,则返回 false。 示例 1:输入: [1,2,3,1] 输出: true 示例 2:输入: [1,2,3,4] 输出:…

美团BERT的探索和实践

2018年,自然语言处理(Natural Language Processing,NLP)领域最激动人心的进展莫过于预训练语言模型,包括基于RNN的ELMo[1]和ULMFiT[2],基于Transformer[3]的OpenAI GPT[4]及Google BERT[5]等。下图1回顾了近…

论文浅尝 | 探索将预训练语言模型用于事件抽取和事件生成

论文笔记整理:郝凯龙,南京大学硕士链接:https://www.aclweb.org/anthology/P19-1522.pdf动机传统的 ACE 事件抽取任务依赖于人工标注的数据,耗费大量的人力并且数据量有限,数据量不足给事件抽取带来了阻碍。传统的事件…

谷歌、CMU发文:别压榨单模型了!集成+级联上分效率更高!

文 | Sherry 不是小哀集成模型(Ensemble)可以提升模型的精度,但往往面临提升计算量的困境,用级联模型(Cascade)在预测时提前中断则可解决计算量的问题。最近,谷歌和CMU的研究者对此进行了深入的…

LeetCode 219. 存在重复元素 II(哈希)

文章目录1. 题目2. 解题1. 题目 给定数组nums和常数k&#xff0c;存在不同的i、j使得nums[i] nums[j]&#xff0c;且abs(i-j) < k。 输入: nums [1,2,3,1], k 3 输出: true 示例 2:输入: nums [1,0,1,1], k 1 输出: true 示例 3:输入: nums [1,2,3,1,2,3], k 2 输出…

Android静态代码扫描效率优化与实践

背景与问题 DevOps实践中&#xff0c;我们在CI(Continuous Integration)持续集成过程主要包含了代码提交、静态检测、单元测试、编译打包环节。其中静态代码检测可以在编码规范&#xff0c;代码缺陷&#xff0c;性能等问题上提前预知&#xff0c;从而保证项目的交付质量。Andro…

还在用[CLS]?从BERT得到最强句子Embedding的打开方式!

文&#xff1a;涅生编&#xff1a;兔子酱你有尝试从 BERT 提取编码后的 sentence embedding 吗&#xff1f;很多小伙伴的第一反应是&#xff1a;不就是直接取顶层的[CLS] token的embedding作为句子表示嘛&#xff0c;难道还有其他套路不成&#xff1f;nono&#xff0c;你知道这…

论文浅尝 | BERT:Pre-training of Deep Bidirectional Transformers

论文笔记整理&#xff1a;王春培&#xff0c;天津大学硕士。链接&#xff1a;https://arxiv.org/pdf/1810.04805.pdf动机将预训练语言表示应用于下有任务现有两种策略&#xff1a;基于特征的和基于微调的。文章认为当前技术限制了预训练的能力&#xff0c;尤其是基于微调的方法…

欺诈检测相关论文

欺诈检测相关论文一、分类1、GEM2、HACUD3、MAHINDER4、Semi-GNN5、MvMoE6、AMG-DP7、AddGraph8、NetWalk9、DOMINANT10、GraphConsis11、PC-GNN12、TRUST二、类别不平衡一、分类 1、GEM 来自蚂蚁金服的论文&#xff0c;他们提出GEM模型&#xff0c;是一个异质图神经网络方法&a…

LeetCode 220. 存在重复元素 III(lower_bound)

文章目录1. 题目2. 解题1. 题目 给定一个整数数组&#xff0c;判断数组中是否有两个不同的索引 i 和 j&#xff0c;使得 nums [i] 和 nums [j] 的差的绝对值最大为 t&#xff0c;并且 i 和 j 之间的差的绝对值最大为 ķ。 示例 1:输入: nums [1,2,3,1], k 3, t 0 输出: tr…

Android自定义控件入门实践之雷达扫描控件

以前因为工作的关系&#xff0c;对于自定义控件用的少之又少&#xff0c;无非就是把几个控件放置到ViewGroup内部&#xff0c;然后提供开放方法&#xff0c;就成了一个所谓的自定义控件&#xff0c;但是这种小伎俩太简单&#xff0c;面试的时候这点东西根本Hold不住场&#xff…

论文浅尝 | 基于知识图谱注意力网络的商品推荐

论文笔记整理&#xff1a;康矫健&#xff0c;浙江大学计算机科学与技术系&#xff0c;硕士研究生。论文链接&#xff1a;https://arxiv.org/pdf/1905.07854.pdf发表会议&#xff1a;KDD 2019任务定义输入&#xff1a;协同过滤知识图谱具体来说包括两个部分&#xff0c;其一是用…

Java 动态调试技术原理及实践

断点调试是我们最常使用的调试手段&#xff0c;它可以获取到方法执行过程中的变量信息&#xff0c;并可以观察到方法的执行路径。但断点调试会在断点位置停顿&#xff0c;使得整个应用停止响应。在线上停顿应用是致命的&#xff0c;动态调试技术给了我们创造新的调试模式的想象…

非常适合初学者的机器学习的数学基础笔记.pdf

本文推荐一份机器学习数学基础专辑&#xff0c;非常适合初学者入门&#xff0c;文末提供下载。机器学习&#xff0c;需要一定的数学基础&#xff0c;也需要一定的代码能力。机器学习从业者数学基础不扎实&#xff0c;只会用一些工具和框架&#xff0c;相当于某些武术家只会耍套…

LeetCode 1094. 拼车

文章目录1. 题目2. 解题1. 题目 假设你是一位顺风车司机&#xff0c;车上最初有 capacity 个空座位可以用来载客。由于道路的限制&#xff0c;车 只能 向一个方向行驶&#xff08;也就是说&#xff0c;不允许掉头或改变方向&#xff0c;你可以将其想象为一个向量&#xff09;。…

MySQL的锁机制和加锁原理

原文链接&#xff1a;https://blog.csdn.net/qq_38238296/article/details/88362999 文章目录 MySQL的锁机制和加锁原理1.行锁2.表锁3.页锁4.乐观锁和悲观锁4.1悲观锁4.2乐观锁5.1InnoDB锁的特性 6.Record Lock、Gap Lock、Next-key Lock锁6.1.Record Lock6.2.Gap Lock6.2.​…

CVPR 2019轨迹预测竞赛冠军方法总结

背景 CVPR 2019 是机器视觉方向最重要的学术会议&#xff0c;本届大会共吸引了来自全世界各地共计 5160 篇论文&#xff0c;共接收 1294 篇论文&#xff0c;投稿数量和接受数量都创下了历史新高&#xff0c;其中与自动驾驶相关的论文、项目和展商也是扎堆亮相&#xff0c;成为本…

TSNE画图

TSNE画图 2D图 from sklearn.manifold import TSNE import matplotlib.pyplot as plt import numpy as np# 10条数据&#xff0c;每条数据6维 h np.random.randn(10, 6) # 使用PCA降维到2维 tsne TSNE(n_components2, initpca, random_state0) result_2D tsne.fit_transfo…