自监督学习的常见前置任务(Pretext Task),包含生成式、上下文式、语义标记式、跨模态式四种类别。
图像表示学习
大致可以分为三类方法:基于生成的方法、上下文式方法、基于免费语义标签的方法。
基于生成的方法(Generation-Based Methods)
通常利用 GAN 模型,训练生成器对样本进行生成,并训练判别器区分真伪样本,例如:图像生成、超分辨率、补全与上色。
基于上下文式的方法(Context-Based Methods)
- 利用样本间的相似性(Context Similarity):
- 基于 HOG、SIFT、Fisher Vector 等人工抽取特征的技术对样本进行聚类
- 利用一些改进的聚类、基于图的算法产生样本弱监督关系
- 对比学习技术,最大化相同样本的不同视图间一致性、最小化不同样本的视图间的一致性
空间上下文结构(Spatial Context Structure):预测图块之间的相对位置、旋转角度、物体的形状作为前置任务。
免费语义标签(Free Semantic Label)
利用游戏引擎生产数据集与丰富标记信息,然而生成数据集与真实数据集之间存在差异
利用硬编码程序来生成语义标签,将硬编码知识蒸馏进入模型,然而此类信息通常带噪声
视频表示学习
大致可以分为四类方法:基于生成的方法、基于上下文的方法、基于免费语义标签的方法与跨模态方法。图片表示的一批方法可以直接应用到视频中来,因此在此章节未作重复介绍。
基于生成的方法(Generation-Based Methods)
视频帧生成:通常使用双分枝网络分别用于生成视频的前景(及其遮罩层)与背景。
- 视频上色:这部分工作较少,然而视频中的颜色信号(及其连贯性)是很强的监督信息。
视频预测:目标为预测未来的视频帧或视频帧的特征,使用 Structural Similarity Index (SSIM) and Peak Signal to Noise Ratio (PSNR) 作为评价指标。
基于时间上下文的方法(Temporal Context-Based Methods)
将视频中存在明显运动的画面抽取出来(利用光流法计算动作变化强度),然后打乱顺序喂入模型判断图片是否动作发生顺序输入。
此类方法因为需要利用光流法对数据进行处理,已找到运动强度较高的那些运动,因此准备数据集的过程昂贵且耗时。跨模态方法(Cross Modal-Based Methods)
通常将可以使用的 RGB 信息、光流序列、音频信息、相机信息等结合在一起进行学习,大致分为一下三种类别:
RGB-Flow:通过互信息验证RGB特征与光流序列特征之间的相关性;直接将光流信息作为监督信息,利用RGB两帧输入预测光流信息。
- Visual-Audio:通过视频子网络与音频子网络分别提取对应特征,并判断音频与视频内容是否来源于相同时间点。或利用某一模态的数据产生聚类信息,指导另一个模态的学习。
- Ego-Motion: 利用其他传感器能够提供的监督信息,此类监督信号通常都是比较准确的。
性能比较
图片任务(基于AlexNet)
在 ImageNet 和 Place 数据集上不使用类别标记进行训练,然后再使用类别标记单独训练线性层比较性能。图片展示了从浅层卷积到深层卷积,自监督模型的性能逐渐上升。
目标检测、语义分割也可以用来测试自监督学习表示的性能,目标检测在PASCAL VOC 2007测试集上进行,语义分割在PASCAL VOC 2012验证集上进行。可以看到在此数据集上,自监督学习的性能已经十分接近全监督学习的性能。视频任务
人动作识别任务通常在数据集 UCF101 and HMDB51 上进行,然而这两个数据集太小了,难以反应视频自监督学习任务的真实性能,急需使用更大的数据集。
音频分类任务在 DCASE [89] and ESC50 [90] 上进行。3D任务
3D任务通常在 ShapeNet [87] or ModelNet40 数据集上进行,提取特征后使用 SVM 对训练分类器进行识别。未来方向
- 自监督学习与弱监督学习的结合
- 从合成数据学习特征表示
- 从网络数据学习
- 从3D数据中学习特征表示
- 从多模态数据中学习特征表示
- 利用多种前置任务学习特征表示