【论文分享】自监督综述Self-supervised Visual Feature Learning

举报
小马君 发表于 2020/07/06 17:04:36 2020/07/06
【摘要】 论文分享:自监督综述Self-supervised Visual Feature Learning Deep Neural Networks: A Survey原文链接:https://arxiv.org/abs/1902.061621.1 自监督学习的意义 监督学习需要大量的标注数据来获得更好的表现,然而大量的标注数据的获取成本是极高的,自监督学习可以避免这个花销。1.2 术语定义 ...

论文分享:自监督综述Self-supervised Visual Feature Learning Deep Neural Networks: A Survey


原文链接:https://arxiv.org/abs/1902.06162


1.1 自监督学习的意义

    监督学习需要大量的标注数据来获得更好的表现,然而大量的标注数据的获取成本是极高的,自监督学习可以避免这个花销。


1.2 术语定义

    首先对几个术语进行了定义,方便读者的理解。

    • Human-annotated label:指人工进行标注后产生的标签。

    • Pretext Task:可以理解为自监督任务。这个任务可以是预测任务、生成任务等,也可以是多种任务的结合。其主要特征是任务中的监督信号是根据数据本身的结构生成的。

    • Pseudo label:这个标签是指在pretext task中使用的数据标签,即根据数据本身的结构生成的。

    • Downstream Task:在使用自监督训练后产生的权重,需要迁移到别的任务上,以此来看自监督的训练效果。通常认为自监督训练出来的模型可以学到这个数据的一些比较通用的特征,所以通过迁移之后的任务表现来判定这个自监督算法是否有效。Downstream Task(下游任务),则是在自监督训练之后,后续迁移自监督模型的任务。

    • Supervised Learning:监督学习,采用人工打了标签的数据进行训练。

    • Semi-supervised Learning: 半监督学习,采用小部分人工打了标签的数据+大量的无标签的数据进行训练。

    • Weakly-supervised Learning:弱监督学习,训练用的数据标签通常是粗粒度的或者是不准确的标签。

    • Unsupervised Learning:无监督学习,指不用任何人工标签进行训练的方法。

    • Self-supervised Learning:自监督学习是无监督学习的一个子类,自监督学习的监督信号是根据数据本身的结构生成的。    


2. 自监督学习中常用的网络结构

    自监督学习中常用的网络跟其他方法一样,比如:AlexNet、VGG、GoogLeNet、ResNet、DenseNet等


3.1 自监督学习中常用的Pretext Task

    Pretext Task可以分为四类:

    • Generation-based(基于生成类):这类方法的Pretext Task通常涉及到图像生成、视频生成(像GAN类的方法)。

    • Context-based(基于上下文):自监督的监督信号来自上下文信息,包括:上下文的相似性,图像的空间结构、视频类任务中可以用到的时间结构

    • Free semantic label-based(基于免费的语义标签的方法):这个免费是指语义标签不是人工标注的,而是通过传统的算法生成(比如:hard-code算法,game engines)。

    • Cross modal-based(基于跨模态的方法):跨模态的方法是指数据的来源是多模态的,比如:将视频中的图像通道与声音通道分开,输入网络看这两个模态是不是互相匹配的。


3.2 常用于评估自监督学习的下游任务

    • Semantic Segmentation(语义分割类任务)

    • Object Detection(物体检测任务)

    • Image Classification(图像分类任务)

    • Human Action Recognition(人体行为识别)

    • Qualitative Evaluation(定性评估):比如通过可视化feature map看自监督训练出来的网络更focus在图像的哪个部分


4. 自监督学习常用的数据集

image.png

5.图像中的自监督学习方法

5.1生成类

    • Image Colorization

      比如:将彩色的图像转化成灰色图像输入网络,让网络学习给图像上色。

      image.png

    • Image Super Resolution

      这种方法主要包括两个网络:

            生成网络:在低分辨率的输入图像的基础上生成高分辨率的图像

            区分网络:判断生成的图像与原始的高分辨率的图像的相似性

            然而,当前还没有文献测试了这个方法的迁移学习的效果。

    • Image Inpainting

      image.png

      预测图像缺失的部分,有两个部分:一个是图像生成网络,一个是图像判别网络。这两个网络都可以被用于后续的迁移学习。

    • Generative Adversarial Networks

      使用GAN的方法来生成图片,让网络判断生成的图像是否具有真实性

