论文学习:Semi-Supervised and Unsupervised Deep Visual Learning: A Survey
目录
5.1 Open-Set Learning from Unlabeled Data
5.2 Incremental Learning from Unlabeled Data
5.3 Multi-Modal Learning from Unlabeled Data
PS:整理实属不易,里面可能会有一些错误,如果在阅读过程中发现错误欢迎指出,一定修改!!!如果帮到你,麻烦点个赞~谢谢~
摘要
最先进的深度学习模型通常使用大量昂贵的标记训练数据进行训练。然而,需要详尽的手动注释可能会降低模型在有限标签制度下的通用性。半监督学习和无监督学习为从大量未标记的视觉数据中学习提供了有前景的范例。这些范例的最新进展表明,利用未标记数据来改进模型泛化并提供更好的模型初始化具有强大的优势。在这项调查中,我们从统一的角度回顾了用于视觉识别的半监督学习(半监督学习)和无监督学习(无监督学习)的最新高级深度学习算法。为了全面了解这些领域的最新技术,我们提出了统一的分类法。我们对现有的代表性半监督学习和无监督学习进行了全面深入的分析,以突出其在不同学习场景和不同计算机视觉任务中的应用中的设计原理。最后,我们讨论了半监督学习和无监督学习的新趋势和开放挑战,以阐明未来的关键研究方向。
1. Introduction
在过去十年中,深度学习算法和架构[1]、[2]一直在推动各种计算机视觉任务的最新技术,从目标识别[3]、检索[4]、检测[5]到分割[6]。为了实现人类水平的性能,深度学习模型通常是通过基于大量标记训练数据的监督训练来构建的。然而,手动收集大规模标记训练集不仅成本高昂且耗时,而且由于隐私、安全和道德限制,也可能被法律禁止。此外,有监督的深度学习模型倾向于学习标记的数据,并结合标注者的主观意见,这削弱了它们在实践中对具有未知数据分布的新场景的概括。
越来越便宜的成像技术和越来越方便的网络数据访问,使得获取大量未标记的视觉数据不再具有挑战性。因此,因此,从未标记的数据中学习成为一种自然而有前途的方法,可以将模型缩放到实际场景中,在这些场景中,收集一个大的标记训练集是不可行的,该训练集涵盖了不同场景、相机位置、一天中的时间和天气条件引起的照明、视点、分辨率、遮挡和背景杂波的所有类型的视觉变化。半监督学习[7]、[8]和无监督学习[9]、[10]、[11]、[12]是利用未标记数据的两个最具代表性的范例。
基于不同的假设,这些范式通常是独立开发的,同时共享相同的目标,即使用未标记的数据学习更强大的表示和模型。
图1总结了本次调查中涵盖的两种范式,它们都利用未标记的数据进行视觉表征学习。根据是否为一小部分训练数据提供了标签注释,我们将范式分类为半监督学习和无监督学习,具体定义如下。
(a) 半监督学习(半监督学习)旨在从稀疏标记数据和大量辅助未标记数据中联合学习,这些数据通常来自与标记数据相同的底层数据分布。在标准闭集半监督学习[8],[13]中,标记和未标记的数据属于同一域中的同一组类。在开放集半监督学习[14],[15]中,它们可能不在同一标签空间中,即,未标记的数据可能包含未知和/或错误标记的类。
(b) 无监督学习(无监督学习)旨在仅从未标记的数据中学习,而不使用任何任务相关的标签监督。一旦训练,可以使用标记数据对模型进行微调,以在下游任务中实现更好的模型泛化[16]。
按照上述定义,将标记数据和未标记数据的集合表示为Dl和Du。半监督学习和无监督学习的总体统一学习目标是:
其中θ是深度神经网络(DNN)的模型参数;x是输入图像,y是对应的标签;Lsup和Lunsup是有监督和无监督损失项;λl和λu是平衡超参数。在半监督学习中,这两个损失项被联合优化。在无监督学习中,只有无监督损失项用于无监督模型预训练(即λl=0)。尽管半监督学习和无监督学习具有相同的无监督目标学习原理,但它们的学习设置不同,导致了不同的独特挑战。具体来说,半监督学习假设有限的标记数据可用,其核心挑战是用大量的未标记数据扩展标记集。无监督学习假设主要学习任务没有标记数据,其关键挑战是从未标记数据中学习任务通用表示。
2. 半监督学习
半监督学习(SSL)[8],[13]旨在利用大量未标记数据和稀疏标记数据。半监督学习在各种应用领域进行了探索,如图像搜索[21]、医学数据分析[22]、网页分类[23]、文档检索[24]、遗传学和基因组学[25]。最近,SSL已用于学习通用视觉表示,以促进许多计算机视觉任务,如图像分类[26]、[27]、图像检索[28]、对象检测[29]、[30]、语义分割[31]、[32]、[33]和姿态估计[34]、[35]、[36]。虽然我们的综述主要涵盖图像分类的一般半监督学习者[26]、[27]、[37]、[38],但其背后的思想可以推广到解决其他视觉识别任务。
我们定义了SSL问题设置,并在§2.1中讨论了其假设。我们在§2.2中对现有的半监督深度学习方法进行了分类和分析。
2.1 半监督学习的问题设置
问题定义。在半监督学习中,我们通常可以访问有限数量的标记样本和大量的未标记样本
。每个标记的样本xi,l都属于K类标签
之一。对于训练,深度神经网络(DNN)θ的SSL损失函数L通常可以表示为等式(1),即
。在许多SSL方法中,方程(1)中的超参数λu通常是斜升加权函数(即,λ=w(t),t是训练迭代),这逐渐增加了训练期间无监督损失项的重要性[14],[37],[39],[40],[41]。在测试时,部署模型以识别K个已知类。有关半监督学习的说明,请参见图2。
评估方案。为了测试SSL模型是否有效地利用未标记的数据,通常采用两种评估标准。首先,模型需要超越仅从标记数据中学习的监督基线。第二,当增加训练集中未标记样本的比例时,监督基线上的改进裕度预计会相应增加。总体而言,这些改进的裕度表明了SSL方法的有效性和鲁棒性。
假设。 SSL的主要假设包括平滑性假设[42]和流形假设[8],[42]–后者也称为聚类假设[43]、结构假设[44]和低密度分离假设[45]。具体而言,平滑假设认为附近的数据点可能共享相同的类标签。流形假设认为位于同一结构(即,同一簇或流形)内的数据点应该共享同一类标签。换言之,前一种假设是对附近的数据点局部施加的,而后一种假设则是基于由簇或图形成的底层数据结构全局施加的。
2.2 半监督学习算法分类
现有的半监督学习方法通常假设未标记的数据是封闭集和任务特定的,即,所有未标记的训练样本都属于预定义的类集合。大多数现有工作共享的想法是基于特定的底层数据结构(例如,流形结构[42]、[44]和图结构[73])为每个未标记样本分配一个类标签。我们将最具代表性的半监督深度学习方法分为五类:一致性正则化、自我训练、基于图的正则化、深度生成模型和自我监督学习(表1),并在§2.2.1、§2.2.2、§2.2.3、§2.2.4和§2.2.5中提供了它们的一般模型公式。
2.2.1 一致性正则化
一致性正则化包括许多成功和流行的方法[26],[27],[37],[39],[46],[49],[50],[51],[74]。基本原理是在输入空间和(或)模型空间的变化下强制执行一致的模型输出。这些变化通常通过添加噪声、扰动或形成相同输入或模型的变体来实现。形式上,输入变化的目标是:
在模型变化的情况下:
在等式(2)中,是原始输入x的一个变体,其通过数据转换操作
导出,其中
是通过数据增强和随机扰动添加的噪声。类似地,在方程(3)中,
是通过转换函数
导出的模型θ的变体,η是通过模型权重和模型集合策略的随机扰动添加的随机性。在这两个方程中,一致性被测量为两个网络输出
和
之间的差异d(·),通常通过散度或距离度量来量化,例如Kullback-Leibler(KL)散度[49]、交叉熵[51]和均方误差[37]。一致性正则化的图示见图3。
- 输入变化下的一致性正则化
各种策略旨在生成相同输入的不同版本(方程(2)中的x,在图3(a)所示的输入变化下加强一致性(分布平滑度)。技术范围从简单的随机增强[37]、[46]到更高级的变换,如对抗性扰动[49]、MixUp[26]、[75],以及更强的自动增强,如AutoAugment[76]、RandAugment[77]、CTAugment[27]和Cutout[78]。下面我们回顾这四个模型流。
随机增广。随机增强是一种广泛采用的标准数据转换策略[37],[39],[46],通过添加高斯噪声和在图像数据上应用简单的特定领域抖动(如翻转和裁剪)。例如,-模型[37],[46]对同一输入应用随机数据扩充,并最小化两个网络输出之间的一致性正则化项(MSE)。集成变换[47]在输入图像上引入了更多样的数据增强,包括用于修改空间纵横比的空间变换(即,投影、仿射、相似性、欧氏变换),以及用于改变颜色、对比度、亮度和锐度的非空间变换。通过这种方式,模型学习对各种变换不变的表示。
对抗攻击。对抗性扰动通过添加旨在改变模型预测的对抗性噪声来增强输入数据,例如,降低预测置信度或改变预测的正确标签[79],[80]。针对SSL引入对抗性噪声以增强数据,并通过对抗性变换从未标记数据中学习[48][49][74][81]。虚拟对抗训练(VAT,虚拟对抗训练)[48][49]是第一种对抗性干扰输入数据的代表性SSL方法。在VAT中,向每个输入添加一个小的对抗性扰动,并施加一致性正则化项(KL散度),以鼓励模型对虚拟对抗方向的分布鲁棒性。值得注意的是,已经发现使用对抗性扰动未标记数据的半监督学习不仅改善了模型泛化,而且增强了对抗性攻击的鲁棒性[81],[82]。
MixUp。MixUp是一种简单且数据不可知的增强策略,通过对两个输入及其对应的标签执行线性插值[75]。它也被引入作为SSL的有效正则化器[26],[50]。插值一致性训练(ICT)[50]对两个未标记样本及其网络输出进行插值。MixMatch[26]进一步考虑将标记样本和未标记样本混合作为输入,并将(标记数据的)背景真值标签和(未标记数据的的)预测标签作为输出目标。两种方法都采用一致性正则化来指导插值输入和插值输出之间的映射的学习,以从未标记的数据中学习。
自动增广。自动扩增从数据中学习扩增策略以产生强样本,从而减少了手动设计特定领域数据扩增的需要[76],[77],[83],[84],[85]。通过强制弱增强或干净样本的预测标签及其从自动增强中导出的强增强版本[27],[51]一致,为SSL引入了该方法。受AutoAugment[76]的进步启发,ReMixMatch[27]引入了CTAugment来学习自动增强策略。无监督数据增强(UDA)[51]采用RandAugment[77],通过基于Python图像库对一组标准变换进行统一采样,生成更多样、更强的增强样本。后来,FixMatch[38]统一了多种增强策略,包括Cutout[78]、CTAugment[27]和RandAugment[77],并产生了更强的增强样本作为输入。
- 模型变化下的一致性正则化
为了如等式(3)中那样在模型变化(即模型参数空间中的变化)下施加预测一致性,提出了随机扰动[52]、[53]、[54]和Ensmbling[37]、[39]、[86]。通过不相同的模型,它们为相同的输入产生不同的输出——新的模型变量由方程(3)中的θ表示。下面我们回顾了图3(b)所示的这两个工作流程。
随机扰动。随机扰动通过以类不可知的方式添加高斯噪声、丢弃或对抗性噪声,对模型权重进行了轻微修改[52],[53],[54]。例如,梯形网络向网络中注入逐层高斯噪声,并最小化原始网络和无失真网络输出之间的去噪L2损失[53]。伪集成(Pseudo-Ensemble,不知道这样翻译对不对)对模型的参数应用丢弃,以获得模型集合(伪集成),同时最小化伪集成和模型之间的分歧(KL分歧)[52]。类似地,虚拟对抗性丢弃引入对抗性丢弃以选择性地去激活网络神经元,并最小化原始模型和扰动模型输出之间的差异[54]。最坏情况扰动(WCP)是在模型参数上引入了令人上瘾的扰动和drop connections,其中drop connections将某些模型权重设置为零,以进一步改变网络结构[55]。值得注意的是,这些扰动机制提高了模型对网络参数或结构中的噪声的鲁棒性。
Ensembling。Ensembling学习了一组覆盖版本空间不同区域的模型[87],[88],[89]。正如boosting[90]和随机森林[89]等开创性的机器学习模型所证明的,一组不同的模型通常可以提供比单个模型更可靠的预测。此外,集合提供了丰富的推理不确定性,以缓解深度神经网络中的过度自信问题[91]。对于半监督学习,通常通过计算预测空间或权重空间[14],[37],[39],[41]中的指数移动平均值(EMA,理解滑动平均)或等平均值来导出集成模型。时间整合[37]和平均教师[39]是两个代表,他们首先提出通过在权重空间[39]或预测空间[37]中保持EMA来整合训练期间产生的所有网络。随机加权平均(SWA)[41]在权重空间中应用模型参数的等平均值,为推导一致性成本提供更稳定的目标。随后,不确定性感知自蒸馏(UASD)[14]计算训练期间所有先前模型预测的平均值,以导出作为正则化器的软目标。
- 评价
一致性正则化可以被视为一项辅助任务,其中模型从未标记的数据中学习,以最小化其对输入空间或权重空间中的变化的预测方差。预测方差通常被量化为两个预测概率分布或网络输出之间的差异。通过最小化一致性正则化损失,鼓励模型学习对每个样本上添加的变化保持不变的更强大的表示,而不使用任何额外的标签注释。
2.2.2 自训练
- 熵最小化
熵最小化使基于低密度分离假设的模型训练正则化[45],[92],以强制将类决策边界放置在低密度区域中。这也符合聚类假设和流形假设[42],[44],该假设假设来自同一类的数据点可能共享相同的聚类或流形。形式上,熵最小化目标可以表示为:
其中K表示类的数量。p(yj|x;θ)是将样本x分配给类yj的概率。这测量了类重叠。由于较低的熵表示模型预测中较高的置信度,因此最小化等式(4)强制将每个未标记样本分配给具有最高概率的预测类别。尽管熵最小化最初是为逻辑回归提出的,以估算以高置信度分类的样本的标签[92],但随后通过最小化在预测空间[26]、[27]、[38]、[49]、[56]、[93]或特征空间[57]中导出的类分配的熵,将其扩展为在SSL设置中训练深度神经网络,如下所述。
可以在预测空间中施加熵最小化,例如,伪标签[56]将每个样本直接分配给以最大概率预测的类标签,这隐含地最小化了模型预测的熵。当伪标签是一个one-hot时,由于错误的标签分配,它们很容易导致错误传播。为了减轻这种风险,MixMatch[26]使用了不同输入增强的预测集合,并用温度超参数柔和地锐化了one-hot伪标签。类似地,FixMatch[38]仅在模型预测的置信度分数高于某个阈值时才分配一个热标签。
熵最小化也可以在特征空间中实施,因为基于与特征空间中的类级原型(例如,聚类中心)的接近度来导出类分配是可行的[57],[94]。在[57]中,内存模块学习每个类的中心,该中心是基于所有群集中心的接近度导出的。通过最小化熵,将每个未标记样本分配给最近的聚类中心。
- 协同训练(学习参考:协同训练算法)
联合训练在来自不同来源的同一样本的多个视图上学习两个或多个分类器[7],[23],[24],[58],[59]。从概念上讲,联合训练框架[23],[24]在两个不同但互补的数据视图上训练两个独立的分类器模型,并以交叉模型的方式估算预测标签。它后来被扩展到深度视觉学习[58],[59],[95],例如,深度协同训练(DCT)[58]训练具有两个或更多分类层的网络,并将不同的视图(例如,原始视图和对抗性视图[96])传递给单独的分类器进行协同训练,同时施加无监督损失以最小化来自不同视图的预测的相似性。联合训练的基本思想可以从双视图[58]扩展到三视图[59]或多视图[58]–例如,在三视图训练[59]中,三个分类器一起训练,当其中两个分类器与预测一致且置信分数高于阈值时,将标签分配给未标记的数据。形式上,深度合作培训目标可以写成:
其中p1、p2是在不同数据视图上训练的两个独立分类器θ1、θ2的预测。d(·,·)引入相似性度量,以从估算目标z1、z2相互学习,例如,一个热目标上的交叉熵[59],或输出目标之间的Jensen Shannon散度[58]。
- 蒸馏(学习参考:知识蒸馏(Knowledge Distillation))
蒸馏最初被提出用于将教师模型学习的知识转移到学生模型,其中来自教师模型的 soft targets (例如,网络集合或更大的网络) 可以作为有效的正则化器或模型压缩策略来训练学生模型[97],[98],[99]。半监督中最近的工作使用蒸馏将学习目标归因于未标记的数据,以训练学生网络[14],[35],[60],[100]。形式上,在学生模型θs上引入无监督蒸馏目标,以从未标记数据中学习如下:
其中,强制学生预测ps与由教师模型θt在未标记数据或所有数据上生成的目标zt对齐。与联合训练(等式(5))相比,半监督学习中的蒸馏(等式(6))不会同时优化多个网络,而是在不同阶段训练多个网络。在蒸馏中,现有的工作可以进一步分为模型蒸馏和数据蒸馏,它们使用教师模型输出或相同输入数据的多次正向传递生成未标记数据的学习目标,如下所述。
在模型蒸馏中,老师的标签分配给学生[14],[60],[100]。教师模型可以例如通过预先训练的模型或模型集合来形成。在Noisy Student Training[60]中,迭代的自我训练过程通过首先训练教师-学生的未标记数据上添加标签来迭代师生训练,并在下一次迭代中将学生重新用作教师。在不确定性感知自我蒸馏(USAD)[14]中,教师对所有先前的网络预测进行平均,以将标签归于未标记数据,以更新学生网络本身。在模型蒸馏中,教师模型中的软目标和一个热标签都可以作为未标记数据的学习目标[14],[60]。
在数据蒸馏中,教师模型通过对不同数据转换下相同输入的输出进行集合,预测未标记数据上的学习目标[35]。具体而言,通过对多个数据变换下的相同输入的输出求平均值,导出集合的教师预测(即,soft targets );然后用soft targets 训练学生模型。数据蒸馏多次转换输入数据,而不是训练多个网络,以将集合的预测归因于未标记的数据。这类似于随机数据增强的一致性正则化;然而,在数据提炼中,涉及两个训练阶段:第一阶段涉及教师模型的预训练;而第二阶段涉及训练学生网络以通过蒸馏模仿教师模型。
- 评论
与一致性正则化类似,自训练可以被视为与监督学习任务一起学习的无监督辅助任务。一般来说,它还对实例变化或教师的预测实施预测不变性。然而,自我训练在设计上有所不同。虽然一致性正则化通常训练一个模型,但自我训练可能需要训练多个模型,例如,联合训练需要至少两个并行训练的模型,而蒸馏需要依次训练教师和学生模型。
2.2.3基于图的正则化
图卷积网络,一直不是很懂,参考大神的笔记(学习参考:图卷积神经网络(GCN)) ,跳过这节。
2.2.4 生成式模型
深度生成模型是一类无监督学习模型,学习无标签近似数据分布[109],[110]。通过将生成的无监督学习概念集成到有监督模型中,可以制定半监督学习框架,以统一有监督和无监督学习的优点。
深度生成模型的两个主流是Variational Auto-Encoders(VAE)和生成对抗网络(GAN),如下所述。有关SSL的GAN框架的说明,请参见图6
- Variational Auto-Encoders
Variational Auto-Encoders(VAE)是基于变分推理的概率模型,用于复杂数据分布的无监督学习[109],[111]。标准V AE模型包含将输入样本编码为潜在变量的网络和解码潜在变量以重构输入的网络;使变分下限最大化。在半监督学习[64],[65],[112]中,通常将无监督V AE模型与监督分类器相结合。例如,为了预测SSL中所需的特定于任务的类信息,类条件VAE[64]和ADGM[65]在潜在特征空间中引入了类标签作为额外的潜在变量,以明确区分类信息(内容)和随机信息(样式),并将显式分类损失与普通VAE损失一起施加在标记数据上。
- 生成对抗网络
生成对抗性网络(GAN)[110]学习通过对抗性最小最大博弈来捕获数据分布。具体地,生成器被训练为生成尽可能真实的图像,而鉴别器被训练为区分真实样本和生成的样本。当被重新表述为半监督表示学习器时,GAN可以利用无监督生成建模和有监督区分学习的好处[66],[67],[68],[69],[113],[114],[115],[116],[117],[118]。
一般的想法是用对标记的真实样本的监督学习(即,区分性)和对生成的样本的无监督学习来增强标准GAN框架。形式上,这增强了原始鉴别器的额外监督学习能力。例如,分类GAN(CatGAN)[66]引入了K类鉴别器,并最小化了实际标记样本上的监督交叉熵损失,同时通过最大化预测的熵对生成的样本施加均匀分布约束。类似地,特征匹配GAN(FM-GAN)[67]、ALI[68]、BadGAN[69]和本地化GAN[70]为SSL制定了一个(K+1)类鉴别器,由此,实标记样本xl被认为是K个类中的一个,而生成的样本xG被认为是第K+1个类。(K+1)类鉴别器的有监督和无监督学习目标被表述为:
其中等式(8)是标记样本xl上的监督分类损失;等式(9)是无监督GAN损失,其区分真实标记样本xl和来自图像生成器的生成的伪样本xG。为了约束生成的样本,局部化GAN[70]在生成器上引入正则化器,以确保生成的样本位于流形上原始样本的附近,从而允许以半监督方式基于生成的样本训练局部一致的分类器。
- 评价
与之前讨论的有区别的半监督学习技术不同,DGM可以自然地从未标记的数据中学习,而无需估计其标签。换句话说,DGM是本地的无监督表示学习者。为了在DGM中启用SSL,模型重新制定的关键是将标签监督整合到培训中,例如,在V AE中添加类别标签潜在变量或在GAN中添加额外的类别鉴别器。此外,还需要解决GAN框架中更困难的模型优化问题。
2.2.5自监督学习
自我监督学习是一类基于无监督代理(pretext)任务设计的无监督表征学习者[11],[119],[120],[121],[122],[123]。自我监督不同于§2.2.2中的自我训练算法,因为自我监督学习目标是任务无关的,可以在没有任何标签监督的情况下进行训练。前者最初被提议仅从具有任务不可知的无监督学习目标的未标记数据中学习,但也针对半监督学习进行了探索[12],[71],[72]。在半监督学习中,所有训练数据上的任务无关自监督信号通常与标记数据上的监督学习目标集成。例如,S4L[71]基于多个自监督信号(例如预测旋转度[123]和对样本变换实施不变性[119])对SSL使用自监督,以训练模型以及监督学习。SimCLR[12]和SimCLRv2[72]是后续工作,介绍了用于任务不可知的无监督预训练的自监督对比学习,然后是以标签监督为下游任务的监督或半监督微调。
- 评价
半监督学习中的自我监督的一个独特优势是,在培训期间不需要特定于任务的标签监督。虽然上述半监督学习者通常联合解决监督任务和辅助非监督任务,但可以以完全任务不可知的方式来训练自我监督半监督学习器。这表明SSL的自我监督具有很大的灵活性。因此,自监督训练可以作为无监督预训练或作为与监督学习一起解决的辅助无监督任务来引入。尽管SSL的自我监督相对较新,但在无监督学习方面已经进行了更广泛的探索,这在§3.2.1和§3.2.2中进行了更详细的描述。
3.无监督学习(跳过)
对无监督暂时不是很有兴趣,所以快乐的跳过。。。后续有需要的时候再补充吧!
4. 关于半监督学习和无监督学习的探讨
在本节中,我们通过进一步讨论SSL和UL的共同学习假设(§4.1),以及它们在不同计算机视觉任务中的应用(§4.2),将它们联系起来。
4.1 半监督学习和无监督学习共享的学习假设
如§2.1所述,SSL中的无监督学习目标通常基于平滑度假设制定[42]。广义地说,各种区分SSL和UL算法的学习假设可以分为两种类型的平滑性假设,即,局部平滑度和全局平滑度–如图13所示。在下文中,我们将进一步阐述这些假设,并讨论基于这些假设的不同SSL和UL算法。
4.1.1 局部平滑
有两种类型的局部平滑度假设。首先,假设样本与其转换的变体
共享相同的类标签(等式(15))。其次,假设样本
与潜在表示空间中的相邻样本
属于同一类(等式(16))。无监督损失项通过以下方式对未标记样本xi实施局部平滑:
其中f(·)是要训练的模型,并给出模型输出(例如特征或预测)。Lunsup(·)可以是量化两个模型输出之间的差异或不一致的任何相似性度量,例如均方误差或对比损失。
通过半监督学习中的一致性正则化技术(§2.2.1,图3),可以实现同一样本的不同视图之间的局部平滑(等式(15))。他们在输入空间和(或)模型空间施加的不同变化下,对相同样本实施预测平滑,假设相同样本的不同变换版本应位于其自身的局部邻域中。类似地,无监督学习中的实例判别算法也隐式地在不同的视图或变换下强制相同的样本具有局部一致的表示,如对比学习所表示的,对比学习鼓励每个样本上的局部不变量(§3.2.2,图10)。
可以通过半监督学习中基于图的正则化技术来施加附近样本之间的局部平滑度(等式(16))。他们通常使用图上相邻样本的标签将类标签传播到未标记样本,因为附近的样本可能共享相同的类(§2.2.3,图5)。类似地,无监督学习[169],[170]中也探讨了邻域一致性,该方法通过基于特征相似度挖掘每个样本的最近邻居来形成语义训练标签,假设最近邻域可能属于同一语义类。
4.1.2全局平滑
全局平滑度假设表明,样本可以根据模型捕获的底层全局结构分配给特定类(或目标)zi:
其中zi是学习目标(例如,聚类成员或最有信心的预测类),其来源于训练期间发现的全局类决策边界(图13),而决策边界假定位于低密度区域。与方程(15)和方程(16)类似,Lunsup(·)是一个相似性度量,它量化了模型输出和训练目标之间的不一致性,例如交叉熵损失。在各种SSL和UL技术中也广泛采用了全局平滑性假设,以从具有伪学习目标的未标记样本中学习,如下所述。
半监督学习中的自训练技术(§2.2.2,图4)通常基于全局平滑度制定,因为未标记数据的学习目标是基于模型发现的类决策边界得出的。例如,在熵最小化(等式(4),图4(a))中,伪标签被获得为具有最高置信度的预测类。在协同训练和蒸馏(等式(5)、等式(6)、图4(b)(c))中,学习目标来自并行协同训练或预先预训练的模型。类似地,无监督学习中的深度聚类算法(§3.2.2,图11)也是基于全局平滑度提出的,假设未标记样本的聚类成员资格是从在线或离线聚类算法中获取的,该算法揭示了特征空间中潜在的类决策边界。
4.1.3 半监督学习和无监督学习之间的联系
学习原理在半监督学习和无监督学习中很常见。如§4.1.1和§4.1.2所述,大多数半监督学习和无监督学习算法都是基于相同的局部平滑度或全局平滑度假设制定的,如表3所示。这些半监督学习和无监督学习算法的一个共同方面是设计视觉学习目标,该目标对应用于输入数据的不同变换实施不变性或等变性,如半监督学习中的一致性正则化(§2.2.1)和无监督学习中的实例区分(§3.2.2)所示。典型的变换策略可以从简单的数据扩充[37]、[39]、[46]、,更复杂的变换,如对抗性扰动[48]、[49]、[74]、[81]、旋转[123]和补丁重新排序[121]、自动编码变换[20]、[201]和自动增强[27]、[38]、[51]。一方面,这些半监督学习和无监督学习方法中的大多数依赖于通过将相同的底层标签分配给增强的和扰动的数据样本来学习对数据增强和扰动不变的表示。另一方面,其他SSL和UL方法通过学习预测转换类型来考虑等效于不同转换(如旋转和补丁重新排序)的学习表示。
许多最先进的半监督学习和无监督学习方法可以很好地与相同的基础学习假设相关联,因为它们引入了类似的目标来从未标记的样本中学习。本质上,这些半监督学习和无监督学习方法的学习原理可以大致分类为:(1)在同一样本的不同变换版本之间施加一致性(等式(15)),(2)在样本与其相邻样本之间强制平滑(等式(16)),以及(3)基于全局决策边界导出未标记样本的学习目标(等式(17))。
- 问题设置之间的异同
在问题设置中,SSL和UL的相似之处在于,在评估其在测试集上的通用模型性能之前,标记和未标记数据通常都包含在其训练协议中。特别是,SSL范式采用一阶段训练,并在训练期间使用标记和未标记的数据(图2);而大多数现有UL协议考虑两阶段训练(图7)——一个阶段用于使用未标记数据进行预训练,另一个阶段则用于在下游任务上使用标记数据进行微调。
简而言之,当涉及到训练协议时,无监督学习与半监督学习在以下几个方面不同:(1)标记的数据和未标记的数据不是同时给出的;(2) 未标记和标记的数据集可以具有不同的分布。这些财产使无监督学习成为一种更通用的学习范式,以利用不同的未标记数据集。然而,对不同形式的未标记数据的无监督预训练如何有助于特定下游任务的模型泛化仍然是一个开放的研究问题。例如,目前尚不清楚在自然彩色图像上预训练的无监督模型如何推广到具有不同数据分布的下游任务,例如医学成像中的灰度图像。在这方面,SSL提供了一种更可靠的学习范式来利用未标记数据,因为标签集为模型和(或)模型设计者提供了先验知识,以选择与标记数据分布类似的有用的未标记样本集。
4.2 半监督学习与无监督学习在计算机视觉领域的应用
在§2和§3中,我们主要介绍了用于标准图像分类的SSL和UL方法。然而,它们的基本学习原理可以推广到其他具有挑战性的计算机视觉任务,例如语义分割[32]、[202]、目标检测[30]、[203]、无监督域自适应[204]、[205]、姿态估计[34]、[206]、3D场景理解[207]、视频识别[150]、[208]等,我们回顾了广泛受益于半监督学习和无监督学习方法来利用未标记数据的三个核心视觉识别任务:语义分割(§4.2.1)、目标检测(§4.2.2)和无监督域自适应(§4.2.3)。
4.2.1语义分割
语义分割旨在为输入图像中的每个像素分配一个语义类标签。这是一项核心计算机视觉任务,可能有助于各种真实世界应用,如医学图像分析[209]、[210]、[211]、[212]和自动驾驶[213]、[214]、[215]。监督语义分割需要繁琐且昂贵的像素化标签注释,例如,在Cityscapes中手动标注单个自然图像需要1.5小时[213]。
为了降低语义分割中的标注成本,一组工作只考虑了一小部分用每像素语义标签注释的训练数据,而其余的训练数据则未标记——称为半监督语义分割。这些工作通常继承了与无监督学习与半监督学习类似的用于图像分类的学习原理,并采用了一致性正则化[216]、[217]、[218]、[219]、自训练[202]、[210]、[220]、[221]、[222]、[223]、[224]、半监督学习中的GAN框架[225]、[226]、[227]或无监督学习中的对比学习[228]、[229]、[230]、[231]等技术,以从未标记的图像中学习。然而,语义分割中的无监督损失项通常需要以每像素的方式施加,以与语义分割中逐像素的学习目标保持一致。在下文中,我们讨论了由无监督学习与半监督学习的最新进展驱动的用于半监督语义分割的三种最具代表性的最先进方法。
一致性正则化(§2.2.1)可以通过公式化像素级的一致性损失(等式(2)、等式(3))来推广到像素级任务。本着与SSL中的标准一致性正则化类似的精神,最近在半监督语义分割[216]、[217]、[218]、[219]中的工作诉诸于在扰动之前和之后在图像之间加强像素一致性,同时在输入空间[216]或特征空间[217]处引入扰动。例如,语义分割[216]中的一致性正则化方法应用CutOut[78]和CutMix[232]增强技术来扰动具有部分损坏的输入图像,并施加像素级损失项以确保扰动图像中的未损坏区域应具有与原始图像中的相同区域一致的像素级预测。相反,交叉一致性训练[217]通过将噪声注入网络的激活来应用特征扰动,并在干净和扰动输出之间强制像素一致性。
自训练算法(§2.2.2)适用于半监督语义分割[202]、[210]、[220]、[221]、[222]、[223]、[224],其中使用预训练的教师模型[223]或联合训练的模型[202]传播未标记图像上的伪分割图。例如,自训练方法[223]通过两个步骤传播伪分割标签——(1)使用预训练的教师模型在未标记的数据上分配逐像素伪标签;以及(2)使用重新标记的数据集重新训练学生模型,直到没有更多的性能提高。另一种自训练方法[202]通过训练两个模型来从彼此学习每像素分割预测,采用联合训练方案。
对比学习在UL中广泛使用,并适用于从语义分割中的未标记数据学习[228],[229],[230],[231]。为了公式化每个像素的对比损失(等式(12)),需要考虑像素空间位置来选择有意义的正负对。为此,提出了一种定向上下文感知对比损失[228],以从一幅图像中裁剪两个补丁,并在相同位置获取特征作为正对,其余作为负对。引入另一个像素对比损失[230],通过在与正对相同的位置获取特征,同时从不同图像中采样固定数量的负对,在随机颜色增强之前和之后对齐特征。
4.2.2 目标检测(没怎么看)
目标检测旨在预测图像中感兴趣对象的一组边界框和相应的类标签。对象检测器需要通过联合训练分类器来预测类标签和回归头来生成边界框,从而将分类和定位统一到一个模型中[5],[233]。这是一项重要的计算机视觉任务,广泛影响不同的应用程序,如人员搜索[234]、车辆检测[235]、徽标检测[236]、文本检测[237]等。受监督的目标检测需要昂贵的注释工作——注释单个对象的边界框需要长达42秒[238]。
为了利用没有边界框或类标签信息的未标记数据,目标检测中的一组工作利用未标记数据通过对一小组标记数据和一组完全未标记图像进行训练来增强模型泛化,这被称为半监督对象检测。这些工作主要重新制定了两种半监督学习技术流,包括一致性正则化[30]、[203]、[239]、[240]、[241]、[242]和自训练[35]、[243]、[244]、[245]、[246],这两种技术都引入了边界框和类标签的学习目标,以从完全未标记的数据中学习,如下所述。
一致性正则化(§2.2.1)用于半监督对象检测,以基于分类和回归的双重一致性约束,在未标记图像上传播软标签和边界框分配[30],[203],[239],[240],[241],[242]。一系列工作应用数据增强,如随机翻转[203]和MixUp[75],以生成未标记图像的增强视图,并鼓励预测的边界框及其类标签对于不同视图保持一致。与标准一致性正则化相比,这些方法尤其需要重新估计增强图像中的边界框位置,例如翻转边界框[203],或在MixUp中计算两个混合图像的重叠边界框[75]。另一系列工作遵循师生培训框架,并将教师与学生的一致性[30]、[240]、[241]、[242]强加给普通教师[39]。教师模型通过指数平均值(EMA)[30]、[240]、[242]从学生模型中导出,或者通过对即时模型输出[241]应用非最大抑制(NMS,一种用于细化检测到的边界框的滤波技术)来获得伪边界框和用于训练的标签注释。
自训练算法(§2.2.2)也被引入到注释的未标记图像中,用于对象检测[35],[243],[244],[245],[246]。一种简单的自我训练范式是使用预先训练的教师模型,用边界框及其类标签注释未标记的图像,并使用这些数据进行重新训练[243]。然而,这种伪注释可能相当嘈杂。为了提高伪标签的质量,最近的工作提出了交互式自训练,以使用NMS[244]逐步细化伪标签,或量化模型不确定性,以选择或导出更可靠的伪标签[245],[246],以从未标记的数据中学习。
4.2.3 无监督的域适应 (这个没看,纯机器翻译)
无监督域适应 (UDA)是SSL的一种特殊情况,其中标记的(源)和未标记的(目标)数据位于不同的分布,即不同的域。UDA对于视觉识别至关重要[247],因为视觉数据的统计财产对更广泛的因素敏感,例如照明、视点、分辨率、遮挡、一天中的时间和天气条件。虽然大多数UDA方法侧重于解决标记数据和未标记数据之间的域差距,但SSL和UL算法也可以适用于从UDA中的未标记数据中学习,如下所示。
一致性正则化(§2.2.1)在UDA中被证明是有效的。本着鼓励扰动下一致输出的相同精神,各种UDA方法应用输入变换或模型集合来模拟输入或模型空间的变化[39],[248],[249],[250]。为了生成输入变量,双重MixUp正则化集成了类别级MixUp和域级MixUp来正则化具有一致性约束的模型,从而从未标记数据中学习以增强域不变性[248]。为了生成模型变化,自集合[249]利用均值教师[39]在目标域中估算未标记的训练目标。
自我训练(§2.2.2)对UDA也很有用。与SSL类似,UDA的自训练包括三种技术流,用于在未标记的目标样本上添加伪标签,包括熵最小化、伪标签和联合训练。为了确保有效性,自训练方法通常与域分布对齐相结合,以减少域偏移。例如,UDA[251]、[252]、[253]采用了熵最小化(等式(4)),并结合分布对齐技术,如域特定批量归一化层[251]、对齐特征的二阶统计量[252]或对抗性训练和梯度同步[253]。联合训练(等式(5))也被引入到UDA中,它从多个联合训练分类器中估算训练目标,以从未标记的数据中学习并匹配跨域分布[254]。
深度生成模型(DGM)作为SSL和UL的一类模型(§2.2.4,§3.2.3)被广泛用于UDA。与减少特征级别域偏移的其他UDA方法相比,DGM提供了一种替代和补充解决方案,通过跨域图像到图像的转换来减轻像素级别的域差异。这些框架中的大多数基于GAN,如PixelDA[255]、生成以适应[256],以及具有周期一致性的GAN,例如CyCADA[257]、SBADA-GAN[258]、I2I-adapt[259]和CrDoCo[260]。这些模型通常学习实到实[257]、[258]、[260]、[261]或合成到实[255]、[256]、[262]的映射,以将图像样式从标记的源渲染到未标记的目标域,从而提供具有伪标记的合成训练数据。
在SSL和UL中普及的自我监督学习(§2.2.5,§3.2.1)也在UDA中引入,以在未标记数据上构建辅助自我监督学习目标。自我监督模型通常通过自我监督结合标记源数据上的监督目标来解决UDA问题[164],[204],[263],[264]。这方面的先驱工作是JiGen[164],它联合学习对对象进行分类,并解决拼图[121]借口任务,以在新领域实现更好的泛化。最近的工作[204],[263],[264]探索了其他自我监督的借口任务,如预测旋转[204]、[263]、[264]、翻转[204]和补丁排序[204]。除了借口任务,最近的UDA方法还探索了基于聚类或对比学习的辨别性自我监督信号。例如,DANCE[205]通过将目标样本分配给源域中的“已知”类原型或目标域中的邻居来执行邻域聚类。梯度正则化对比学习[265]利用对比损失将未标记的目标样本推向最相似的标记源样本。类似地,[266]通过对比损失将目标域特征与源域中的类原型对齐,从而最小化可能属于同一类的跨域样本之间的距离。
5. 发展趋势和挑战
两个专业名字的概念:
Open Set Learning,即在没有明确监督的情况下,将尚未引入的目标识别为“未知”;
Incremental Learning,即让网络进行N+1式增量学习,接收相应标签以学习其识别到的未知类别,同时不会忘记之前已经学到的类别。
在本节中,我们从未标记数据中讨论SSL和UL的新趋势,涵盖三个方向,即Open Set Learning(§5.1)、Incremental Learning(§5.2)和多模式学习(§5.3)。我们详细介绍了最近的发展和开放挑战。
5.1 Open-Set Learning from Unlabeled Data
在§2中,我们回顾了在半监督中解决相对简单的closed-set learning的工作,该工作假设未标记的数据与标记的数据共享相同的标签空间。然而,这种闭集假设可能会极大地阻碍半监督学习在利用包含未知类的真实世界未分级未标记数据方面的有效性,即分布外(OOD)样本(也称为异常值)[40]。当将大多数现有的SSL方法应用于具有噪声的未标记数据的开放集学习时,它们的模型性能可能会显著下降,因为OOD样本可能会导致灾难性的错误传播。
一系列工作建议解决更复杂的开放集SSL场景[14],[15],[267],[268],[269],[270],[271],[272],其中未标记的集合包含与任务无关的OOD数据。在这种设置(所谓的开放世界SSL)中,未标记的样本并非都是有益的。为了防止未标记的OOD样本可能导致的性能危害,SSL的最新进展提出了各种特定于样本的选择策略,以降低其重要性或使用[14],[15],[267],[268]。包括UASD[14]和DS3L[15]在内的先驱工作提出,施加一个动态加权函数,以降低与未标记样本属于未知类别的可能性成比例的无监督正则化损失项的权重。后续工作依靠课程学习[267]和迭代自我训练[268],通过训练OOD分类器来检测和丢弃潜在的有害样本。最近,OpenMatch[270]提出训练一组一对所有分类器来检测内点和外点,并通过仅对未标记内点的一致性约束来正则化模型。
开放式挑战。开放集半监督学习要求将OOD检测[273]或新的类发现[274]与半监督学习集成在统一模型中,以促进有噪声的未标记数据的选择性利用。此外,最近的一项工作提出了通用半监督学习基准[271],该基准将开放集设置中的分布失配问题进一步扩展为子集或交叉类失配以及特征分布失配。这些更现实的设置带来了多个新的挑战,包括用于OOD检测的DNN的置信度校准[273]、[273],[275]、[276]、[277],真实世界长尾分布未标记数据导致的不平衡类分布[278]、[279],以及在未标记数据中发现不可见类[274]、[280]、[281]。尽管开放集SSL的最新进展已经探索了OOD检测,但要利用真实世界中的未标记数据,其他挑战仍有待解决。
5.2 Incremental Learning from Unlabeled Data
半监督学习和无监督学习的现有工作通常假设所有未标记的训练数据都可以同时使用,但由于隐私问题或计算限制,这在实践中可能并不总是有效。在许多现实场景中,我们需要使用新数据执行增量学习(IL),以增量更新模型,而无需访问过去的训练数据。在此,我们从未标记数据[282]、[283]中回顾了IL的研究方向,并讨论了其面临的挑战。
已经以半监督的方式研究了来自未标记数据的增量学习(IL)[282]。IL(也称为持续学习和终身学习[284])旨在扩展现有模型的知识,而无需访问先前的训练数据。大多数现有的IL方法使用正则化目标来不忘记旧知识,即减少灾难性遗忘[285],[286],[287],[288]。为此,IL中经常使用未标记的数据,通过估计旧任务的模型参数的重要性权重[289],或制定知识蒸馏目标[282],[290]来巩固从旧数据中学习到的知识,从而防止灾难性遗忘。最近,多项研究从作为非平稳流[283]、[291]的未标记数据中探索IL,类标签空间可能随时间变化[292]。在此设置中,目标是从连续传入的未标记数据流中学习显著表示。为了扩展新类和未标记数据的表示,采用了几种策略来动态更新潜在空间中的表示,例如通过在线聚类创建新的聚类质心[292]和更新高斯混合[283]。最近的一些工作将自我监督技术应用于未标记的测试数据[293]、[294]、[295],这有助于克服数据分布中的可能变化[296]。
开放式挑战。从未标记数据的增量学习需要解决多种挑战,从灾难性遗忘[282],[297],建模新概念[283],[292]到预测数据流的演变[296]。由于无法同时访问所有未标记的训练数据,解决这些挑战非常重要,因为直接应用许多现有的半监督学习和无监督学习方法无法保证良好的泛化性能。例如,当对未标记的数据进行分类时,伪标签可能会遇到确认偏差问题[298]。因此,从潜在的noni.i.d.(不知道这是个啥子)未标记数据流中进行增量学习仍然是一个开放的挑战。
5.3 Multi-Modal Learning from Unlabeled Data
越来越多的作品将视觉和非视觉模式(例如,文本、音频)结合起来,形成有区别的自我监督信号,从而能够从多模态未标记数据中进行学习。为了将视觉和语言用于无监督学习,在变换器块[304]上构建视觉和语言BERT模型的变体(例如,ViLBERT[299]、LXMERT[300]、VLBERT[301]、Uniter[302]和Unicoder VL[303]),以无监督的方式联合建模图像和自然语言。具体而言,通过解决自然语言处理中的Cloze任务(预测输入句子中的掩蔽词)[305],或者通过优化语言视觉对齐目标[300],[306],可以以无监督的方式学习视觉、语言或它们的联合表示。另一系列工作利用语言监督(例如,来自网络数据[307]或叙述材料[308]、[309]、[310]、[311]、[312]、[313]),通过对齐共享潜在空间中的图像和语言来指导无监督表示学习,如CLIP[312]和ALIGN[313]所示。
类似地,为了组合用于无监督学习的音频和视觉模态,现有工作利用视频中的自然视听对应关系来制定各种自监督信号,其预测跨模态对应关系[314],[315],对齐时间上对应的表示[309],[316],[317],[318],或将它们的表示聚集在共享的视听潜在空间[208]、[319]中。几项工作通过在共享的多模态潜在空间[310]、[320]或视听和视觉语言的分层潜在空间[308]中对齐不同模态,进一步探讨了音频、视觉和语言一起用于无监督表示学习。
开放式挑战。从未标记数据中进行多模态学习的成功通常依赖于不同模态在语义上相关的假设。例如,当聚类音频和视频数据以进行无监督表示学习[208],或将文本知识转移到未标记的图像数据[321]时,假设两个数据模态共享相似的语义。然而,这一假设可能不适用于真实世界数据,导致模型性能下降[309],[322]。因此,从包含跨模态语义差距的多模态未标记数据中学习仍然是一个开放的挑战
6. 总结
在有限或无人工监督的情况下学习视觉表示对于可扩展的计算机视觉应用至关重要。半监督学习(SSL)和无监督学习(UL)模型为从未标记的视觉数据中学习提供了可行且有前景的解决方案。在这项全面的调查中,我们引入了统一的问题定义和分类法,以总结和关联各种最新先进和普及的SSL和UL深度学习方法,以构建卓越的视觉分类模型。我们相信,我们对现有算法的简明分类和对新兴趋势的广泛讨论有助于更好地理解使用未标记数据的视觉表示学习的研究现状,并为有限标记机制中涉及的重大未解决挑战激发新的学习解决方案。