解读 | 自监督视觉特征学习综述
本文是一篇 2019 年的综述文章的解读,这篇综述总结了自监督学习在视觉领域的应用,全文清晰条理,容易理解。
标题:《Self-supervised Visual Feature Learning with Deep Neural Networks: A Survey》
链接:paper
1. 自监督介绍
大规模数据集的收集和标注既耗时又昂贵。
为了避免耗时且昂贵的数据标注,有人提出了自监督方法,一种无监督学习的子方法,以在不使用任何人工标注的情况下从大规模未标记图像或视频中学习视觉特征。
为了从无标签数据中学习到视觉特征,常用方法是提出不同的 pretext task。网络可以通过学习 pretext task 的目标函数来训练,视觉特征也在这一过程中获得。
pretext task 举例:colorizing grayscale images, image inpainting, image jigsaw puzzle.
pretext task 属性:在解决该任务时神经网络需要学到视觉特征;该任务的伪标签可以基于图像/视频本身属性自动生成。
自监督学习的通用流程如图 1 所示:
- 在自监督的训练阶段,为 ConvNets 设计了一个预定义的前置任务 pretext
task,并根据数据的某些属性自动生成该前置任务的伪标签。 然后,对ConvNet 进行训练,以学习前置任务的对象特征。 - 在自我监督的训练完成之后,可以将学习到的视觉特征作为预训练的模型进一步迁移到 downstream task下游任务(尤其是当只有相对较小的数据时),以提高性能并克服过度拟合的情况。
- 通常,浅层捕获一般的低级特征,例如边缘,拐角和纹理,而较深层捕获与任务相关的高级特征。
- 因此,在监督的下游任务训练阶段,仅迁移了前几层的视觉特征。
2. 通用深层网络架构
Architectures for Learning Image Features:
- AlexNet
- VGG
- GoogLeNet
- ResNet
- DenseNet
缺点:由于这些网络的参数众多,容易过拟合
3. 常用的 pretext tasks 和 downstream tasks
前置任务(pretext tasks) 的训练可以用图 9 表示,其中 P 是伪标签,O 是输出。
作者将前置任务分为四类:
-
Generation-based Methods:图像和视频生成
- Image Generation:包括 image colorization, image super resolution, image inpainting,GAN
- video generation:包括 GANs and video prediction
-
Context-based pretext tasks
- Context Similarity:基于内容相似性,包括 clustering-based methods, and graph constraint-based methods
- Spatial Context Structure:基于不同块之间的空间关系,包括 image jigsaw puzzle, context prediction, and geometric transformation recognition
- Temporal Context Structure:验证输入帧顺序是否正确或识别帧的顺序
-
Free Semantic Label-based Methods:自动生成语义标签,标签是通过传统的硬编码算法或游戏引擎生成
- moving object segmentation, contour detection, relative depth prediction
-
Cross Modal-based Methods:基于交叉模态的方法,这种类型的前置任务会训练ConvNet,以验证输入数据的两个不同通道是否彼此对应
- Visual-Audio Correspondence Verification, RGB-Flow Correspondence Verification, and egomotion
这四类用图 10 表示:
为了通过自我监督方法评估学习的图像或视频功能的质量,将自我监督学习的学习参数用作预训练模型,然后对下游任务(例如图像分类)进行微调 。
下游任务(downstream tasks) 是一种对学习到的特征的定量评估(quantitative evaluations),常用的下游任务有:
- 语义分割
- 对象检测
- 图像分类
- 动作识别
在这些高级视觉任务上的迁学习性能证明了所学习特征的泛化能力。
除了对学习到的特征进行定量评估外,还有一些定性的可视化方法可以评估自我监督学习到的特征质量(qualitative evaluation)。
这些方法的目的通常为:
- Kernel Visualization:定性地可视化通过前置任务学习的第一个卷积层的内核,并比较监督模型中的内核。 比较了监督模型和自我监督模型学习的内核的相似性,以表明自我监督方法的有效性;
- Feature Map Visualization:可视化功能图以显示网络的关注区域。 较大的**表示神经网络更加关注图像中的相应区域。 通常对特征图进行定性可视化,并与监督模型进行比较
- Nearest Neighbor Retrieval:通常,具有相似外观的图像通常在特征空间中更靠近。 最近邻方法用于从自监督学习模型学习的特征的特征空间中找到前K个最近的邻居
4. 数据集
自监督学习不需要人工标注的数据,因此任何监督学习的数据集都可以用来自监督方式的视觉特征学习。
5. 不同前置任务的性能
不同 pretext task 在分类,检测,分割等 downstream task 上的性能(VOC 数据集):
不同 pretext task 在行为识别 downstream task 上的性能(UCF101 和 HMDB51 数据集):
6. 未来的研究方向
自监督学习的未来研究方向:
Learning Features from Synthetic Data:
从合成数据学习特征。借助游戏引擎,可以轻松生成数百万个具有精确像素级注释的合成图像和视频。需要解决的一个问题是如何弥合合成数据和真实数据之间的领域鸿沟。 只有少数工作探索了通过使用 GAN 来弥合领域差距从综合数据中进行自我监督的学习。 利用更多可用的大规模合成数据,将提出更多的自我监督学习方法。
Learning fromWeb Data:
从网络数据学习特征。使用搜索引擎,可以从以下网站下载数百万个图像和视频。除了原始数据外,标题,关键字和评论也可以作为数据的一部分,用作训练网络的额外信息。需要注意的问题是如何处理 Web 数据及其关联的元数据中的噪声。
Learning Spatiotemporal Features from Videos:
从视频学习时空特征。目前自监督学习的 downstream task 大多是检测分割等二维任务,利用 3DConvNet 进行自我监督的视频时空特征学习尚未很好地解决。
Learning with Data from Different Sensors:
学习来自不同传感器的数据。大多数现有的自我监督视觉特征学习方法仅关注图像或视频,自动驾驶汽车通常配备各种传感器,包括RGB摄像头,灰度摄像头,3D激光扫描仪以及高精度GPS测量和IMU加速度,可以将不同设备捕获的数据的对应关系用作自我监督特征学习的监督信号。
Learning with Multiple Pretext Tasks:
学习多个前置任务。目前的大多数自监督视觉特征学习方法都是基于一个 pretext task,不同的 pretext task 提供不同的监督信号,可以帮助网络学习更多具有代表性的特征,所以 multiple pretext task self- supervised feature learning 是个可以考虑的方法。