读书笔记:Self-supervised Visual Feature Learning with Deep Neural Networks: A Survey
这一周的师兄给布置的任务有一点重,四篇论文的精读对我还是不小的挑战!
那么首先我们从这篇综述:基于深度神经网络的自监督学习(视觉特征)开始!
Abstract:
背景:通常来说训练一个对图像或视频能很好进行特征提取的深度神经网络需要大规模的标签数据,对于CV task来说。为了避免收集数据注释数据带来的高昂费用,我们提出了一种方法——这种方法是无监督学习的一种——自监督学习,这种方法可以从大规模未注释的数据提取特征,从而无需使用任何人工标注的标签。
论文的内容:首先搞了一个review of 基于深度学习的自监督学习的通用视觉特征学习的方法;
- 介绍了为什么要搞领域,这个领域的术语;
- 介绍/总结了常见的自监督深度学习网络架构;
- 回顾了自监督学习方法的评估指标和模式,通过常见的图像和视频数据集与现有的自监督学习方法;
- 最后,通过在基准数据集上我们对上述方法进行一个性能比较;
最后的最后提出了(视觉特诊学习)的自监督学习未来发展的方向与希望。
Introduction:
1.为什么我们要自监督学习
背景1:具有不同级别的一般视觉功能的强大功能,深度神经网络已经应用与大量CV task之中。
背景2:这些模型往往都会先使用大规模数据集(比如说IMAGENET)进行一个预训练模型然后针对任务进行微调。
第一:通过大规模数据集对模型进行预训练给学习的参数提供了一个很好的起点,当针对其他任务的训练可以更快的收敛;第二,在大规模数据集上训练网络已经学习了层次结构特征,可以减少过拟合问题,尤其是在其他任务的数据集很少或者标签较少的情况下。
背景3:CNN网络的的表现能力取决于模型的容量和训练数据量。因此开发了不同的网络构架同时也增加了网络模型的容量,同时数据集也尽可能的增大了。凭借着复杂的结构和大数据集,我们CV上的task得到了不断的突破。
背景4:标注非常耗时耗力、并且昂贵。
背景5:为了避免耗时耗力昂贵的数据标注,我们提出了许多自监督模型,这些模型可以学习视觉特征从而无需使用任何人工注释的大规模图像/视频数据集。
答案:我们提出了自监督学习模型来学习图像特征同时不需要数据集标注,一个主流的解决方案是提出各种前置任务给网络来解决,网络可以可以通过学习目标功能通过前置任务,同时在这个过程中学习到了特征。因此提出了各种前置仍无以进行自监督学习——例如灰度图像着色[18],图像修复[19],图像拼图等。 前置任务有两个共同的属性:1.首先是要有输入给网络,不管是图像/视频;2要根据图像和视频能自动生成用于前置任务的为标签。
自监督学习流程如上图所示。
自监督学习步骤:
- 在自监督训练阶段,设置了前置任务给ConvNets来解决,同时会根据数据的某些情况来生成用于前置任务的伪标签,然后对ConvNets进行培训,来学习前置任务的功能;
- 在自监督训练结束之后,可以将学习到的视觉特征转移到下游任务,或是作为与训练的模型来克服过拟合问题;
通常浅层网络用于捕获低级特征比如边缘/拐角/纹理,而深层任务用于捕获高层次的特征。因此在监督的下游任务训练阶段只转移前几层的视觉特征??
2.术语的定义
为了方便我们的学习了解,我们定义了一部分的术语:
- Human-annotated label:人工标注标签;
- Pseudo label :伪标签,前项仍无自动生成的标签;
- Pretext Task:前置任务,是网络要预先设计的仍无,前置任务的目标是进行一个特征学习;
- Downstream Task:下游任务,用于评估我们自监督学习学习特征的质量。尤其是当数据集较少的CV task中我们可以从预训练模型中受受益匪浅。同时通常来说下游任务需要人工标注的数据集,但是也有部分下游任务可以不需要任何人工注释标签;
- Supervised Learning:监督学习
- Semi-supervised Learning:半监督学习,少量标记数据和大量未标记数据
- Weakly-supervised Learning:弱监督学习,使用粗略的标签/不准确的标签进行学习。使用粗标签可以大大减少成本。
- Unsupervised Learning:无监督学习,没有任何人工标注样本
- Self-supervised Learning:自动生成标签对CNN进行训练;
3.本文贡献
- 首次对CNN在视觉领域进行综合的研究调查;
- 回顾了最新的自监督学习的方法和数据集;
- 定量分析比较;
- 指出了未来发展的方向;
介绍不同的学习模式:
我们根据数据集的标签,将视觉特征的学习方法分为:监督/半监督/弱监督/无监督学习四种方法;在本节中将对四种类型的学习方法进行一个比较;
1.监督学习
X为数据集,Y为人工的标注
2.半监督学习
给定一个小的标定数据集X,与一个大的未标记数据集Z,对于每一个X,还有一个标定数据Y
R()函数表示的是标注的数据X的relation与未标注的数据Z
3.弱监督学习
给定一个数据集X,会相应的给一个模糊标签C
4.无监督学习
无监督学习就比较厉害了,不需要任何标签。
无监督学习有完全不需要任何标签,以及自监督学习——自动生成伪标签来训练网络,无需任何人工注释;
自监督学习
自监督学习也是给定的数据集X,与pseudo label(伪标签所进行训练)
我们对自监督学习的定义是:只要伪标签P是不涉及人工注释的情况下自动生成的那么这种方法就属于自监督学习。
通用的深层网络构架
这个地方回答了结构是结构,方法(学习方法)是方法;
不管使用什么样的方法,他们都可以share相似的网络结构;
1.学习图像特征的构架
我们主要回顾五个里程碑的特征学习的构架;
-
ALEX NET
alexnet主要在图像分类性能上有很大的提高。
alex体系结构具有8层,其中5层是卷积层—>relu,3层是完全连接层。为了防止过拟合,我们用了data augmentation, dropout, and normalization -
VGG
VGG结构具有16层,VGG模型结构适中同时性能优越被广泛使用。VGG与alex最大的不同是vgg都是用的尺寸相同的kernels(3x3)和很小的步进,而alex使用的是的是大步进大kernels。较大的kernels会导致过多的参数和较大的模型大小,较大的stride会导致网络错过一些特征。反之亦然在VGG上所变成了优势 -
Resnet
VGG证明了更深的网络有着更良好的性能。但是存在两个问题,这两个问题使更深的网络更难训练:1.梯度消失/2.梯度爆炸。
由于较小的模型尺寸和卓越的性能,resnet常用于为基础网络 -
Googlenet
与之前的思路不同(搞更深的网络结构),Google这帮人考虑的是建立一个更宽的网络,每一层都有多个并行卷积层
googlenet的基本块包含四个平行卷积层。
-
DenseNet
以上提到的网络,都遵行循序渐进的基本法,图像被馈送在网络,特征被不同层提取。浅层提取低层特征,而深层提取高层特征用于特定的任务。
这样,较浅的块可以专注于低级常规功能,而较深的块可以专注于高级任务特定功能
2.Architectures for Learning Video Features
常见的前置任务和下游任务
大多数现有的自监督学习方法都使用的是上图的模型;
通常来说为CNN定义一个前置任务来解决,我们的视觉特征的提取可以通过这个过程来学习。
伪标签P在前置任务可以自被自动产生。通过最小化CNN的预测O与伪标签P之间的loss来训练优化convent。
1.从求前置任务中提取视觉特征
为了减少数据集注释苦难你,通常为网络生成一个前置任务,根据数据属性自动深层伪标签。目前已经设计了多个前置任务用于自监督学习:前景分割、图像修补等任务。有效的前置任务可以学习语义特征。
2.常用的前置任务
我们将前置任务(图像特征提取)归纳为四个类别:
-
generation-based
通过生成images or video来提取图像特征
这个部分包括图像着色、图像超分辨率、图像修补、生成对抗网络
-
context-based
这里主要依靠上下文相似、空间结构(空间特征)、时间结构(时间特征)
-
free semantic label based
这种类型的前置任务自动生成语义标签训练网络
-
cross modal-based
3.常见的下游任务(downstream task)
通过评估自监督学习所提取的图像特征,自监督学习通过前置任务所得到的参数,然后针对下游任务得到了微调,例如:分类、语义分割、目标检测、动作识别等;转移学习在这些高级视觉任务的表现显示了提取特征的泛化能力;
提示:这里统计学习计划的总量
Datasets
图像特征提取
这一节中主要回顾了三组自我监督的图像特征学习方法:
例如:generation-based methods; context-based methods; free semantic label based methods
- generation-based image feature learning
generation-based image feature learning包含generate image (GAN、fake images),super-resolution (to generate high-resolution images),image 修补 (to predict missing image regions)、imagecolorization (to colorize gray-scale images into colorful images)。对于这种任务,我们的伪训练标签P一般是图像本身 - context-based methods
context based 提取特征主要通过including context similarity, spatial structure, and temporal structure。
我们使用聚类的方法聚集相似的数据。
- free semantic label based methods