图解自监督学习(CV)

译自:https://amitness.com/2020/02/illustrated-self-supervised-learning/

作者:Amit Chaudhary

注:译者在某些地方对原文的表述做了调整,使其适合汉语的阅读习惯,并在某几处有译者自己的理解。大家有能力的话可以看一下英文原文。

在 Yann Lecun 的一次演讲中,作者首次了解到了自监督学习,他在那里介绍了“蛋糕类比”来说明自监督学习的重要性。 在谈话中,他说:

“If intelligence is a cake, the bulk of the cake is self-supervised learning, the icing on the cake is supervised learning, and the cherry on the cake is reinforcement learning (RL).”

“如果人工智能是一块蛋糕,那么大部分蛋糕是自监督学习,监督学习是蛋糕上的冰激凌,而强化学习则是蛋糕上的樱桃。”

尽管这个类比存在争议,但我们已经看到了自监督学习在自然语言处理领域的影响,其中最近的(Word2Vec、Glove、ELMO、BERT)已经取得了SOTA的结果。

为了了解计算机视觉领域自监督学习的现状,作者通过 Jing 等人最近的一篇综述论文了解了现有的关于将自监督学习应用于计算机视觉的工作。

本文将解释什么是自监督学习,总结并通过图示的方式直观地展示自监督学习中的一些问题的建模方式。

自监督学习简介

为什么要自监督学习

要在深度神经网络中进行有监督学习,我们需要足够的标注数据。 但是人工标注数据是一个既耗时又昂贵的过程。 还有一些领域,例如医疗领域,获取足够的数据本身就很困难。 因此,当前有监督学习范式的一个主要瓶颈是如何获得大量的标注数据。

什么是自监督学习

自监督学习是通过下面这种方式,将无监督学习问题转化为有监督问题的方法:

我们能否以这样一种方式设计任务:即我们可以从现有图像中生成几乎无限的标签,并使用它来学习特征表示?

在自监督学习中,我们通过创造性地利用数据的某些属性来设置伪监督任务来替换人工注释的部分。 例如,这里不是将图像标记为猫/狗,而是将它们旋转 0/90/180/2700/90/180/2700/90/180/270 度并训练模型来预测旋转。不同于标注猫 / 狗,对图像进行旋转并记录旋转标签可以有机器自动完成,因此,我们可以从互联网上的数百万张图像中生成几乎无限的训练数据。下图展示了整个端到端自监督训练的工作流。

在我们从数以百万计的图像中学习好特征表示后,我们可以利用迁移学习在一些有监督的任务(如仅有少量样本的猫狗分类任务)上进行微调。

自监督学习方法综述

现在让我们了解一下研究人员提出的各种方法来,利用图像和视频特性并将自监督学习应用于表征学习。

至于自监督学习任务如何设计,Yann LeCun 在 AAAI 2020 上的演讲也提到过:

  1. 根据所有待预测部分之外的信息预测任意一部分信息。
  2. 根据过去预测未来。
  3. 根据过去最近的情况预测未来。
  4. 根据现在预测过去。
  5. 根据底层信息预测顶层信息。
  6. 根据可见的信息预测不可见的信息。
  7. 假设有一部分输入数据未知,并且对其进行预测。

对该演讲有兴趣的读者,可参考:https://www.bilibili.com/video/BV1V7411573v?from=search&seid=12729545036652967460

A 基于图像的自监督学习

Pattern 1 重构

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 的架构,其中生成器可以学习如何重构图像,而鉴别器学习将真实图像和生成的图像分开。

对于其在下游任务的表现,Pathak 等人。 已经表明,这样的生成器学习的语义特征在 PASCAL VOC 2012 语义分割比赛上比随机初始化的模型提高了 10.2%,同时对分类和对象检测有< 4% 的提升。

可参考的相关工作:

  • Context encoders: Feature learning by inpainting

4 Cross-Channel 预测

如果我们从图像的一个通道预测另一个通道并将它们组合起来重构原始图像会怎样?

Zhang 等人在他们名为 Split-Brain Autoencoder 的工作中应用了这个想法。 为了理解论文的idea,让我们以番茄的彩色图像为例。

对于这张彩色图像,我们可以将其拆分为灰度和颜色通道。 然后,对于灰度通道,我们预测颜色通道,对于颜色通道部分,我们预测灰度通道。 将两个预测通道 X1X_1X1​ 和 X2X_2X2​ 组合起来以完成对原始图像的重构。 我们可以将此重构与原始彩色图像进行比较,以计算损失并更新模型。

同样的想法也可以应用于具有深度的图像,我们使用来自 RGB-HHA 图像的颜色通道和深度通道来相互预测并比较输出图像和原始图像。

可参考的相关工作:

  • Split-Brain Autoencoders: Unsupervised Learning by Cross-Channel Prediction

