自监督学习: 人工智能的未来

2022-10-05 10:53:07 浏览数 (1)

大家好,又见面了,我是你们的朋友全栈君。

目录

1. 什么是自监督学习?

2. 为什么自监督学习是AI的未来?

3.1 Computer Vision:

[1] 2015 (ICCV) Unsupervised Learning of Visual Representations Using Videos

[2] 2015 (ICCV) Unsupervised Visual Representation Learning by Context Prediction

[3] 2016 (ECCV) Unsupervised learning of visual representations by solving jigsaw puzzles

[4] 2016 (CVPR) Deepak Pathak et al. Context Encoders: Feature Learning by Inpainting

[5] 2016 (ECCV) A Colorful image colorization

[6] 2017 (CVPR) Split-Brain Autoencoders: Unsupervised Learning by Cross-Channel Prediction

[7] 2018 (ICLR) Unsupervised Representation Learning by Predicting Image Rotations

[8] 2017 (ICCV) Unsupervised Representation Learning by Sorting Sequences

[9] 2018 (Google) (ICRA) Time-Contrastive Networks: Self-Supervised Learning from Video

[10] 2018 (DeepMind) (Arxiv) (CPC) Representation Learning with Contrastive Predictive Coding

[11] 2019 (ICLR) [DIM] Learning deep representations by mutual information estimation and maximization

[12] 2020 (Hinton) (ICML) [SimCLR] A Simple Framework for Contrastive Learning of Visual Representations

[13] 2020 (Hinton) (Arxiv) Big Self-Supervised Models are Strong Semi-Supervised Learners

[14] 2020 (Google) (Arxiv) Supervised Contrastive Learning

[15] 2020 (CVPR) [MoCo] Momentum Contrast for Unsupervised Visual Representation Learning

[16] 2020 (DeepMind) (Arxiv) [BYOL] Bootstrap Your Own Latent: A New Approach to Self-Supervised Learning

3.6 Survey:

3.7 More Materials:

后记:

本文介绍的论文集合:


1. 什么是自监督学习?

实际的场景里通常有海量的无监督数据,而有监督数据却很少。那么能否利用这些海量的无监督数据,用来改进监督学习任务的效果呢?

▲自监督学习(Self-supervised Learning)作为Unsupervised Learning的一个重要分支,给出了很好地解决方案。它的目标是更好地利用无监督数据,提升后续监督学习任务的效果

其基本思想是:Predicting everything from everything else。

具体方法是 1.首先定义一个Pretext task (辅助任务),即从无监督的数据中,通过巧妙地设计自动构造出有监督(伪标签)数据,学习一个预训练模型。构造有监督(伪标签)数据的方法可以是:假装输入中的一部分不存在,然后基于其余的部分用模型预测缺失的这部分。如果学习的预训练模型能准确预测缺失部分的数据,说明它的表示学习能力很强,能够学习到输入中的高级语义信息、泛化能力比较强。而深度学习的精髓正在于强大的表示学习能力。

2.然后可以将预训练模型,通过简单的Finetune,应用到下游的多个应用场景,能比只使用监督数据训练的模型有更好的效果

▲通常来说有标签数据越少的场景,自监督学习能带来的提升越大。事实上,在一些论文的实验结果里,在大量无标签数据上自监督学习的模型,不需要finetune,能取得比使用标签数据学得的监督模型更好的效果……

对于有大量标签数据的场景,自监督学习也能进一步提升模型的泛化能力和效果。

▲下图展示了在CV领域自监督学习的标准流程:

在自监督学习中,最重要的问题是:如何定义Pretext task、如何从Pretext task学习预训练模型。

Self-supervised Visual Feature Learning with Deep Neural Networks: A Survey


2. 为什么自监督学习是AI的未来?

Yann Lecun在AAAI 2020的演讲中,指出目前深度学习遇到的挑战:

▲监督学习:深度模型有海量参数,需要大量的label数据,标注成本高、扩展性差,难以应用到无标记或标记数据少的场景。

▲强化学习:agent需要和环境大量的交互尝试,很多实际场景(例如互联网搜索推荐、无人驾驶)中交互成本大、代价高,很难应用。