5.2 基于上下文

    • Context Similarity上下文的相似性)

      Clustering:基于传统的提取特征的方法(e.g. Hog, SIFT)将图像分为几类。然后基于这些伪标签进行训练,让模型判断这些图像属于那一个类别,或者图像是不是来自同一个类别。

      Contrasting:中心思想是训练一个网络使其可以最大化来自同一图片的相似性,最小化来自不同图片的相似性。值得一提的是SimCLR,这个方法在ImageNet上比其他自监督的方法精度高

    • Spatial Context Structure

      Image Jigsaw Puzzle:将图像切块,随机打乱,让网络重新复原图像。该方法的关键在于,找到一个合适的任务,让任务不会太过简单(达不到训练预期效果),也不会太难(训练无法收敛)

      image.png

      Geometric Transformation:将原图旋转一定角度,让网络预测出图像的旋转角度

    • Free Semantic Label-Based

      这些语义标签通过Game Engines、Hard-code生成。Hard-code这个方法的缺点是生成标签通常噪声比较多,会引入误差。

6. 视频中的自监督学习方法

6.1 生成类

    • Video Generation with GAN

            与图像类生成方法类似。这种方法通常由两部分组成:generator(生成器:生成视频)+ discriminator(鉴别器:区分生成的与真实的视频)。Discriminator可以被迁移物其他的下游任务。

            VideoGAN:网络中涉及到两条数据流,一条是针对视频中的静态区域建模为背景,另一条是将动态区域建模为前景。通过两条数据流来生成视频。

            MocoGAN:一个空间是上下文空间该空间中的每个变量代表一个物体,并且 另一个空间是运动空间,而在此轨迹空间代表物体的运动。

    • Video Colorization

      给一个灰色的图像,一些参考的彩色图像,让模型学习上色。

    • Video Future Prediction

      给定一些序列,让模型学习预测后续的序列。

6.2 基于时间上下文

    这些方法的通常会经历大量的数据准备步骤;训练网络使用的视频序列是根据光流(Optical Flow的解释可看:https://zhuanlan.zhihu.com/p/44859953)量决定的,光流计算是昂贵且慢的。

    • Temporal Order Verification:输入一段视频序列,模型需要判断视频的序列是否是正确的序列

    • Temporal Order Recognition:输入一段视频序列,模型需要给出视频的正确序列

6.3 基于跨模态

image.png

7. 比较了各种方法的表现

只放了部分表格,更多的表格可以进原文去看

image.png


总结

1、自监督学习的效果在某些数据集上与全监督学习旗鼓相当,在物体检测任务与语义分割任务上与全监督任务比精度差距小于3%,说明自监督学习到的特征具有比较好的泛化性能。然而自监督在视频上效果与选择的网络的backbone及训练数据有很强的相关性,视频自监督算法通常是在UCF101跟HMDB51这两个小数据集上作比较,这两个小数据集并不能很好地反映出视频自监督学习方法的泛化能力。

2、图像中的自监督学习方法可以比较好的复现出来。然而,视频中的方法由于使用的数据集比较小,一些比较强大的模型的性能并不能很好的表现出来。

3、当前用于比较自监督学习的方法主要是通过比较自监督模型在下游任务上的效果,这样是无法得知自监督学习的模型学习到了什么特征。


8. 未来的自监督的研究方向

    • 将自监督学习与其他学习方法相结合

    • 从合成的数据中学习

    • 从网络数据中学习

    • 从点云数据中学习

    • 使用不同模态的数据学习

    • 使用多个Pretext Task学习


9. 补充

除了这个综述中描述的方法之外,我认为还有一种方法可以归为Recover Transformation-Based,这是Geometric Transformation一种延伸。这种方法通过预测对图像施加的变换来达到自监督学习的目的。例如:AET vs. AED: Unsupervised Representation Learning by Auto-Encoding Transformations rather than Data详情可见https://arxiv.org/abs/1901.04596

image.png


【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。