Semi-Supervised and Unsupervised Deep Visual Learning: A Survey
题目:半监督与无监督深度视觉学习研究综述
作者:Yanbei Chen; Massimiliano Mancini; Xiatian Zhu; Zeynep Akata
点击下方卡片,关注“AI前沿速递”公众号
点击下方卡片,关注“AI前沿速递”公众号
各种重磅干货,第一时间送达
各种重磅干货,第一时间送达
摘要
最先进的深度学习模型通常需要大量昂贵的标记训练数据进行训练。然而,要求进行详尽的手动注释可能会降低模型在有限标签制度下的泛化能力。半监督学习和无监督学习提供了有希望的范例,可以从大量未标记的视觉数据中学习。这些范式的最新进展表明,利用未标记数据改善模型泛化并提供更好的模型初始化具有强大的优势。在这篇综述中,我们从统一的视角回顾了半监督学习(SSL)和无监督学习(UL)在视觉识别方面的最新深度学习算法。为了全面理解这些领域的最新技术,我们提出了一个统一的分类法。我们对现有的代表性SSL和UL进行了全面和深入的分析,以突出它们在不同学习场景和不同计算机视觉任务中的应用中的设计原理。最后,我们讨论了SSL和UL中的新兴趋势和开放挑战,以期为未来的研究指明关键研究方向。
关键词
半监督学习 自监督学习 综述 无监督学习 视觉表示学习
I. 引言
在过去十年中,深度学习算法和架构在各种计算机视觉任务方面推动了技术进步,例如对象识别、检索、检测到分割。为了达到人类级别的性能,深度学习模型通常通过监督训练在大量标记数据上构建。然而,收集大量标记数据集不仅成本高昂、耗时,而且可能由于隐私、安全和道德限制而受到法律禁止。此外,监督深度学习模型倾向于记住标记数据,并纳入注释者的偏见,削弱了它们对新场景中未见数据分布的泛化能力。
随着更便宜的成像技术和更便捷的网络数据访问,获取大量未标记的视觉数据不再是挑战。因此,从未标记数据中学习成为自然而有希望的方法,可以扩展模型到实际场景中,其中收集大量涵盖所有类型视觉变化的标记训练集是不可行的,这些视觉变化包括照明、视点、分辨率、遮挡和由不同场景、相机位置、一天中的时间以及天气条件引起的背景干扰。半监督学习[7]、[8]和无监督学习[9]、[10]、[11]、[12]作为两种最具代表性的范例,利用未标记数据。它们建立在不同的假设之上,通常独立发展,同时分享使用未标记数据学习更强大表示和模型的相同目标。
图 1总结了本综述涵盖的两种范式,这两种范式都利用未标记数据进行视觉表示学习。根据训练数据中是否给出一小部分或没有标签注释,我们将范式分类为半监督学习和无监督学习,如下明确定义。
a) 半监督学习(SSL)使用稀疏标记数据和大量辅助未标记数据,通常来自与标记数据相同的底层数据分布。在封闭集SSL[8]、[13]中,标记和未标记数据共享来自相同域的标签集。在开放集SSL[14]、[15]中,未标记数据可能包含未知和/或错误标记的类别。
b) 无监督学习(UL)使用未标记数据,无需与任务相关的标签监督。一旦训练完成,模型可以使用标记数据进行微调,以在下游任务中实现更好的模型泛化[16]。
根据上述定义,我们将标记数据集和未标记数据集分别表示为和。SSL和UL的总体统一学习目标可以表示为:
其中表示深度神经网络(DNN)的模型参数;是输入图像,是对应的标签;和分别是监督损失项和无监督损失项;和是平衡超参数。在SSL中,这两项损失项被联合优化。在UL中,只使用无监督损失项进行无监督模型预训练(即,)。尽管SSL和UL共享使用无监督目标进行学习的理念,但它们在学习方法上有所不同,导致了各自独特的挑战。具体来说,SSL假设有限的标记数据可用,其核心挑战是如何利用丰富的未标记数据扩展标记集。UL假设主学习任务中没有标记数据,其关键挑战是如何从未标记数据中学习任务通用的表示。
我们专注于提供及时和全面的综述,介绍利用未标记数据改善模型泛化的进步,涵盖了SSL和UL的代表性最新方法、它们的应用领域,以及自监督学习的最新趋势。重要的是,我们提出了一个统一的分类法,为研究人员提供了一个系统性的概述,帮助理解当前技术的最新进展,并确定未来研究的开放挑战。
与先前综述的比较。我们的综述与关于半监督学习[8]、[13]、[17]、自监督学习[18]或两个主题[19]的其他综述有关。虽然这些综述大多关注单一特定的学习设置[8]、[13]、[17]、[18],非深度学习方法[8]、[13],或缺乏对方法和应用讨论的全面分类法[19],我们的工作涵盖了更广泛的代表性SSL和UL算法综述,涉及未标记的视觉数据。重要的是,我们使用新颖的分类法对最新的SSL和UL算法进行了分类,并在不同方法之间建立了联系。除了每个学习范式的内在挑战之外,我们还从问题和算法的角度提取了它们之间的基本联系,讨论了不同现有技术的独特见解及其实际适用性。
综述组织和贡献。我们的贡献是三方面的。首先,据我们所知,这是第一次深度学习综述,提供了利用未标记数据进行视觉识别的三种普遍机器学习范式的全面综述,包括半监督学习(SSL,第II节)、无监督学习(UL,第III节),以及对SSL和UL的进一步讨论(第IV节)。其次,我们提供了一个统一的、有洞察力的分类法和分析,分析了现有的方法在学习和模型制定方面的设置,以揭示它们在不同学习场景和应用中的算法联系。最后,我们在第V节展望了新兴趋势和未来的研究方向,以揭示那些未被充分探索和潜在的关键开放途径。
II. 半监督学习(SSL)
半监督学习(Semi-Supervised Learning, SSL)旨在利用大量未标记数据以及少量标记数据进行知识发掘。SSL在多个应用领域进行了探索,如图像搜索、医学数据分析、网页分类、文档检索、遗传学和基因组学等。最近,SSL被用于学习通用的视觉表示,以促进许多计算机视觉任务,例如图像分类、图像检索、目标检测、语义分割和姿态估计等。虽然我们的综述主要涵盖了用于图像分类的通用半监督学习器,但它们背后的思想可以推广到解决其他视觉识别任务。
我们定义了SSL问题的设置,并在第二节中讨论了其假设-A.我们在第二节中提供了对现有的半监督深度学习方法的分类和分析-B.
A. SSL的问题设置
问题定义
在SSL中(见图2),我们通常可以访问有限的标记样本集合 和大量的未标记样本集合 。每个标记样本 属于 个类别标签 中的一个。
对于训练,SSL的损失函数 对于深度神经网络(DNN)的参数 一般可以表示为(1),即 。在许多SSL方法中,(1)中的超参数 通常是一个逐渐增加的权重函数(即, 并且 是训练迭代),在训练过程中逐渐增加无监督损失项的重要性。在测试时,模型被部署来识别已知的 个类别。
评估协议
为了测试SSL模型的有效性,通常采用两个评估标准。首先,模型需要在其仅在标记数据上训练的监督基线上表现更好。其次,当增加训练集中未标记样本的比例时,与监督基线的改进幅度应该相应增加。总体而言,这些改进的幅度表明了SSL方法的有效性和鲁棒性。
假设
SSL的主要假设包括平滑性假设和流形假设——后者也被称为聚类假设、结构假设和低密度分离假设。具体来说,平滑性假设认为,附近的数据点可能共享相同的类别标签。流形假设认为数据点位于相同的结构(即,相同的聚类或流形)中应该共享相同的类别标签。换句话说,前者对附近数据点施加了局部假设,而后者则基于由聚类或图形成的底层数据结构施加了全局假设。
B. SSL算法的分类法
现有的SSL方法通常假定未标记数据是封闭集且任务特定的,即所有未标记训练样本都属于预定义的类别集合。大多数现有工作的共同思想是基于某种底层数据结构为每个未标记样本分配类别标签,例如流形结构[41]、[43]和图结构[45]。我们将最具代表性的半监督深度学习方法分为以下几类:一致性正则化、自训练、基于图的正则化、深度生成模型和自监督学习。
一致性正则化:一致性正则化包括许多成功和流行的方法[25], [26], [36], [38], [46], [47], [48], [49], [50]。其基本理念是在输入空间和(或)模型空间的变化下强制执行一致的模型输出。这些变化是通过例如添加噪声、扰动或形成相同输入或模型的变体来实现的。形式上,如果发生输入变化,目标是: 如果发生模型变化,目标是: 在(2)中, 是通过数据增强和随机扰动添加噪声 得到的原始输入 的变体。类似地,在(3)中, 是通过变换函数 添加随机性 得到的模型 的变体。在两个方程中,一致性被表示为两个网络输出 和 之间的差异 ,通常由散度或距离度量来量化,例如Kullback-Leibler (KL) 散度[47]、交叉熵[50]和均方误差(MSE)[36]。
a) 一致性正则化下的输入变化:在一致性正则化领域,研究者们提出了多种策略用以生成同一输入的不同版本(公式中的),并在此过程中强制执行一致性(即分布的平滑性),如图3(a)所示。这些技术从简单的随机增强[36][46],到更先进的变换,如对抗性扰动[47]、MixUp[25][51],以及自动化增强,例如RandAugment[52]、CTAugment[26]。
随机增强是一种广泛采用的标准数据转换策略,通过添加高斯噪声和应用特定领域的简单抖动,例如图像数据的翻转和裁剪。例如,Π模型[36]、[46],在相同的输入上应用随机数据增强,并通过最小化两个网络输出之间的一致性正则化项(均方误差MSE)来实现。
对抗性扰动通过添加旨在改变模型预测的对抗性噪声来增强输入数据,例如减少预测置信度或改变预测的正确标签[54]。对抗性噪声的引入,用于SSL(半监督学习)增强数据,并从对抗性变换的未标记数据中学习[47][49][55][56]。虚拟对抗训练(VAT)[47][55]是第一个代表性的SSL方法,它对每个输入添加小的对抗性扰动,并通过施加一致性正则化项(即KL散度),鼓励模型对虚拟对抗方向的分布鲁棒性。值得注意的是,使用对抗性扰动的未标记数据进行的半监督学习,不仅提高了模型的泛化能力,还增强了对对抗性攻击的鲁棒性[56][57]。
MixUp是一种简单且与数据无关的增强策略,通过对两个输入及其相应的标签进行线性插值[51]。它也被作为SSL的有效的正则化器引入[25][48]。插值一致性训练(ICT)[48]对两个未标记样本及其网络输出进行插值。MixMatch[25]进一步考虑将标记样本和未标记样本作为输入混合,并将标记数据的真值标签和未标记数据的预测标签作为输出目标。两种方法都施加了一致性正则化,以指导学习插值输入和插值输出之间的映射,从而从未标记数据中学习。
自动化增强从数据中学习增强策略,以产生强样本,减轻手动设计特定领域数据增强的需要[52][58]。它通过强制预测标签的一致性,引入SSL[26][50],这些标签来自弱增强或清洁样本及其通过自动化增强[26]、[50]派生的强增强版本。受AutoAugment[58]的启发,ReMixMatch[26]引入CTAugment学习自动化增强策略。无监督数据增强(UDA)[50]采用RandAugment[52]通过基于Python图像库的一组标准变换的均匀采样,产生更多样化和强增强的样本。随后,FixMatch[37]统一了多种增强策略,包括CTAugment[26]和RandAugment[52],产生更强的增强样本作为输入。
b) 模型变化下的一致性正则化:为了在模型参数空间中的变化下强制预测一致性,如公式(3)所示,提出了随机扰动[59][60][61]和集成[36][38][62]。通过非相同模型产生相同输入的不同输出——在公式(3)中用表示模型变体。
随机扰动通过添加高斯噪声、dropout或对抗性噪声以类不可知的方式对模型权重进行轻微修改[59][60][61]。例如,梯度网络在网络中逐层注入高斯噪声,并最小化原始网络和噪声污染网络之间的去噪L2损失[60]。伪集成在模型参数上应用dropout以获得一系列模型(即伪集成),同时最小化伪集成和模型之间的不一致性(KL散度)[59]。类似地,虚拟对抗dropout引入对抗性dropout来选择性地停用网络神经元,并最小化原始模型和扰动模型之间的输出差异[61]。最坏情况扰动(WCP)引入了对模型参数的添加性扰动和drop连接,其中drop连接将特定模型权重设置为零,以进一步改变网络结构[63]。值得注意的是,这些扰动机制促进了模型对网络参数或结构噪声的鲁棒性。
集成学习一套涵盖版本空间不同区域的模型[64][65][66],提供比单一模型更可靠的预测。对于SSL,集成模型通常是通过在预测空间或权重空间计算指数移动平均值(EMA)或等值平均来派生的[14][36][38][40]。时间集成[36]和均值教师[38]是两个代表性的工作,它们首先通过在权重空间[38]或预测空间[36]维护EMA来集成所有在训练过程中产生的网络。随机权重平均(SWA)[40]在权重空间应用模型参数的等值平均,以提供更稳定的一致性成本目标。随后,不确定性感知自蒸馏(UASD)[14]通过在训练过程中计算所有先前模型预测的等值平均来派生软目标作为正则化项。
备注:一致性正则化可以被视为一个辅助任务,其中模型从未标记的数据中学习,以最小化其对输入空间或权重空间的变化的预测方差。预测方差通常被量化为两个预测概率之间的差异分布或网络输出。通过最小化一致性正则化损失,我们鼓励模型学习对每个样本上添加的变化不变的更强大的表示,而不使用任何额外的标签注释。
2)自我训练:自我训练方法通过为样本预测高置信度的标签来从未标记数据中学习[22][23][67]。最初为传统的机器学习模型提出,例如逻辑回归[67]、二分图[22]和朴素贝叶斯分类器[23]。在深度神经网络中重新审视,以利用大量的未标记数据以及有限的标记数据。我们回顾了自我训练中的三个代表性工作线,包括熵最小化、共同训练和蒸馏,如下所述。见图4对自我训练的说明。
熵最小化基于低密度分离假设[44][67]来调整模型训练,以强制决策边界位于低密度区域。这也与聚类假设和流形假设[41][43]一致,后者假设来自同一类别的数据点可能共享相同的簇或流形。正式地,熵最小化目标可以表述为:
其中K指类别数。是将样本x分配到类别的概率。这衡量了类别重叠。由于较低的熵表明模型预测有更高的置信度,最小化上述公式强制每个未标记样本被分配到预测置信度最高的类别。尽管熵最小化最初是为逻辑回归提出以对高置信度分类的样本进行标签分配[67],但后来扩展到在SSL设置中训练深度神经网络,通过最小化预测空间[25][26][37][47][68]或特征空间[69]中的类别分配的熵。
在预测空间中,可以实施熵最小化,例如,伪标签(Pseudo-Label)[68]直接将每个样本分配给预测概率最大的类别标签,这隐含地最小化了模型预测的熵。当伪标签是单热编码向量时,由于错误的标签分配,它们可能会引起错误传播。为了降低这种风险,MixMatch [25]使用不同输入增强的预测集成,并通过温度超参数柔和地锐化单热伪标签。同样,FixMatch [37]仅在模型预测的置信度分数高于某个阈值时才分配单热标签。
熵最小化也可以在特征空间中实施,因为根据特征空间中类别级原型(例如,簇中心)的接近程度来派生类别分配是可行的[69],[70]。在[69]中,一个记忆模块学习每个类别的中心,该中心是基于与所有簇中心的接近程度派生的。每个未标记的样本通过最小化熵被分配到最近的簇中心。
共同训练
共同训练在来自不同源的同一样本的多个视图上学习两个或多个分类器[7][22][23][71][72]。概念上,共同训练框架[22][23]在两个不同但互补的数据视图上训练两个独立的分类器模型,并以跨模型的方式预测标签。后来扩展到深度视觉学习[71][72],例如深度共同训练(DCT)[71]训练具有两个或更多分类层的网络,并将不同视图(例如原始视图和对抗视图[73])传递给各个分类器进行共同训练,同时施加无监督损失以最小化来自不同视图的预测之间的相似性。深度共同训练目标的形式为:
其中是两个独立分类器在不同数据视图上的预测。引入相似性度量,以从彼此的预测中学习,例如针对一位目标的交叉熵[72],或输出目标之间的Jensen-Shannon散度[71]。
蒸馏
知识蒸馏最初被提出是为了将一个教师模型学习到的知识迁移到一个学生模型中。在此过程中,教师模型产生的软目标(例如,网络集成或一个更大型网络的输出)可以作为有效的正则化手段或模型压缩策略,用于训练学生模型[74][75]。在半监督学习(SSL)的最新研究中,学者们利用蒸馏技术在无标签数据上推断学习目标,以此来训练学生网络[14][34][76]。形式上,对于学生模型,引入了一个无监督蒸馏目标,目的是使其从无标签数据中学习:
在这里,代表学生模型的预测输出,而是由教师模型在无标签数据或所有数据上产生的软目标。与共训练相比,SSL中的蒸馏不同时优化多个网络,而是在不同阶段分别训练教师和学生模型。在蒸馏中,现有工作可以进一步分为模型蒸馏和数据蒸馏,它们使用教师模型的输出或相同输入数据的多次前向传播来为无标签数据生成学习目标。
在模型蒸馏中,教师模型的标签被分配给学生模型。教师模型可以是预训练模型或多个模型的集成。例如,在有噪声的学生训练中,通过迭代的自我训练过程,首先训练一个教师模型在无标签数据上生成标签以供学生模型使用,然后在下一个迭代中将学生模型重新用作教师模型。在不确定性感知自蒸馏中,教师模型平均了之前所有网络的预测结果,以在无标签数据上生成标签,用于更新学生网络本身。在模型蒸馏中,教师模型的软目标和独热标签都可以作为无标签数据上的学习目标。
数据蒸馏则是通过集成同一输入在不同数据变换下的输出来预测无标签数据上的学习目标。具体来说,集成的教师预测(即软目标)是通过平均同一输入在多次数据变换下的输出得到的;而学生模型随后被训练以模仿教师模型,通过蒸馏进行学习。数据蒸馏不同于模型蒸馏,它通过变换输入数据多次而不是训练多个网络来生成集成预测。这与一致性正则化中使用随机数据增强的方法类似;然而,在数据蒸馏中,涉及两个训练阶段——第一阶段是预训练教师模型;第二阶段是训练学生网络通过蒸馏来模仿教师模型。
备注。与一致性正则化相似,自训练可以被视为一种无监督辅助任务,与监督学习任务一起学习。它强化了对实例变化或教师模型预测的预测不变性。然而,自训练在设计上与一致性正则化不同。一致性正则化通常只训练一个模型,而自训练可能需要同时训练多个模型,例如共训练需要至少两个并行训练的模型,而蒸馏则需要顺序地训练教师和学生模型。
基于图的正则化:基于图的正则化是一系列传导学习(transductive learning)方法的集合,最初是为非深度半监督学习算法[41]、[45]、[77]提出的,例如传导支持向量机[41]和高斯随机场模型[77]。这一家族的大多数算法构建了一个加权图来利用数据样本之间的关系。具体来说,图中的节点代表标记和未标记的样本,边的权重编码了不同样本之间的相似度。标签可以通过基于平滑性假设的图传播,即邻近的数据点应该共享相同的类别标签,如图5所示。
在模型优化中,基于图的正则化通过施加各种形式的平滑性约束来最小化附近数据点之间的成对相似度。基于图的正则化后来被重新构想,用于深度神经网络的半监督学习,例如EmbedNN[43]、图卷积网络[78]、[79]、教师图[80]和标签传播[81]。尽管这些工作共享相同的平滑性假设用于模型优化,但基于图的正则化可以在特征空间或预测空间中以不同方式施加,具体如下。
基于图的特征正则化通常通过构建一个可学习的最近邻(NN)图来完成,该图增强了原始的深度神经网络(DNN),以在特征空间中编码数据点之间的亲和性,如EmbedCNN[43]和教师图[80]所示。图中的每个节点由中间网络层提取的视觉特征或最后一层的输出编码;同时计算亲和矩阵来编码所有节点之间的成对相似度。为了利用未标记数据,可以形成图基正则化项作为度量学习损失,例如用于孪生网络的基于边界的对比损失[82]、[83],它通过强制局部平滑性来约束特征学习:
上述公式确保最近邻的特征(即)彼此接近,并且不相似的对(即)彼此远离,距离边界为。
此外,图卷积网络(GCN)[78]利用图结构为每个节点派生新的特征表示[79]。具体来说,GCN将数据和亲和矩阵作为输入,通过在标记数据上施加监督交叉熵损失来学习估计未标记数据的类别标签。
基于图的预测正则化在预测空间中操作[81],如标签传播[81]。受构建上述学习NN图的相同理念的驱动,在标签传播中,使用包含数据点之间相似性的NN图将标签从标记数据传播到未标记数据,通过交叉熵损失基于传递性。虽然与伪标签方法[68]类似,但传播的标签是使用外部NN图导出的,该图编码了全局流形结构。进一步地,图上的标签传播和DNN的更新交替进行,以传播更可靠的标签。
备注。基于图的正则化与SSL中的一致性正则化和自训练在多个方面具有相似性。首先,它引入了一个无监督辅助任务,以在未标记数据上训练DNN,使用传播的学习目标(例如,伪标签)。其次,其学习目标可以被制定为交叉熵损失或度量学习损失。值得注意的是,尽管一致性正则化和自训练是归纳方法,为每个实例估计学习目标,但基于图的正则化方法是传导方法,根据构建在数据集上的图来传播学习目标。然而,在具体细节之外,这三种技术都共享着寻求无监督目标的根本思想。
深度生成模型:深度生成模型是一类无监督学习模型,它们学习在没有标签的情况下近似数据分布[84],[85]。通过将生成式无监督学习概念整合到监督模型中,可以制定一个半监督学习框架,以统一监督学习和无监督学习的优点。我们主要讨论两大类深度生成模型:变分自编码器(VAEs)和生成对抗网络(GANs)。SSL的GAN框架示意图见图6。
变分自编码器(VAEs)是基于变分推断的统计模型,用于无监督学习复杂数据分布[84]。标准VAE模型包含一个将输入样本编码为潜在变量的网络,以及一个将潜在变量解码以重建输入的网络;其目标是最大化变分下界。在半监督学习[86],[87]中,通常将无监督VAE模型与监督分类器结合起来。例如,为了预测SSL中所需的特定任务类别信息,类条件VAE[86]和ADGM[87]在潜在特征空间中引入类别标签作为额外的潜在变量,以显式地分离类别信息(内容)和随机信息(风格),并在标记数据上施加明确的分类损失,与标准VAE损失一起。
生成对抗网络(GANs)通过对抗性最小最大游戏学习捕捉数据分布[85]。具体来说,生成器被训练以生成尽可能逼真的图像,而鉴别器被训练以区分真实和生成的样本。当重新构想为半监督表示学习器时,GANs可以利用无监督生成建模和监督判别学习的优势[88],[89],[90],[91],[92],[93],[94],[95]。
通常的想法是在标准GAN框架中加入对标记真实样本的监督学习(即判别性)和对生成样本的无监督学习。形式上,这增强了原始鉴别器,加入了额外的监督学习能力。例如,分类GAN(CatGAN)[88]引入了一个K类鉴别器,并在真实标记样本上最小化了一个监督交叉熵损失,同时通过对生成样本施加均匀分布约束来最大化预测的熵。类似地,特征匹配GAN(FM-GAN)[89]、ALI[90]、BadGAN[91]和局部化GAN[96]为SSL制定了一个(K+1)类鉴别器,其中真实标记样本被视为K类之一,生成样本被视为(K + 1)类。鉴别器对(K+1)类鉴别器的监督和无监督学习目标被公式化为:
其中(8)是标记样本上的监督分类损失;(9)是一个无监督GAN损失,它区分真实标记样本和来自图像生成器的生成假样本。为了约束生成样本,局部化GAN[96]在生成器上引入了一个正则化项,确保生成样本位于流形上原始样本的邻域内,以半监督方式训练局部一致的分类器从生成样本中学习。
备注。与前述的判别性SSL技术不同,DGMs可以自然地从无标签数据中学习,无需估计它们的标签。换句话说,DGMs是天然的无监督表示学习者。要在DGMs中启用SSL,模型重新构想的关键是将标签监督整合到训练中,例如在VAEs中添加类别标签潜在变量或在GANs中添加额外的类别鉴别器。此外,还需要解决GAN框架中更为复杂的模型优化问题。
5)自监督学习:自监督学习是一种无监督表示学习类别,它基于无监督替代(预文本)任务[11]、[97]、[98]、[99]、[100]、[101]进行设计。自监督与第二节B2中讨论的自训练算法不同,因为自监督学习目标是与任务无关的,并且可以在没有任何标签监督的情况下进行训练。前者最初是为仅使用无标签数据并带有任务无关的无监督学习目标而提出的,但它也被探索用于半监督学习[12]、[102]、[103]。在半监督学习中,通常将所有训练数据上的任务无关自监督信号与标记数据上的监督学习目标结合起来。例如,S4L[102]基于多个自监督信号,如预测旋转度[101]和强制对示例变换的不变性[97],来训练模型,同时进行监督学习。SimCLR[12]和SimCLRv2[103]是后续的工作,它们引入了任务无关的无监督对比学习,用于任务前的无监督预训练,随后进行有监督或半监督微调,以标签监督作为下游任务。
备注。自监督学习的一个独特优势在于,在训练过程中不需要特定任务的标签监督。虽然前述的半监督学习器通常需要同时解决监督任务和辅助无监督任务,但自监督半监督学习器可以完全以任务无关的方式进行训练。这表明自监督在半监督学习中具有很大的灵活性。因此,自监督训练可以作为无监督预训练引入,或者作为与监督学习一起解决的辅助无监督任务。尽管自监督在半监督学习中的应用相对较新,但它已经被探索用于无监督学习,如下所述。
III. 无监督学习(UL)
无监督学习 (UL) 旨在不利用任何标签监督的情况下学习表示。学到的表示不仅要捕捉潜在的语义信息,还要能够迁移到处理未见过的下游任务,例如视觉识别、检测和分割 [16],视觉检索 [104] 和跟踪 [105]。
UL 在计算机视觉中具有多重吸引力。首先,由于标签注释成本高昂,许多应用场景中可能无法获得大型标注数据集,例如医学成像 [106]。其次,由于任务和应用场景之间常常存在数据/标签分布漂移(或差距),在大型标注数据集上的预训练并不总能确保为未见情况提供良好的模型初始化 [107]。第三,UL 能够提供强大的预训练模型,这些模型可能与监督预训练的性能相当甚至更优 [12],[16],[108]。
备注。无监督学习(UL)和半监督学习(SSL)都具有从无标签数据中学习以及利用相似的建模原则来制定无监督替代监督信号的目标,而无需任何标签注释。然而,与SSL不同,后者假设了任务特定信息(即类别标签)的可用性,UL 考虑的是从纯粹的任务不可知的无标签数据中学习模型。鉴于无标签数据在不同场景(例如互联网)中广泛可用,UL 提供了一种吸引人的策略,可以提供有助于各种下游任务的优质预训练模型。
专注于在图像分类数据集上训练的无监督视觉学习器,我们在第三节 A 中定义了 UL 的问题设置,并在第三节 B 中提供了现有代表性无监督深度学习方法的分类和分析。
A. UL 的问题设置
问题定义。在 UL 中,我们可以访问一个未标注的数据集 。由于标签信息未知,UL 的损失函数 用于训练深度神经网络 (DNN) ,通常可以表示为 (1),即 其中 。在判别模型中,无监督目标 需要某些伪/代理目标来学习语义上有意义和可泛化的表示。在生成模型中, 被施加以显式地对数据分布进行建模。
评估协议。UL 方法的性能通常通过两种协议来评估,即 (1) 线性分类协议,以及 (2) 在下游任务上的微调。在 (1) 中,预训练的 DNN 被冻结以提取图像数据集的特征,然后训练一个线性分类器(例如,一个全连接层或 kNN 分类器)来对提取的特征进行分类。在 (2) 中,使用预训练的 DNN 来初始化模型,然后通过特定任务的目标进行微调,例如,在目标检测数据集(例如,PASCAL VOC [110])上微调一个未监督预训练的对象检测器的骨干(例如,Faster R-CNN [109]),或者在分割数据集(例如,COCO [112])上微调一个带有预训练骨干的分割模型(例如,Mask R-CNN [111])。
B. UL 算法的分类
现有的无监督深度学习模型主要可以分为三个家族:预文本任务、判别模型和生成模型。预文本任务和判别模型也被称为自监督学习,它们通过代理协议/任务来驱动模型学习,并构建伪标签监督以制定无监督代理损失。生成模型本质上是无监督的,并且显式地对数据分布进行建模,以在没有标签监督的情况下学习表示。
预文本任务:预文本任务指的是手工设计的用于预测输入数据的某些任务不可知属性的代理任务,这些任务不需要任何标签监督即可训练。通过使用自由标签制定自监督学习目标,可以以完全无监督的方式学习有意义的视觉表示。以下是我们回顾的在像素级别(图 8)或实例级别(图 9)引入自监督信号的预文本任务。
像素级预文本任务通常被设计为密集预测任务,目标是预测输出图像的预期像素值作为自监督信号[113]、[114]、[115]、[116]、[117]、[118]、[119]、[120]。自动编码器[113]、[115]是最代表性和原始的无监督模型之一,通过重建输入图像来学习表示。除了标准重建外,像素级预文本任务引入了更高级的图像生成任务,以想象损坏输入图像的像素颜色值,这由三个标准的低级图像处理任务表示:(1)图像修复[116]、[120]通过填充输入图像中被遮盖的缺失区域进行学习,这也被称为蒙版自动编码器(MAE)[120];(2)去噪[114]学习去除部分损坏的输入;(3)着色[117]、[118]、[119]旨在预测灰度图像的颜色值。这些自监督模型以图像生成任务目标(例如均方误差)进行训练,以强制预测预期的像素值:
其中是图像生成网络(通常实现为编码器-解码器网络架构),训练用于预测每个像素的预期输出图像。一旦训练完成,网络的一部分(例如编码器)可以用于初始化模型权重或提取中间特征,以解决下游任务。
实例级预文本任务通过设计一个代理任务,在不需要任何标签注释的情况下为每个图像样本引入稀疏的语义标签[11]、[99]、[100]、[101]、[121]、[122]。通常,预文本任务涉及将不同的图像变换应用于生成多种输入变化,其中人工监督信号被施加以预测每个实例上应用的变换。在这些工作中,代表性的考虑主要两类实例级变换:第一类是分类全局变换,如旋转[101]、缩放和平铺[100],学习目标是识别应用于图像的几何变换。第二类是预测局部变换,如块排序[11]和块重新排序[99]、[121]、[122],它们将每个图像切成多个局部块。块排序的目标是识别给定切出块的顺序,而块重新排序,也称为拼图,随机排列切出的块,目标是预测排列的配置。实例级预文本任务的目标可以写成:
其中可以是各种损失函数(例如交叉熵损失[101]),它们学习从变换的输入图像到离散类别或应用变换的配置的映射。一旦训练完成,表示与变换共变,因此意识到空间上下文信息,例如图像如何旋转或局部块如何排列。
备注:尽管像素级或实例级的预文本任务通常并不直接与下游任务目标(例如,图像分类、检测和分割)明确相关,但它们允许通过预测图像中的空间上下文或结构化的相关性,从未标记的数据中学习,例如填充缺失区域和预测应用的旋转。由于这些自监督信号可以隐式地揭示图像中的语义内容(例如,人类可解释的概念 [123])或空间上下文,它们常常能够为未见过的下游任务的初始化产生一个有意义的预训练模型,或者甚至作为一个灵活而有效的正则化器来促进其他机器学习设置,例如半监督学习 [102] 和领域泛化 [124]。
判别模型:判别模型指的是一类无监督判别模型,它们通过在实例级、邻居级或组级上执行对各种任务不相关视觉变化的不变性来从无标签数据中学习视觉表示。这些视觉变化可以是实例内变化,如同一实例的不同视图[125]、[126]、[127]、[128]、[129],或者是实例间变化,如邻居实例之间的变化[130]、[131]或跨一组实例的变化[132]、[133]、[134]。
接下来,我们回顾两类代表无监督判别模型,它们为无监督视觉特征学习提供了最新技术,包括实例判别(图10)和深度聚类(图11)。前者通过将每个实例视为一个类别来施加自监督,而后者通过将一组相似实例视为一个类别来引入监督。
实例判别模型通过执行对不同视图条件、数据增强或同一图像实例的不同部分的不变性来学习判别表示[12]、[16]、[97]、[98]、[103]、[125]、[126]、[127]、[128]、[129]、[135]、[136]、[137]、[138]——也称为示例学习[97]、[98]。
实例判别中最常见的方案是对比学习,它最初被提出用于通过将相似的输入映射到潜在空间中的接近点来学习不变表示[82],[83]。最先进的自监督对比学习模型,用于学习在不同视图下保持一致性的表示,通常基于噪声对比估计(Noise Contrastive Estimation, NCE)原则来优化对比损失函数[139],该原则最大化不同视图之间的互信息。多视图信息瓶颈模型[140]将原始信息瓶颈原则扩展到无监督学习中,并训练一个编码器以保留预测标签所需的所有必要信息,同时最小化表示中的冗余信息。形式上,例如SimLR[12]和MoCo[16]等对比学习器通过实例级对比损失(即infoNCE损失)进行优化:
其中, 是温度参数, 是特征编码器,即一个深度神经网络(DNN); 和 分别是同一图像的两种不同增强或视图的特征嵌入; 包括 个负样本和 1 个正样本(即 )。此优化过程通过强制正样本对(即同一实例的嵌入)更接近,同时推开负样本对(即不同实例的嵌入),来训练网络。最小化 InfoNCE 损失等同于最大化 和 之间的互信息的下界[125]。
为了在(12)中获得可处理且有意义的对比分布,通常每个训练批次需要大量的负样本对。为此,现有的最先进方法通常采用不同的负样本采样策略来收集更多的负样本对。例如,SimCLR[12]采用了4096的大批大小。在InstDis[136]、MoCo[16]、PIRL[138]和CMC[126]中,使用记忆库来维护所有实例原型,通过保持它们在训练迭代过程中的特征表示的移动平均值。最后,运行队列将最新批次的样本特征入队,并出队最早的小批量样本,以存储前面小批量样本的一部分特征[16]、[138]。
受深度度量学习启发,各种训练策略进一步增强了对比学习。例如,硬负样本采样策略[141]挖掘那些与样本相似但可能属于不同类别的负样本对。通过对抗性训练[142]的负样本和/或正样本,学习一组“对抗性负样本”与给定样本混淆,或“合作正样本”与给定样本相似。这些策略通过寻找更好的负样本和正样本对来改进对比学习。除了负样本采样外,应用各种图像变换来生成同一实例的多种不同变体(即视图)也是至关重要的,以构建对比学习的正样本对。最典型的方法是应用常见的数据增强,如随机裁剪和颜色抖动[12]、[16]、[127]、[136]、[137]、[138],或预文本变换[138],如块重新排序[99]和旋转[101]。另一种方式是使用不同的图像通道,如亮度和色度[126],或提取同一图像的局部和全局块[125],人为地构建单个图像的多个视图。总之,尽管在负样本采样和图像变换方面有不同的策略来构建对比学习的负样本和正样本对,但这些策略都具有相同的目标,即通过强制执行不同输入变换的不变性来学习视觉表示[135]、[138]。
尽管对比学习方法依赖于获得足够数量的负样本对来派生对比损失((12)),但另一种无需负样本的实例判别替代方案[143]、[144]、[145],例如自举(BYOL)[143]和简单的孪生网络(SimSiam)[144]。特别是,在BYOL和SimSiam中,同一图像的两个视图(通过数据增强获得)被传递到网络中,最小化两个视图的表示之间的均方误差,以强制执行不变性。重要的是,采用了停止梯度方案,以防止表示性坍塌,即避免将所有样本映射到相同的表示。另一种相关方法是Barlow Twins[145],它计算一批训练样本的失真版本的交叉相关矩阵,并强制执行矩阵为单位矩阵,从而学习对不同失真保持不变的自监督表示。尽管这些非对比方法采用其他损失公式,但它们与对比学习具有相同的精神,即通过强制执行同一实例的不同视图的不变性来学习有意义的表示。
深度聚类模型通过将同一聚类中的相似实例聚集在一起来学习判别性表示[131]、[132]、[133]、[134]、[146]、[147]、[148]、[149]、[150]、[151]。在训练过程中,通常通过将每个实例与某个聚类中心关联,将整个数据集划分为不同的组。在训练时,整个数据集通常被划分为若干组,这是通过将每个实例与某个聚类中心相关联来实现的。虽然聚类算法是长期以来的机器学习技术[152]、[153]、[154],但它们已经被重新设计,以便与深度神经网络(DNNs)无缝集成,从而在没有标签监督的情况下学习判别性表示。概念上,聚类成员身份可以被视为一些伪标签,以监督模型训练,如公式(13)所示。
其中, 是样本x的聚类成员身份, 是损失函数,它约束了从x到y的映射,例如分类损失。深度聚类算法可以进一步分为两类:根据聚类成员身份的分配是离线还是在线进行。
在离线聚类中,无监督训练在聚类分配步骤和网络训练步骤之间交替进行[131]、[133]、[146]、[147]、[148]。前者估计所有训练样本的聚类成员身份,后者使用这些分配作为伪标签来训练网络。代表性的离线聚类模型包括DeepCluster[132]、JULE[147]和SeLa[148],它们主要在聚类算法上有所不同。具体来说,DeepCluster[132]使用k均值聚类[153]来组织视觉特征;JULE[147]使用凝聚聚类[155],通过合并相似的聚类来迭代地派生新的聚类成员身份;SeLa[148]将聚类视为一个最优传输问题,通过Sinkhorn-Knopp算法[156]求解,以获得作为伪标签的聚类分配。
在线聚类中,聚类分配步骤和网络训练步骤在一个端到端的训练框架中耦合,如IIC[157]、AssociativeCluster[158]、PICA[149]和SwAV[134]所代表。与离线聚类相比,在线聚类可以更好地扩展到大型数据集,因为它不需要迭代地对整个数据集进行聚类。这通常通过两种方式实现:(1) 训练一个分类器来参数化聚类成员身份(例如IIC和PICA);(2) 学习一组聚类中心/原型(例如AssociativeCluster和SwAV)。例如,IIC[157]通过最大化原始实例和通过数据增强获得的随机扰动实例之间的互信息来学习聚类成员身份。SwAV[134]在特征空间中学习一组原型(即聚类中心),并将每个样本分配给最近的原型。
备注。无监督判别模型的最新进展包括对比学习(contrastive learning)和深度聚类(deep clustering),这些方法已经确立了新的最高标准。一方面,对比学习通过对个体实例施加变换不变性(transformation invariance)来区分它们;另一方面,深度聚类通过将相似的实例聚类在一起来发现潜在的语义边界,并在组级别上实施不变性。对比学习与SSL中的一致性正则化密切相关,它们在概念上是相似的,都强调在输入数据上施加变换时的不变性。尽管通常使用不同的损失函数,但[144]表明,SSL中常用的成对损失目标也可以像对比损失一样有效。这表明它们背后的基本思想是相同的——在实例级别上施加变换不变性。深度聚类则通过在组级别上区分实例来发现潜在的语义边界,并实施组级别的不变性。一致性正则化也被一些深度聚类方法采用[149]、[157],证明了其在SSL之外的普遍有效性。最后,判别式无监督学习也可以在实例级别和组级别上进行[150]、[159]。
深度生成模型:深度生成模型(DGMs)是一类显式建模数据分布的无监督学习器[84]、[85]。DGMs 适用于半监督学习和无监督学习。一种典型的生成对抗网络(GAN)包含一个判别器 D 用于区分真实和假样本,以及一个生成器 G,它可以作为图像编码器来捕获潜在空间中的语义,如通过最小最大游戏进行训练:
在这里, 是从输入噪声分布 中采样的。GANs 可以在判别器和生成器级别学习表示。例如,深度卷积 GAN 采用预训练的卷积判别器提取特征,以处理下游图像分类任务。随后,自监督 GAN 和变换 GAN 进一步将判别器赋予自监督预文本任务,以预测应用的图像变换,从而使表示能够捕获潜在的视觉结构。基于GAN的深层生成模型的说明见图12。
为了在生成器级别学习表示,双向生成对抗网络(BiGAN)引入了一个与生成器配对的图像编码器,它与联合判别器损失一起训练,以将数据分布与潜在特征分布联系起来。这允许图像编码器捕获其潜在表示中的语义变化,并为最近邻(1NN)分类提供判别性视觉表示。为了进一步改进 BiGAN,BigBiGAN 采用了比 BigGAN 更强大的判别器和生成器架构,并增加了一个额外的一元判别器损失,以独立地约束数据或潜在分布,从而实现在生成器级别上更富有表现力的无监督表示学习。
备注。尽管大多数最先进的无监督学习方法是解决预文本任务或执行无监督判别学习的自监督模型,但由于其以概率方式学习表达性数据表示的天然无监督特性,深度生成模型仍然是一类重要的无监督学习器。此外,它们不需要手动设计有意义的判别学习目标,同时提供了生成丰富数据的独特能力。
IV. SSL和UL的讨论
在本节中,我们通过进一步讨论SSL和UL的共同学习假设(第IV-A节)以及它们在不同计算机视觉任务中的应用(第IV-B节)来联系SSL和UL。
A. SSL和UL共有的学习假设
如第II-A节所讨论的,SSL中的无监督学习目标通常是基于局部平滑性假设[41]制定的。广义上讲,各种判别性SSL和UL算法的学习假设可以分为两种类型的平滑性假设,即局部平滑性和全局平滑性——如图13所示。以下我们将详细阐述这些假设,并讨论建立在这些假设基础上的不同SSL和UL算法。
1) 局部平滑性
局部平滑性假设有两种形式。首先,假设样本与其变换变体(公式15)共享相同的类别标签。其次,假设样本属于与其在潜在表示空间中附近的样本相同的类别(公式16)。给定一个未标记样本,我们可以通过以下方式强制执行局部平滑性:
其中是生成特定输出(如特征或预测)的模型。可以是任何量化两个模型输出之间差异/不一致性的相似性度量,例如均方误差(MSE)或对比损失。
同一样本在不同视图下的局部平滑性(公式(15))可以通过SSL中的一致性正则化技术(第II-B1节,图3)来实现。这些技术通过对输入空间和(或)模型空间施加的不同变化,对同一样本进行预测平滑性强制,给定同一样本的不同变换版本应该位于其自身的局部邻域内。类似地,UL中的实例区分算法也隐式地强制同一样本在不同视图或变换下具有局部一致的表示,如对比学习所示,它鼓励每个样本在局部不变性上(第III-B2节,图10)。
不同邻近样本间的局部平滑性(公式(16))可以通过SSL中的基于图的正则化技术来强制执行。这些技术通常使用图上邻近样本的标签来传播标签到未标记样本,因为邻近样本很可能共享相同的类别(第II-B3节,图5)。类似地,在UL中也探索了邻域一致性[130],[131],它通过基于特征相似性挖掘每个样本的最近邻居来形成语义训练标签,给定最近邻居很可能属于相同的语义类别。
2) 全局平滑性
全局平滑性假设表明,基于模型捕获的潜在全局结构,可以为样本分配到特定类别(或目标)(公式17):
其中是学习目标(例如,聚类成员身份或最有信心的预测类别),它源自于训练过程中发现的全局类别决策边界(图13),而决策边界应该位于低密度区域。与(15)和(16)类似,是一种相似性度量,它量化了模型输出与训练目标之间的不一致性,例如交叉熵损失。全局平滑性假设也在各种SSL和UL技术中广泛采用,用于学习从未标记样本中派生的伪学习目标。
在半监督学习(SSL)中的自训练技术(第II-B2节,图4)通常是基于全局平滑性来制定的,因为未标记数据的学习目标是基于模型发现的类别决策边界推导出来的。例如,在熵最小化(公式(4),图4(a))中,伪标签是作为最有信心预测的类别获得的。在协同训练和蒸馏(公式(5),(6),图4(b)(c))中,学习目标来自于并行训练的模型或预先训练的模型。同样,在无监督学习(UL)中的深度聚类算法(第III-B2节,图11)也是基于全局平滑性提出的,考虑到未标记样本的聚类成员身份是从在线或离线聚类算法中获得的,该算法揭示了特征空间中的潜在类别决策边界。
3) SSL和UL之间的联系
SSL和UL的共同学习原理。如第IV-A1节和第IV-A2节所分析的,大多数SSL和UL算法都是基于相同的局部平滑性或全局平滑性假设制定的。这些算法都设计了视觉学习目标,以对输入数据上应用的不同变换执行不变性或等变性,如SSL中的一致性正则化(第II-B1节)和UL中的实例判别(第III-B2节)。典型的变换策略可以是从简单的数据增强[36]、[38]、[46]到更复杂的变换,如对抗性扰动[47]、[49]、[55]、[56]、旋转[101]和块重新排序[99]、自动编码变换[166]、[167]和自动化增强[26]、[37]、[50]。一方面,这些SSL和UL方法大多依赖于通过将相同的底层标签分配给增强和扰动的数据样本来学习对数据增强和扰动不变的表示。另一方面,其他SSL和UL方法考虑通过学习预测变换的类型来学习对不同变换(如旋转和块重新排序)等变的表示。
许多最先进的SSL和UL方法可以很好地与相同的底层学习假设相关联,因为它们引入了类似的目标,以从未标记样本中学习。本质上,这些SSL和UL方法的学习原理可以广泛地分类为:(1) 强制同一样本的不同变换版本之间的一致性(公式15);(2) 强制样本与其邻近样本之间的平滑性(公式16);(3) 基于全局决策边界为未标记样本派生学习目标(公式17)。
问题设置中的相似性与差异性。在问题设置中,SSL(半监督学习)和UL(无监督学习)在训练协议中都涉及到标记和未标记数据,这在它们在测试集上评估模型泛化性能之前是相似的。特别是,SSL范式采用单阶段训练,并在训练期间使用标记和未标记数据(图2);而大多数现有的UL协议考虑双阶段训练(图7)——一个阶段是使用未标记数据进行预训练,另一个阶段是使用下游任务上的标记数据进行微调。
简而言之,当涉及到训练协议时,UL与SSL在几个方面有所不同:(1) 标记数据和未标记数据不是一次性同时给出的;(2) 未标记和标记数据集可能具有不同的分布。这些特性使得UL成为一个更通用的学习范式,能够利用不同的未标记数据集。尽管如此,不同形式的未标记数据上的无监督预训练如何有益于模型在特定下游任务上的泛化仍然是一个开放的研究问题。例如,目前还不清楚一个在自然彩色图像上预训练的无监督模型如何泛化到具有不同数据分布的下游任务,如医学成像中的灰度图像。在这方面,SSL提供了一个更可靠的学习范式,因为标签集为模型和(或)模型设计者提供了先验知识,以选择与标记数据分布相似的有用未标记样本集。
B. 视觉识别中应用的SSL和UL
在第II节和第III节中,我们主要介绍了SSL和UL方法在标准图像分类中的应用。然而,它们的底层学习理念可以推广到其他具有挑战性的计算机视觉任务中,例如语义分割[31]、[168]、目标检测[29]、[169]、无监督领域自适应[124]、[170]、姿态估计[33]、3D场景理解[171]、视频识别[104]、[172]等。下面,我们将回顾三个核心的视觉识别任务,这些任务广泛受益于SSL和UL方法,以利用未标记数据:语义分割(第IV-B1节)、目标检测(第IV-B2节)和无监督领域自适应(第IV-B3节)。
语义分割:语义分割旨在为输入图像中的每个像素分配一个语义类别标签。这是一个核心的计算机视觉任务,可以为各种现实世界应用带来好处,例如医学图像分析[173]、[174]、[175]和自动驾驶[176]、[177]。监督语义分割需要繁琐且昂贵的像素级标签注释,例如手动注释Cityscapes中的一张自然图像需要1.5小时[176]。
为了减少语义分割中的注释成本,一些工作考虑只对训练数据中的一小部分进行像素级语义标签注释,而其余训练数据未标记 - 称为半监督语义分割。这些工作通常继承了SSL或UL在图像分类中的类似学习理念,并适应了技术如一致性正则化[31]、[178]、[179]、[180]、自训练[32]、[168]、[174]、[181]、[182]、[183]、[184]、SSL中的GAN框架[185]、[186],或UL中的对比学习[187]、[188]、[189]、[190]来从未标记图像中学习。然而,语义分割中的无监督损失项通常需要以像素级的方式施加,以与语义分割中的像素级学习目标对齐。下面,我们讨论了三个最有代表性的最新方法,这些方法由SSL和UL的最新进展驱动,用于半监督语义分割。
一致性正则化(第II-B1节)可以通过在像素级别制定一致性损失(公式2、公式3)来推广用于像素级任务。与SSL中的标准一致性正则化类似,最近在半监督语义分割中的工作[31]、[178]、[179]、[180]利用在输入空间[178]或特征空间[31]中引入的扰动来强制执行图像前后的像素一致性。例如,第一个在语义分割中的一致性正则化方法[178]应用CutMix[191]对输入图像进行部分损坏,并施加像素级损失项,以确保未损坏区域在损坏图像中的预测与原始图像中相同区域的预测一致。交叉一致性训练[31]则通过向网络激活注入噪声来应用特征扰动,并强制执行干净输出和扰动输出之间的像素一致性。
自训练算法(第II-B2节)被适应用于半监督语义分割[32]、[168]、[174]、[181]、[182]、[183]、[184],其中伪分割图在未标记图像上通过预训练的教师模型[183]或共同训练的一个[168]来传播。例如,一种自训练方法[183]通过两个步骤传播未标记像素上的伪标签 - (1)使用预训练的教师模型为未标记像素分配伪标签;(2)使用重新标记的数据集重新训练学生模型 - 直到没有更多的性能提升。另一种自训练方法[168]采用共同训练方案,通过彼此的分割预测来训练两个模型。
对比学习在UL中广泛使用,并适应于在语义分割中从未标记数据中学习[187]、[188]、[189]、[190]。为了按像素制定对比损失(公式12),我们需要根据像素的空间位置有意义地正负样本对。为此,提出了一种方向感知的对比损失[187],它从一张图像中裁剪出两个补丁,并将同一位置的特征作为正样本对,其余作为负样本对。另一种像素对比损失[189]通过随机颜色增强对齐特征,其中同一位置的特征是正样本对,并从不同图像中采样固定数量的负样本。
目标检测:目标检测的目标是预测图像中感兴趣物体的一组边界框和相应的类别标签。这是一个重要的计算机视觉任务,广泛影响不同的应用,例如检测车辆[192]、标志[193]和文本[194]。监督目标检测需要昂贵的注释工作 - 注释一个单一物体的边界框需要多达42秒[195]。
为了提升模型泛化能力,最近的工作利用一组完全未标记的图像(没有边界框或类别标签信息)和一小部分标记数据 - 称为半监督目标检测。这些工作主要重新制定SSL技术,包括一致性正则化[29]、[169]、[196]、[197]、[198]、[199]和自训练[34]、[200]、[201]、[202],它们都引入了未标记数据的边界框和类别标签的学习目标。一致性正则化(第II-B1节)被引入半监督目标检测,以基于分类和回归的双重一致性约束在未标记图像上传播软标签和边界框分配[29]、[169]、[196]、[197]、[198]、[199]。一种工作线应用数据增强,例如随机翻转[169]和MixUp[51],以生成未标记图像的增强视图,并鼓励对不同视图的预测边界框及其类别标签保持一致。与标准一致性正则化相比,这些方法特别需要重新估计增强图像中的边界框位置,例如翻转边界框[169],或计算MixUp[51]中两个混合图像的重叠边界框。另一工作线遵循教师-学生训练框架,施加教师-学生一致性[29]、[197]、[198]、[199],类似于Mean Teacher[38]。教师模型是通过学生模型的指数平均(EMA)[29]、[197]、[199]获得的,或者通过在即时模型输出上应用非极大值抑制(NMS,一种用于细化检测到的边界框的过滤技术)[198]来获得伪边界框和标签注释,用于训练。
自训练算法(第II-B2节)也被引入用于目标检测的未标记图像的注释[34]、[200]、[201]、[202]。为了提高伪标签的质量,最近的工作提出了交互式自训练,通过NMS[200]逐步改进伪标签,或者量化模型不确定性以选择或派生更可靠的伪标签[201]、[202],以从未标记数据中学习。
无监督领域自适应:无监督领域自适应(UDA)是SSL的一个特例,其中标记的(源)和未标记的(目标)数据位于不同的分布中,即不同的领域。UDA对视觉识别至关重要[203],因为视觉数据的统计属性对各种因素非常敏感,例如照明、视角、分辨率、遮挡、一天中的时间以及天气条件。虽然大多数UDA方法专注于解决标记和未标记数据之间的领域差距,SSL和UL算法也可以适应UDA,从未标记数据中学习,如下所述。
一致性正则化(第II-B1节)已被证明在UDA中有效,其中各种UDA方法应用输入变换或模型集成来模拟输入或模型空间中的变化[38]、[204]、[205]。为了生成输入变化,Dual MixUp[204]集成了类别级别和领域级别的MixUp,以正则化模型并施加一致性约束,从而从未标记数据中学习并增强领域不变性。为了生成模型变化,self-ensembling[205]利用Mean Teacher[38]在目标领域中注入未标记训练目标。
自训练对UDA也有所帮助。与SSL类似,UDA中的自训练包括三种技术来对未标记的目标样本进行伪标签注释,包括熵最小化、伪标签和共同训练。为确保有效性,自训练方法通常与领域分布对齐结合使用,以减少领域偏移。例如,熵最小化(公式4)被用于UDA[206]、[207]、[208],结合了领域特定的批量归一化层[206]、对齐特征的二阶统计量[207]或对抗性训练和梯度同步[208]。共同训练(公式5)也被引入UDA,它从多个共同训练的分类器中派生训练目标,以从未标记数据中学习并匹配跨领域分布[209]。
作为SSL和UL中的一类模型(第II-B4节、第III-B3节),深度生成模型(DGMs)被广泛采用于UDA。与UDA方法在特征级别上减少领域偏移不同,DGMs提供了一种补充解决方案,通过跨领域图像到图像的翻译来减轻像素级别的领域差异。这些框架大多基于GAN,例如PixelDA[210]、generate to adapt[211]以及具有循环一致性的GAN,如CyCADA[212]、SBADA-GAN[213]和CrDoCo[214]。这些模型通常学习真实到真实的[212]、[213]、[214]或合成到真实的[210]、[211]映射,将标记源的风格呈现到未标记的目标领域,从而提供带有伪标签的合成训练数据。
在SSL和UL(第II-B5节、第III-B1节)中流行的自监督学习也被引入UDA,以在未标记数据上构建辅助的自监督学习目标。自监督模型通常通过在标记的源数据上结合自监督目标和监督目标来解决UDA问题[124]、[215]、[216]。这方面的开创性工作是JiGen[124],它联合学习分类对象和解决拼图[99]的前提任务,以在新领域中实现更好的泛化。最近的工作[124]、[215]、[216]探索了其他自监督前提任务,如预测旋转[215]、[216]和补丁排序[124]。除了前提任务,最近的UDA方法还探索了基于聚类或对比学习的区分性自监督信号。例如,DANCE[170]通过将目标样本分配给源领域的“已知”类原型或其在目标领域的邻居来执行邻域聚类。梯度正则化对比学习[217]利用对比损失将未标记的目标样本推向最相似的标记的源样本。同样,[218]通过对比损失将目标领域特征与源领域的类原型对齐,最小化可能共享相同类别的跨领域样本之间的距离。
V. 新兴趋势和开放挑战
在本节中,我们讨论了从未标记数据中进行SSL和UL学习的新兴趋势,涵盖了三个方向,即开放集(第V-A节)、增量(第V-B节)和多模态(第V-C节)学习。我们详细介绍了最近的进步和开放的挑战。
A. 从未标记数据中进行开放集学习
在第II节中,我们回顾了解决相对简单的封闭集学习的SSL工作,它假设未标记数据与标记数据共享相同的标签空间。然而,这种封闭集假设可能严重限制了SSL利用现实世界未筛选的未标记数据的能力,这些数据包含未见过的类别,即分布外(OOD)样本(也称为异常值)[39]。当将大多数现有的SSL方法应用于存在噪声数据的开放集学习时,它们的性能显著下降,因为OOD样本可能导致灾难性的错误传播。
一系列工作提出了解决更复杂的开放集SSL场景[14]、[15]、[219]、[220]、[221]、[222],其中未标记集合包含与任务无关的OOD数据。在这种设置中(即开放世界SSL),并非所有未标记样本都是有益的。为了防止由未标记OOD样本可能引起的性能风险,SSL的最新进展提出了各种样本特定的选择策略,以减少它们的重要性或使用[14]、[15]、[219]。开创性的工作包括UASD[14]和DS 3 L[15],它们提出施加动态加权函数,以与未标记样本属于未见过类别的可能性成比例的方式降低未监督正则化损失项。后续工作通过训练OOD分类器进行课程学习[219],以检测和丢弃可能有害的样本。最近,OpenMatch[220]提出训练一组一对所有分类器,用于检测内围和外围样本,并仅在未标记内围样本上对模型进行一致性约束的正则化。
开放挑战
开放集SSL需要将OOD检测[223]或新类别发现[224]与SSL集成在一个统一的模型中,以推进对嘈杂未标记数据的选择性利用。此外,最近的工作提出了一个通用SSL基准[221],它进一步将开放集设置中的分布不匹配问题扩展为子集或交叉类别不匹配,以及特征分布不匹配。这些更现实的设置提出了多个新挑战,包括对DNN进行OOD检测的置信度校准[223]、[225]、[226],由现实世界长尾未标记数据引起的类别分布不平衡[227]、[228],以及发现未见过的类别[224]、[229]、[230]。尽管最近在开放集SSL方面的进展已经探索了OOD检测,但其他挑战仍有待解决,以利用现实世界的未标记数据。
B. 从未标记数据中进行增量学习
现有的SSL和UL工作通常假设所有未标记训练数据一次可用,然而,由于隐私问题或计算限制,这在实践中可能并不总是成立。在许多现实场景中,我们需要执行增量学习(IL),以更新模型,而无需访问过去的训练数据。这里我们回顾了从未标记数据中进行IL的研究方向[231]、[232],并讨论其开放的挑战。
增量学习(IL)从未标记数据中已经被以半监督方式研究[231]。IL(也称为持续学习和终身学习[233])旨在扩展现有模型的知识,而无需访问以前的训练数据。大多数现有的IL方法使用正则化目标来不忘旧知识,即减少灾难性遗忘[234]。为此,未标记数据通常在IL中使用,以估计旧任务的模型参数的重要性权重[235],或制定知识蒸馏目标[231]以巩固从旧数据中学到的知识。最近,多项工作探索了来自非静态流的未标记数据的IL[232],其中类标签空间可能随时间变化[236]。在这种情况下,目标是从连续的未标记数据流中学习显著的表示。为了在潜在空间中扩展新类和未标记数据的表示,采用了几种策略,例如通过在线聚类创建新的质心[236]和更新混合高斯模型[232]。一些最近的工作应用了自监督技术在未标记测试数据上[237]、[238]、[239],以克服数据分布可能的转变[240]。
开放挑战
从未标记数据中进行增量学习需要解决多个挑战,如灾难性遗忘[231]、对新概念的建模[232]、[236]和演变的数据流[240]。由于无法一次访问所有未标记训练数据,解决这些挑战并非易事,因为直接应用许多现有的SSL和UL方法可能无法保证良好的泛化性能,例如,伪标签可能在对未见过的未标记数据进行分类时遭受确认偏差问题[241]。来自潜在非独立同分布的未标记数据流的增量学习仍然是一个开放的挑战。
C. 从未标记数据中进行多模态学习
越来越多的工作结合视觉和非视觉模态(例如文本、音频)以形成能够从未标记的多模态数据中学习的区分性自监督信号。为了将视觉和语言用于无监督学习,基于变换器块[246]构建了视觉和语言BERT模型的变体(例如,ViLBERT[242]、LXMERT[243]、VL-BERT[244]、Uniter[245]),以无监督的方式联合建模图像和自然语言。具体来说,视觉、语言或它们的联合表示可以通过解决自然语言处理中的Cloze任务以无监督的方式学习,该任务预测输入句子中的掩蔽单词[247],或通过优化语言-视觉对齐目标[243]、[248]。另一系列工作利用语言监督(例如,来自旁白材料[249]、[250]、[251]、[252])通过在共享潜在空间中对齐图像和语言来指导无监督表示学习,如CLIP[251]和ALIGN[252]所示。
同样,为了将音频和视觉模态结合起来进行无监督学习,现有的工作利用视频中自然存在的音视频对应关系来制定各种自监督信号,这些信号预测跨模态对应关系[253]、[254]、对齐时间上对应的表示[250]、[255],或在共享的音视频潜在空间中聚类它们的表示[172]、[256]。一些工作进一步探索了音频、视觉和语言一起进行无监督表示学习,通过在共享的潜在空间或分层的一个中对齐不同模态进行学习,用于音视频和视觉语言[249]。
开放挑战
多模态从未标记数据中的学习的成功往往依赖于假设不同模态在语义上是相关的。例如,当对音频和视频数据进行聚类以进行无监督表示学习[172],或将文本知识转移到未标记图像[258]时,两个模态被假设具有相似的语义。然而,这在现实世界的数据中可能不成立,导致性能下降[250]、[259]。因此,从未标记的多模态数据中学习,存在语义差距的模态之间仍然是一个开放的挑战。
VI. 结论
在有限或没有手动监督的情况下学习视觉表示对于可扩展的计算机视觉应用至关重要。半监督学习(SSL)和无监督学习(UL)模型为从未标记的视觉数据中学习提供了可行和有希望的解决方案。在这项全面的调查中,我们引入了统一的问题定义和分类法,以总结和关联近期广泛采用的SSL和UL深度学习方法,用于构建更优越的视觉分类模型。我们相信,我们对现有算法的简明分类法和对新兴趋势的广泛讨论有助于更好地理解在有限标签制度下,涉及的主要未解决挑战的视觉表示学习研究的现状,并激发新的学习解决方案。
确保文章为个人原创,未在任何公开渠道发布。若文章已在其他平台发表或即将发表,请明确说明。
建议使用Markdown格式撰写稿件,并以附件形式发送清晰、无版权争议的配图。
【AI前沿速递】尊重作者的署名权,并为每篇被采纳的原创首发稿件提供具有市场竞争力的稿酬。稿酬将根据文章的阅读量和质量进行阶梯式结算。
您可以通过添加我们的小助理微信(aiqysd)进行快速投稿。请在添加时备注“投稿-姓名-学校-研究方向”
长按添加AI前沿速递小助理