而人类和动物学习快速的原因:最重要的是观察世界,而不是靠大量的监督、强化学习

智能的精髓在于预测:我们通过观察世界、理解世界、尝试预测未来,并根据实际结果的反馈信息,来不断调整自己的世界模型,变得越来越有智能。简单来说,无论人还是机器,预测的准确度越高,说明智能越强。

自监督学习的思想就是通过构造任务来提升预训练模型预测能力,即Predicting everything from everything else。具体方法是假装输入中的一部分不存在,然后基于其余的部分用模型预测这个部分,从而学习得到一个能很好地建模输入语义信息的表示学习模型。

例如,在NLP中,自监督学习Word2Vec、BERT、GPT、GPT2、GPT3等模型,可以很好地应用到语言模型、机器翻译、对话系统等多个任务中。

在CV中,自监督学习SimCLR等模型,可以应用到图像分类、补全等任务。

Yann LeCun

关于机器学习的作用,LeCun做了一个形象的比喻,如下图所示:强化学习像蛋糕上的樱桃,监督学习像蛋糕上的糖霜,而自监督学习是蛋糕本身。

Yann LeCun

通过这个比喻,可以很好的理解自监督学习在人工智能中的重要基石作用。

数据时代,很有前景的人工智能的实现方式是:

  1. 在底层,首先基于海量的无标签数据,利用自监督学习,学习得到一个强大的通用表示模型。
  2. 在上层,基于监督学习实现具体任务的目标、基于强化学习实现智能控制。

自监督学习的作用在于,可以增强监督学习和强化学习模型的性能、泛化能力、鲁棒性等。

事实上,在CV、NLP等人工智能领域,自监督学习已经开始发挥着至关重要的作用。


3.1 Computer Vision:

CV领域中,自监督学习的Pretext task 可以是预测图片相对位置信息、旋转角度、视频中帧的顺序等。

[1] 2015 (ICCV) Unsupervised Learning of Visual Representations Using Videos

ICCV 2015这篇论文的思想是:视频场景,对物体跟踪,对于一个包含物体o的帧X,包含物体o的另外一个帧

应该比一个随机的帧

和X的相似度更高。

这篇论文里使用CNN作为Encoder, 对于图片X,f代表CNN,f(X)为X新的表示向量,定义两个图片的距离为如下:

然后就可以基于hinge loss来学习CNN的参数了:

学习完CNN参数,就可以将它作为表示学习器(特征抽取器),应用到后续的其他CV任务了。这篇论文里,作者对比了基于100k无标签的视频无监督预训练CNN,和基于ImageNet千万级的监督数据预训练CNN,在后续的CV任务中取得了很接近的效果。

[2] 2015 (ICCV) Unsupervised Visual Representation Learning by Context Prediction

ICCV 2015这篇论文里,构造训练数据的方法是:随机从图片采样一个patch,然后从它的邻居里随机采样一个patch,监督标签对应是邻居的位置信息。作者认为,准确地预测两个patch的位置关系,需要模型学会物体整体和部分的关系。

[3] 2016 (ECCV) Unsupervised learning of visual representations by solving jigsaw puzzles

EECV 2016这篇论文里,自监督的方法是:学习解决Jigsaw Puzzles(拼图)问题。随机打乱图片位置,学习恢复拼图,即生成原有图片的顺序。

[4] 2016 (CVPR) Deepak Pathak et al. Context Encoders: Feature Learning by Inpainting

CVPR 2016这篇论文里,自监督的方法是:学习恢复图片缺失部分。

[5] 2016 (ECCV) A Colorful image colorization

ECCV 2016这篇论文里,自监督的方法是:由黑白图片生成彩色图片。

[6] 2017 (CVPR) Split-Brain Autoencoders: Unsupervised Learning by Cross-Channel Prediction

CVPR 2017这篇论文里,学习使用输入的一个channel取预测另一个channel。

[7] 2018 (ICLR) Unsupervised Representation Learning by Predicting Image Rotations

2018 ICLR这篇论文里,采取的自监督的方法是:预测图片的旋转角度。

