SSL 方法自 2020 年以来迎来了复兴,这在很大程度上要归功于超大数据集和高内存 GPU 的可用性。然而,SSL 的起源可以追溯到深度学习时代的初期。
现代方法建立在我们从早期实验中获得的知识之上。在本节中,我们将简要概述 2020 年之前 SSL 的主要思想。虽然许多具体方法已经不再主流使用,因为它们不再在基准问题上提供最先进的性能,而且它们虽然不会详细讨论,但这些论文中的想法构成了许多现代方法的基础。例如,恢复输入的丢失或扭曲部分或对比同一图像的两个视图的核心目标构成了现代 SSL 方法的基础。 SSL 的早期进展集中于开发属于以下(有时是重叠)类别的方法:
1.信息恢复:已经开发了多种方法来掩盖或删除图像中的某些内容,然后训练神经网络来恢复丢失的信息。基于彩色化的 SSL 方法将图像转换为灰度,然后训练网络来预测原始 RGB 值。由于着色需要理解对象语义和边界,因此着色被证明是一种早期的 SSL 对象分割方法。信息恢复最直接的应用是屏蔽(也称为删除)图像的一部分,然后训练网络来修复丢失的像素值 [Pathak et al., 2016]。这个想法演变成了屏蔽自动编码方法 [He et al., 2022],其中屏蔽区域是可以使用变压器预测的图像块的联合。
2. 在视频中使用时间关系:虽然本次综述的重点是图像(而不是视频)处理,但已经开发了一系列专门方法,用于通过视频预训练来学习单图像表示。请注意,信息恢复方法对于视频特别有用,因为视频包含可以屏蔽的多种信息模式。 Wang 和 Gupta [2015] 使用三元组损失来预训练模型,该模型可以提高两个不同帧中对象表示之间的相似性。所得模型在物体检测方面表现良好。帕塔克等人。 [2017]训练模型来预测单帧中物体的运动,并调整所得特征来解决单帧检测问题。阿格拉瓦尔等人。 [2015] 预测给定多个帧的相机的自我运动。欧文斯等人。 [2016]建议从视频中删除音轨,然后预测丢失的声音。对于深度映射等专业应用,人们提出了自监督方法,从未标记的图像对中学习单目深度模型 [Eigen et al., 2014],然后从单摄像头视频中学习帧 [Zhou et al., 2017]。这些方法仍然是一个活跃的研究领域。
3. 学习空间上下文:此类方法训练模型来理解场景中对象的相对位置和方向。 RotNet [Gidaris et al., 2018] 通过应用随机旋转来掩盖重力方向,然后要求模型预测旋转。多尔施等人。 [2015] 是最早的 SSL 方法之一,它可以简单地预测图像中两个随机采样的补丁的相对位置。该策略被“拼图”方法所取代 [Pathak et al., 2016, Noroozi et al., 2018],该方法将图像分解为一系列不相交的块并预测每个块的相对位置。另一个不同的空间任务是学习计数 [Noroozi et al., 2017]:模型经过训练以自我监督的方式输出图像中的对象数量。
4. 将相似的图像分组在一起:通过将语义相似的图像分组在一起,可以学习丰富的特征。 K 均值聚类是经典机器学习中使用最广泛的方法之一。许多研究已经采用 k 均值来通过神经模型执行 SSL。深度聚类通过在特征空间中执行 k 均值来为图像分配标签,并更新模型以尊重这些分配的类标签 [Caron et al., 2018]。这种方法的最新处理方法使用均值漂移更新将特征推向聚类中心,并且已被证明可以补充 BYOL,这是一种基于两个网络的方法,其目标是预测每个样本的伪标签 [Koohpayegani 等人, 2021](第 2.3 节讨论)。深度聚类的其他改进包括在特征空间中使用最佳传输方法来创建信息更丰富的聚类 [Asano et al., 2019]。
5. 生成模型:一种早期有影响力的 SSL 方法是贪婪的分层预训练 [Bengio et al., 2006],其中使用自动编码器损失一次训练深度网络的各层。当时使用的类似方法是受限玻尔兹曼机 (RBM),它可以分层训练并堆叠以创建深度信念网络 [Hinton et al., 2006]。虽然这些方法被放弃,转而支持更简单的初始化策略和更长的训练运行,但它们在历史上对 SSL 具有影响力,因为它们支持第一个“深度”网络的训练。后来的进步提高了自动编码器的表示学习能力,包括去噪自动编码器 [Vincent et al., 2008]、跨通道预测 [Zhang et al., 2017] 和深度规范相关自动编码器 [Wang et al., 2015] ]。尽管如此,最终发现当自动编码器被要求恢复其输入的丢失部分时,表示可转移性更好,从而产生了 SSL 方法的“信息恢复”类别。
生成式对抗网络(GANs) [Goodfellow等人,2014]由一个图像生成器和一个区分真实图像和生成图像的鉴别器组成。这个模型对的两个组成部分都可以在没有监督的情况下进行训练,并且都可能包含对迁移学习有用的知识。早期的GANs论文[Salimans等人,2016]尝试使用GAN组件进行下游图像分类。还开发了专门的特征学习例程,可以修改鉴别器[Springenberg, 2015],添加生成器[Dai等人,2017],或学习从图像到潜空间的额外映射[Donahue等人,2017],以改进迁移学习。
6. 多视图不变性:许多现代SSL方法,特别是我们在本文中关注的那些方法,使用对比学习来创建对简单转换不变的特征表示。对比学习的思想是鼓励模型以相似的方式表示输入的两个增强版本。在对比学习被广泛采用之前,一些方法通过以各种方式强制不变性,引领了这一方向的发展。
从无标签数据中学习的最流行框架之一是使用弱训练网络将伪标签应用于图像,然后以标准的监督方式使用这些标签进行训练[Lee等人,2013]。这种方法后来通过强制转换的不变性得到了改进。虚拟对抗训练[Miyato等人,2018]使用他们的伪标签在图像上训练网络,并进行对抗性训练,以便学习到的特征几乎对输入图像的小扰动不变。后来的工作专注于维护数据增强转换的不变性。
该类别中重要的早期方法包括MixMatch [Berthelot等人,2019],它通过对训练图像的几个不同随机增强对网络的输出进行平均来选择伪标签,从而产生增强不变量的标签。大约在同一时间,人们发现可以通过训练网络来最大化不同视图下图像表示之间的互信息来实现良好的SSL性能[Bachman等人,2019]。这些基于增强的方法在上述旧方法和本文的重点当代方法之间建立了桥梁。
有了这些起源,我们现在将SSL分为四个大类:深度度量学习系列、自蒸馏系列、典型相关分析系列和掩码图像建模系列。