Pattern 2 常识任务

1 拼图任务

如果我们通过随机打乱图像块来构建训练样本对(打乱、有序)拼图会怎样?

即使只有 9 个图像块,也可以有 362880 个可能的 puzzles。 为了解决这个问题,仅使用所有可能排列的一个小子集,例如具有最高汉明距离的 64 个排列。

假设我们使用一个排列来打乱图像,如下所示。 让我们使用总共 64 个可用排列中的排列数 64。

现在,为了复原出原始图像块关系,Noroozi 等人 提出了一种称为上下文无关网络(CFN)的神经网络,如下所示。 在这里,单个图像块通过具有共享权重的相同孪生卷积层。 然后,将这些特征组合,并送入一个全连接层中。 在输出中,模型必须从 64 个可能的类中预测使用了哪种排列。

为了完成拼图任务,模型需要学习识别物体中组件的组装方式、物体不同部分的相对位置以及物体的形状。 因此,这些表示对于分类和检测中的下游任务很有用。

可参考的相关工作:

  • Unsupervised learning of visual representations by solving jigsaw puzzles

2 上下文预测

如果我们通过从大型未标记的图像集合中随机获取一个图像块及其周围的一个相邻块来构建训练样本对(图像块,相邻图像块)会怎样?

为了完成这个辅助任务,Doersch 等人 使用了类似于拼图任务的结构。图像块通过两个孪生卷积网络来提取特征,拼接特征并在 8 个类别上进行分类,表示 8 个可能的邻块位置。

可参考的相关工作:

Unsupervised Visual Representation Learning by Context Prediction

3 几何变换识别

如果我们通过从大型未标记图像集合中随机旋转图像(0、90、180、270)来构建训练样本对(旋转图像、旋转角度)会怎样?

为了解决这个前置任务,Gidaris 等人 提出一种架构,其中旋转图像通过卷积网络,网络需要将输入图像分类为 4 类(0/90/270/3600/90/270/3600/90/270/360 度)。

虽然看起来是一个非常简单的任务,但该模型必须了解图像中对象的位置、类型和姿势才能完成此任务,因此,学习到的表示对于下游任务会很有用。

可参考的相关工作:

Unsupervised Representation Learning by Predicting Image Rotations

Pattern 3 自动生成标签

1 图像聚类

如果我们通过对大型未标记图像集合执行聚类来构建训练样本对(图像,簇数)会怎样?

为了解决这个前置任务,Caron 等人 提出一种称为深度聚类的架构。 在这里,首先对图像进行聚类,并将聚类用作类。 模型的任务是预测输入图像的集群标签。

可参考的相关工作:

  • Deep clustering for unsupervised learning of visual features
  • Self-labelling via simultaneous clustering and representation learning
  • CliqueCNN: Deep Unsupervised Exemplar Learning

2 影像合成

如果我们通过使用游戏引擎生成合成图像并使其适应真实图像来构建训练样本对(图像、属性)会怎样?

为了解决这个辅助任务,Ren 等人 提出了一种架构,其中权重共享的卷积网络在合成图像和真实图像上进行训练,然后将合成图像和真实图像送入鉴别器,鉴别器学习分类输入是合成图像还是真实图像。 由于对抗性作用,真实图像和合成图像之间的共享表征将会变得更好。

B 基于视频的自监督学习

如果我们通过从运动物体的视频中混洗帧来构建训练样本对(视频帧,正确/不正确的顺序)会怎样?

为了完成这个辅助任务,Misra 等人 提出了一种架构,其中视频帧通过权重共享的卷积网络,模型必须确定帧的顺序是否正确。 这样做时,模型不仅需要学习空间特征,还需要考虑时间特征。

可参考的相关工作:

  • Shuffle and Learn: Unsupervised Learning using Temporal Order Verification
  • Self-Supervised Video Representation Learning With Odd-One-Out Networks

Citation Info (BibTex)

如果读者觉得本文对你的研究工作有帮助的话,可以引用原作者的博客:

