Fork me on GitHub

图解自监督学习,人工智能蛋糕中最大的一块

作者:Amit Chaudhary

编译:ronghuaiyang

导读: 如果人工智能是一块蛋糕,那么蛋糕的大部分是自监督学习,蛋糕上的糖衣是监督学习,蛋糕上的樱桃是强化学习。

Yann Lecun 在他的演讲中引入了“蛋糕类比”来说明自监督学习的重要性。虽然这个类比是有争论的,但我们也已经看到了自监督学习的影响,在自然语言处理领域最新发展(Word2Vec,Glove, ELMO, BERT)中,已经接受了自监督,并取得了最佳的成果。

“如果人工智能是一块蛋糕,那么蛋糕的大部分是自监督学习,蛋糕上的糖衣是监督学习,蛋糕上的樱桃是强化学习(RL)。”

出于对自监督学习在计算机视觉领域的应用的好奇,我通过 Jing 等人的一篇近期调研论文查阅了已有的关于自我监督学习在计算机视觉领域应用的文献。

这篇文章是我对自监督学习中问题模式的直观总结。

关键的思想

为了使用监督学习,我们需要足够的标记数据。为了获得这些信息,人工标注器需要手工标记数据(图像/文本),这是一个既耗时又昂贵的过程。还有一些领域,比如医疗领域,获取足够的数据本身就是一个挑战。

这就是自监督学习发挥作用的地方。它提出了以下问题来解决这个问题:

我们能否以这样一种方式来设计这个任务,即我们可以从现有的图像生成几乎无限数量的标签,并使用这些标签来学习图像的表现形式?

我们通过创造性地利用数据的某些属性来代替人工标注块来建立监督任务。例如,在这里,我们可以将图像旋转 0/90/180/270 度,而不是将其标记为猫/狗,并训练一个模型来预测旋转。我们可以从数百万张免费提供的图像中生成几乎无限数量的训练数据。

已存在的创造性方法

下面是各种研究人员提出的利用图像和视频的属性并以自监督的方式学习表示的方法。

从图像中学习

1. 图像的着色

形式:

使用数以百万计的图像灰度化来准备成对(灰度,彩色)图像。

我们可以使用一个基于全卷积神经网络的编译码器结构来计算预测和实际彩色图像之间的 L2 损失。

为了解决这个问题,模型必须了解图像中出现的不同物体和相关部分,这样它才能用相同的颜色绘制这些部分。因此,表示学习对下游任务很有用。

论文:Colorful Image Colorization | Real-Time User-Guided Image Colorization with Learned Deep Priors | Let there be Color!: Joint End-to-end Learning of Global and Local Image Priors for Automatic Image Colorization with Simultaneous Classification

2. 图像超分辨率

形式:

使用图像下采样的方式准备训练对(小的,缩放的)。

基于 GAN 的模型如 SRGAN 在此任务中很受欢迎。生成器获取低分辨率图像并使用全卷积网络输出高分辨率图像。使用均方误差和内容损失来模拟类人质量比较,对实际生成的图像和生成的图像进行比较。二进制分类鉴别器获取图像并对其进行分类,判断它是实际的高分辨率图像(1)还是假生成的超分辨率图像(0)。这两个模型之间的相互作用导致生成器学习生成具有精细细节的图像。

生成器和判别器都学到了可以用于下游任务的语义特征。

论文:Photo-Realistic Single Image Super-Resolution Using a Generative Adversarial Network

3. 图像修复

形式:

我们可以通过随机去掉图像中的某个部分来生成成对的训练图像(损坏的,复原的)。

与超分辨率类似,我们可以利用基于 GAN 的架构,在此架构中,生成器可以学习如何重构图像,而 discriminator 则可以将真实图像和生成的图像分开。

对于下游任务,Pathak 等人表明,在 PASCAL VOC 2012 语义分割的比赛上,生成器学到的语义特征相比随机初始化有 10.2% 的提升,对于分类和物体检测有 <4% 的提升。

论文:Context encoders: Feature learning by inpainting

4. 图像拼图

形式:

通过随机交换图像块生成训练对

即使只有 9 个小块,也是个有 362880 个可能的谜题。为了克服这个问题,只使用了可能排列的一个子集,例如具有最高汉明距离的 64 个排列。

假设我们使用如下所示的重排来更改图像。我们用 64 个排列中的第 64 个排列。

![img](The Illustrated Self-Supervised Learning.assets/ss-jigsaw-permutation-64.png)

现在,为了恢复原始的小块,Noroozi 等人提出了一个称为上下文无关网络(CFN)的神经网络,如下图所示。在这里,各个小块通过相同的共享权值的 siamese 卷积层传递。然后,将这些特征组合在一个全连接的层中。在输出中,模型必须预测在 64 个可能的排列类别中使用了哪个排列。如果我们知道排列的方式,我们就能解决这个难题。

为了解决拼图问题,模型需要学习识别零件是如何在一个物体中组装的,物体不同部分的相对位置和物体的形状。因此,这些表示对于下游的分类和检测任务是有用的。

论文:Unsupervised learning of visual representations by solving jigsaw puzzles

5. 上下文预测

形式:

我们随机选取一个图像块以及其附近的一个图像块来组成训练图像对。

为了解决这个文本前的任务,Doersch 等人使用了类似于拼图游戏的架构。我们通过两个 siamese 卷积神经网络传递图像块来提取特征,连接特征并对 8 个类进行分类,表示 8 个可能的邻居位置。

论文:Unsupervised Visual Representation Learning by Context Prediction

6. 几何变换识别

形式:

我们通过随机的旋转图像来生成有标注的图像(旋转图像,旋转角度)。

为了解决这个文本前的任务,Gidaris et al.提出了一种架构,其中旋转后的图像通过一个卷积神经网络,网络需要把它分成 4 类(0/90/270/360 度)。

虽然这是一个非常简单的想法,但模型必须理解图像中物体的位置、类型和姿态才能完成这项任务,因此,学习到的表示方法对后续任务非常有用。

论文:Unsupervised Representation Learning by Predicting Image Rotations

7. 图像聚类

形式:

把聚类的结果作为图像的标签生成训练图像样本和标注。

为了解决这个预备任务,Caron et al.提出了一种称为深度聚类的架构。在这里,首先对图像进行聚类,把聚类出的类别用作分类的类别。卷积神经网络的任务是预测输入图像的聚类标签。

论文:Deep clustering for unsupervised learning of visual features

8. 图像合成

形式:

通过使用游戏引擎生成合成图像并将其调整为真实图像来准备训练对(图像,属性)。

为了解决这个预备任务,任等人提出一个架构,使用共享权值的卷积网络在合成和真实图像上进行训练,然后鉴别器学会分类合成图像是否是一个真正的图像。由于对抗性,真实图像和合成图像之间的共享表示变得更好。

从视频中学习

1. 视频帧顺序识别

形式:

通过打乱视频中的视频帧来生成训练对(视频帧,正确的顺序)。

为了解决这个预备任务,Misra 等人提出了一个架构,其中视频帧通过共享权重的 ConvNets 传递,模型必须确定帧的顺序是否正确。在此过程中,该模型不仅学习了空间特征,还考虑了时间特征。

论文:Shuffle and Learn: Unsupervised Learning using Temporal Order Verification

英文原文:https://amitness.com/2020/02/illustrated-self-supervised-learning/


本文地址:https://www.6aiq.com/article/1583122538455
本文版权归作者和AIQ共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出