Self-Supervised Learning 入门介绍

什么是 Self-Supervised Learning

首先介绍一下到底什么是 SSL,我们知道一般机器学习分为监督学习非监督学习强化学习。 而 self-supervised learning 是无监督学习里面的一种,主要是希望能够学习到一种通用的特征表达用于下游任务。 其主要的方式就是通过自己监督自己,比如把一段话里面的几个单词去掉,用他的上下文去预测缺失的单词,或者将图片的一些部分去掉,依赖其周围的信息去预测缺失的 patch。

根据我看的文章,现在 self-supervised learning 主要分为两大类:1. Generative Methods;2. Contrastive Methods。 下面我们分别简要介绍一下这这两种方法。

1.Generative Methods

首先我们介绍一下 generative methods。 这类方法主要关注 pixel space 的重建误差,大多以 pixel label 的 loss 为主。 主要是以 AutoEncoder 为代表,以及后面的变形,比如 VAE 等等。 对编码器的基本要求就是尽可能保留原始数据的重要信息,所以如果能通过 decoder 解码回原始图片,则说明 latent code 重建的足够好了

这种直接在 pixel level 上计算 loss 是一种很直观的做法,除了这种直接的做法外,还有生成对抗网络的方法,通过判别网络来算 loss。

对于 generative methods,有一些问题,比如:

  1. 基于 pixel 进行重建计算开销非常大;
  2. 要求模型逐像素重建过于苛刻,而用 GAN 的方式构建一个判别器又会让任务复杂和难以优化。

我看到一个很好的例子来形容这种 generative methods。 对于一张人民币,我们能够很轻易地分辨其真假,说明我们对其已经提取了一个很好的特征表达,这个特征表达足够去刻画人民币的信息, 但是如果你要我画一张一模一样的人民币的图片,我肯定没法画出来。 通过这个例子可以明显看出,要提取一个好的特征表达的充分条件是能够重建,但是并不是必要条件,所以有了下面这一类方法。

2.Contrasive self-supervised learning

除了上面这类方法外,还有一类方法是基于 contrastive 的方法。 这类方法并不要求模型能够重建原始输入,而是希望模型能够在特征空间上对不同的输入进行分辨,就像上面美元的例子。

这类方法有如下的特点:
1. 在 feature space 上构建距离度量;
2. 通过特征不变性,可以得到多种预测结果;
3. 使用 Siamese Network;
4. 不需要 pixel-level 重建。

正因为这类方法不用在 pixel-level 上进行重建,所以优化变得更加容易。当然这类方法也不是没有缺点,因为数据中并没有标签,所以主要的问题就是怎么取构造正样本和负样本。

目前基于 contrastive 的方法已经取得了很好的进展,在分类任上已经接近监督学习的效果,同时在一些检测、分割的下游任务上甚至超越了监督学习作为 pre-train的方法。
下面是这两类方法的总结图片:

为什么需要 self-supervised learning

上面我们讲了什么是 self-supervised learning,那么为什么我们需要自监督学习呢,以及它能够给我们带来哪些帮助?

在目前深度学习发展的情况下,对于监督学习,我们希望使用更少的标注样本就能够训练一个泛化能力很好的模型,因为数据很容易获取,但是标注成本却是非常昂贵的。 而在强化学习中,需要大量的经验对 agent 进行训练,如果能搞减少 agent 的尝试次数,也能够加速训练。 除此之外,如果拿到一个好的特征表达,那么也有利于做下游任务的 fintuen和 multi-task 的训练。

最后我们总结一下监督学习和自监督学习的特点,其中 supervised learning 的特点如下:

  1. 对于每一张图片,机器预测一个 category 或者是 bounding box
  2. 训练数据都是人所标注的
  3. 每个样本只能提供非常少的信息(比如 1024 个 categories 只有 10 bits 的信息)

于此对比的是,self-supervised learning 的特点如下:

  1. 对于一张图片,机器可以预测任何的部分
  2. 对于视频,可以预测未来的帧
  3. 每个样本可以提供很多的信息

所以通过自监督学习,我们可以做的事情可以远超过监督学习,也难怪 Yann 未来看好 self-supervised learning。 目前出现的性能很好的文章主要是基于 contrastive 的方法,所以下面我们介绍几篇基于 contrastive 方法的文章。

猜你喜欢

转载自blog.csdn.net/weixin_43135178/article/details/114539527