@misc{chaudhary2020selfsupervised,title   = {The Illustrated Self-Supervised Learning},author  = {Amit Chaudhary},year    = 2020,note    = {\url{https://amitness.com/2020/02/illustrated-self-supervised-learning}}
}

图解自监督学习(CV)相关推荐

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

    作者:Amit Chaudhary 编译:ronghuaiyang (AI公园) 原文链接: 图解自监督学习,人工智能蛋糕中最大的一块​mp.weixin.qq.com 如果人工智能是一块蛋糕,那么蛋 ...

  2. 业界干货 | 图解自监督学习,从入门到专家必读的九篇论文

    本文约3500字,建议阅读15分钟 一文搞懂AI未来最火的技术:自监督学习. 如果人工智能比作一块蛋糕,那么蛋糕的大部分是自监督学习,蛋糕上的糖衣是监督学习,蛋糕上的樱桃是强化学习. Yann Lec ...

  3. 【机器学习】业界干货 | 图解自监督学习,从入门到专家必读的九篇论文

    作者 | 对白 整理 | 对白的算法屋 编者寄语: 一文搞懂AI未来最火的技术:自监督学习. 大家好,我是对白. 如果人工智能比作一块蛋糕,那么蛋糕的大部分是自监督学习,蛋糕上的糖衣是监督学习,蛋糕上 ...

  4. 图解半监督学习FixMatch,只用10张标注图片训练CIFAR10

    2020-05-25 11:20:08 作者:amitness 编译:ronghuaiyang 导读 仅使用10张带有标签的图像,它在CIFAR-10上的中位精度为78%,最大精度为84%,来看看是怎 ...

  5. 第955期机器学习日报(2017-04-30)

    机器学习日报 2017-04-30 科普:Amazon 首席执行官 Jeff Bezos "人人都应该知道的人工智能知识" @新智元 用于性能分析.模型优化的神经网络生成器 @爱可 ...

  6. 【CV】深度了解自监督学习,就看这篇解读 !SimMIM:掩码图像建模的简单框架...

    作者丨科技猛兽 编辑丨极市平台 导读 SimMIM 是继 BEiT 之后,MSRA 又提出的一个 MIM 任务上的预训练 CV 模型.这个模型也是直接回归预测原始像素 RGB 值,而不是像 BEiT ...

  7. 自监督学习在CV领域研究进展总结

      导读   自监督学习是指从数据本身产生某种形式的标签并训练神经网络,用来解决某些特定任务或者学习通用的图像.视频.语言的特征表达.在学术界,自监督学习被证明可以解决光流预测.深度估计.场景遮挡等问 ...

  8. 数据太少怎么办?试试自监督学习,CV训练新利器,fast.ai新教程,LeCun点评

    点击我爱计算机视觉标星,更快获取CVML新技术 十三 发自 凹非寺 量子位 报道 | 公众号 QbitAI 数据少,又没有预训练模型,怎么破? 给你个秘密武器--自监督学习. 数据科学家 Jeremy ...

  9. 深度了解自监督学习,就看这篇解读 !何恺明新作MAE:通向CV大模型

    点击上方"计算机视觉工坊",选择"星标" 干货第一时间送达 作者丨科技猛兽 编辑丨极市平台 导读 本文对何恺明的新作MAE进行了深度的解析,他提出一种用于计算机 ...

最新文章

  1. PyTorch 图像分类
  2. java在线查看pdf文件,java 实现所有文件的在线查看(其他类型转pdf后用pdf.js显示)...
  3. 谈谈我的程序人生程序生涯-飞鸽传书
  4. 昆计计算机管理专修学院,昆明昆计高中的师资怎么样,学校是民办还是公办的...
  5. Python之网络编程(TCP套接字与UDP套接字)
  6. java 验证码的制作
  7. C语言 第二章 数据类型、变量和输入函数
  8. 和包支付的钱哪里来_老瓦发问国际乒联:道理我都懂!问题钱从哪里来?
  9. Linux命令学习手册-iconv命令
  10. BAT 批处理注释命令rem、@rem和::
  11. 色彩的搭配,象征,以及web标准色
  12. mysql5.7 赋权_「赋权」mysql创建用户并赋权 - seo实验室
  13. 计算机中怎样用公式计算结果,EXCEL中如何显示公式的计算结果?
  14. 为什么微软是数字时代的领头羊?
  15. OpenCV初试云雨
  16. ad20生成二维码_AD20(AltiumDesigner)最全快捷键-资源下载人人文库网
  17. #深入分析# pandas中使用 drop 和 del删除列数据的区别
  18. 判断元素是否为负无穷大numpy.isneginf()
  19. 又一个!左手手机,右手汽车,为啥手机厂商都扎堆造汽车?
  20. 会声会影2022中文版主要功能讲解64位安装下载

热门文章

  1. java.net.NoRouteToHostException: Cannot assign requested address
  2. 软件设计师 -主观题总结
  3. 2022春招马蜂窝旅游网第一轮面试 面经
  4. Java-分析类初始化
  5. 9008线刷_小米红米手机新机9008模式怎么进入?小米线刷救砖模式
  6. apache禁止多目录运行php文件下载,Nginx Apache下如何禁止指定目录运行PHP脚本
  7. vue快速复制快捷键_⌨️ Vue项目给应用优雅的绑定快捷键
  8. jq之$(“tr:odd“).css(“background-color“,“red“);
  9. java 数据队列_Java 数据结构 - 队列
  10. 2017php行情,2017年蔬菜行情特点及未来蔬菜价格走势分析