[8] 2017 (ICCV) Unsupervised Representation Learning by Sorting Sequences

ICCV 2017 这篇论文里,采取的自监督的方法是:随机打乱视频帧,然后学习对它们排序。

[9] 2018 (Google) (ICRA) Time-Contrastive Networks: Self-Supervised Learning from Video

ICRA 2018这篇论文里,采取的自监督的方法是:从视频里取一帧,然后选临近的帧作为正例,随机的离得远的帧作为负例,来学习DNN网络,然后结合强化学习,应用到机器人控制。

[10] 2018 (DeepMind) (Arxiv) (CPC) Representation Learning with Contrastive Predictive Coding

2018年DeepMind提出CPC,基本的思想是context信息能用来预测target的原因是,context的high-level表示是自回归依赖的。所以可以对输入x通过编码器encode到high-level表示,然后在high-level表示层学习出

,用来进行预测。

优化的目标是x和c的Mutual Information最大:

直接通过生成模型用

预测未来的 比较困难, 所以作者定义了概率密度来保持

​​​​​​​ 和

的互信息:

作者采用的公式是:

作者使用InfoNCE loss来优化,使Mutual Information最大:

其中X为N个随机sample,包含1个正例和N-1个负例。

[11] 2019 (ICLR) [DIM] Learning deep representations by mutual information estimation and maximization

[12] 2020 (Hinton) (ICML) [SimCLR] A Simple Framework for Contrastive Learning of Visual Representations

Hinton等人,在这篇论文里提出SimCLR:

对一个输入x,首先通过两次独立的数据增强生成两个样本,然后分别通过编码器,再分别通过投影:

最后在投影空间定义对比loss,其中负样本从batch中的其他图片:

[13] 2020 (Hinton) (Arxiv) Big Self-Supervised Models are Strong Semi-Supervised Learners

Hinton等人在这篇论文里,首先在大量无监督数据上自监督学习task-agnostic的encoder,然后基于少量的label数据finetune,再通过蒸馏技术,利用无监督的标签或有标签数据,学习得到更强的task-specific的encoder,对面向具体任务的迁移学习很有指导意义。

Distillation:

无标签数据:

无标签数据 标签数据:

[14] 2020 (Google) (Arxiv) Supervised Contrastive Learning

一般自监督学习,对每个anchor,一般是一个positive, 多个negative。这篇论文里,提出在学习时,使用多个positive和多个negative一起学习。

[15] 2020 (CVPR) [MoCo] Momentum Contrast for Unsupervised Visual Representation Learning

[16] 2020 (DeepMind) (Arxiv) [BYOL] Bootstrap Your Own Latent: A New Approach to Self-Supervised Learning

一般自监督学习,需要负样本。这篇论文里,DeepMing的作者提出了BYOL,不需要负样本,也能自监督学习。


3.6 Survey:

自监督学习的综述论文:

[47] 2020 (Arxiv) Self-supervised Learning: Generative or Contrastive.

[48] 2020 (T-PAMI) Self-supervised Visual Feature Learning with Deep Neural Networks: A Survey

3.7 More Materials:

Github:

Facebook: https://github.com/facebookresearch/fair_self_supervision_benchmark

blogs:

https://lilianweng.github.io/lil-log/2019/11/10/self-supervised-learning.html

Talks:

Self-Supervised Learning. Yan Lecun. AAAI 2020. [pdf]

Graph Embeddings, Content Understanding, & Self-Supervised Learning. Yann LeCun. (NYU & FAIR) [pdf]

Self-supervised learning: could machines learn like humans? Yann LeCun @EPFL.


后记:

Self-supervised Learning在CV、NLP、Graph、RL、RecSys等领域已经取得了很awesome的效果。如何更好的挖掘无标签数据中的知识?如何和有监督数据更好地结合学习?仍然都是开放的问题,通过已有的研究工作,我们有充足的理由相信:

Self-supervised Learning is the future of AI!

本文介绍的论文集合:

https://github.com/guyulongcs/Awesome-Self-supervised-Learning-papers

raw article:自监督学习: 人工智能的未来 – 知乎

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

0 人点赞