Semi-Supervised and Unsupervised Deep Visual Learning A Survey
Semi-Supervised and Unsupervised Deep Visual Learning: A Survey
1. 摘要
最先进的深度学习模型通常是用大量昂贵的标记训练数据进行训练。然而,要求详尽的人工注释可能会降低模型在有限标签制度下的泛化能力。半监督学习和无监督学习提供了很有前途的范式,可以从大量的无标签的视觉数据中学习。这些范式的最新进展表明,利用无标签数据来提高模型的通用性和提供更好的模型初始化有很大好处。在这项调查中,我们从一个统一的角度回顾了最近关于视觉识别的半监督学习(SSL)和无监督学习(UL)的高级深度学习算法。为了对这些领域的先进技术有一个整体的了解,我们提出了一个统一的分类法。我们对现有的具有代表性的SSL和UL进行了全面而深刻的分析,以突出它们在不同的学习场景和不同的计算机视觉任务中的应用的设计原理。最后,我们讨论了SSL和UL的新趋势和开放性挑战,以阐明未来的关键研究方向。
2. 主要内容
2.1 总体定义
下图1总结了本综述所涉及的两种范式,它们都利用无标签数据进行视觉表征学习。根据是否为一小部分训练数据提供了标签注释,我们将这些范式归类为半监督学习和无监督学习。
半监督学习(Semi-Supervised Learning,SSL)旨在从稀疏的标签数据和大量的辅助性无标签数据中共同学习,这些数据通常来自与标签数据相同的基础数据分布。在标准的封闭集SSL中,标记的和未标记的数据属于同一领域的同一组类。在开放集SSL中,它们可能不在同一个标签空间中,即未标记的数据可能包含未知和/或错误标记的类别。
无监督学习(UL)的目的是在不利用任何任务相关的标签监督的情况下,只从无标签的数据中学习。一旦训练完成,模型就可以使用标签数据进行微调,以便在下游任务中实现更好的模型泛化。
2.2 半监督学习
2.2.1 问题定义
半监督学习(SSL)旨在从一小组有标签的数据和一大组无标签的数据中共同学习。在许多SSL方法中,损失函数中的超参数λu(L = (1-λu)Lsup + λuLunsup)通常是一个斜坡加权函数(即λ=w(t),t是训练迭代),它在训练期间逐渐增加无监督损失项的重要性。
2.2.2 评价方法
为了测试一个SSL模型是否有效地利用了未标记的数据,通常采用两个评价标准。首先,该模型需要优于仅从标记数据中学习的监督基线。第二,当增加训练集中无标签样本的比例时,相比监督基线的改进幅度会相应增加。总的来说,这些改进的幅度表明SSL方法的有效性和稳健性。
2.2.3 半监督的假设
SSL的主要假设包括平滑性假设和流形假设——后者也被称为集群假设, 结构假设, 和低密度分离假设。 具体来说,平滑性假设认为附近的数据点有可能共享相同的类标签。流形假设认为位于同一结构(即同一聚类或流形)内的数据点应该共享同一类别标签。换句话说,前者是对附近的数据点进行局部的假设,而后者是基于聚类或图形成的底层数据结构进行全局的假设。
2.3 半监督方法分类
现有的SSL方法通常假设未标记的数据是封闭的,并且是特定任务的,也就是说,所有未标记的训练样本都属于预先定义的类集。大多数现有工作的共同想法是根据某种底层数据结构,如流形结构和图结构,为每个未标记的样本分配一个类标签。我们将最具代表性的半监督深度学习方法分为五类:一致性正则化、自我训练、基于图的正则化、深度生成模型和自我监督学习。
2.3.1 一致性正则化
其基本原理是在输入空间和(或)模型空间的变化下强制执行一致的模型输出。这些变化通常通过添加噪声、扰动或形成相同输入或模型的变体来实现。
2.3.2 自我训练
自我训练方法通过对具有高置信度的预测样本的标签进行归纳,从无标签数据中学习[23], [24], [92]。它最初是为传统的机器学习模型提出的,如逻辑回归[92]、双叉图[23]和Naive Bayes分类器[24]。它在深度神经网络中被重新审视,以从大量的未标记数据和有限的标记数据中学习。我们回顾了自我训练的三个代表性工作,包括熵最小化、协同训练和蒸馏,如下所示。
熵最小化是基于低密度分离假设对模型训练进行规整,以强制要求将类的决策边界放在低密度区域。这也符合聚类假设和流形假设, 假设同一类别的数据点可能共享同一聚类或流形。
联合训练在来自不同来源的同一样本的多个视图上学习两个或多个分类器。从概念上讲,联合训练框架在两个不同但互补的数据视图上训练两个独立的分类器模型,并以跨模型的方式归纳预测的标签。协同训练的基本思想可以从双视图扩展到三视图或多视图–例如,在Tri-training中,三个分类器被一起训练,当其中两个分类器的预测结果一致且置信度分数高于阈值时,将标签分配给未标注的数据。
蒸馏法最初是为了将教师模型学到的知识转移给学生模型,其中教师模型的软目标(例如,一个网络集合或一个更大的网络)可以作为一个有效的正则器或模型压缩策略来训练学生模型。最近在SSL中的工作使用蒸馏法在未标记的数据上归纳学习目标,以训练学生网络。
2.3.3 基于图的正则化
基于图的正则化是最初为非深度半监督学习算法提出的一系列过渡性学习方法,如过渡性支持向量机和高斯随机场模型。这个系列的大多数算法都建立了一个加权图来利用数据样本之间的关系。具体来说,有标签和无标签的样本都被表示为节点,而边缘权重编码不同样本之间的相似性。标签可以根据平滑度假设在图上传播,即相邻的数据点应该共享相同的类别标签,如下图所示。
基于图的特征正则化通常是通过建立一个可学习的近邻(NN)图来完成的,该图增强了原始DNN来编码特征空间中数据点之间的亲和力,如EmbedCNN和Teacher Graph所代表。图中的每个节点都由中间网络层提取的视觉特征或最后一层的输出来编码;同时计算亲和矩阵Wij来编码所有节点间的成对相似性。为了利用未标记的数据,基于图的正则化项可以形成一个度量学习损失,例如连体网络的基于边际的对比损失,它通过强制执行局部平滑性来约束特征学习。
基于图的预测正则化在预测空间中运行,就像标签传播一样。在标签传播中,受上述建立可学习的NN图的相同原理的驱动,编码数据点之间的相似性的NN图被用来将标签从有标签的数据传播到无标签的数据,基于跨熵损失的反证法。虽然与Pseudo-Labels的方法类似,但传播的标签是通过一个编码全局流形结构的外部NN图来获得的。此外,图上的标签传播和DNN的更新是交替进行的,以传播更可靠的标签。
2.3.4 深度生成模型
深度生成模型是一类无监督学习模型,它在没有标签的情况下学习近似的数据分布。通过将生成式无监督学习概念整合到有监督模型中,可以制定一个半监督学习框架,以统一监督和无监督学习的优点。深度生成模型的两个主要流派是变异自动编码器(VAE)和生成对抗网络(GAN)。
在基于GAN的深度生成模型中,判别器将标记的样本分配给K类,将生成的未标记的数据分配给一个辅助类(K+1)。在测试时,判别器充当分类器。
变分自动编码器(VAE)是基于变分推理的概率模型,用于复杂数据分布的无监督学习。一个标准的VAE模型包含一个将输入样本编码为潜伏变量的网络和一个将潜伏变量解码以重建输入的网络;最大化变异下限。在半监督学习中, 一个无监督的VAE模型通常与一个监督分类器相结合。例如,为了预测SSL中需要的特定任务的类信息,类条件VAE和ADGM将类标签作为潜特征空间中的一个额外的潜变量引入,明确地将类信息(内容)和随机信息(风格)分开,并在标记的数据上施加一个明确的分类损失和虚化的VAE损失。
生成性对抗网络(GANs)[110]通过对抗性最小化游戏来学习捕捉数据分布。具体来说,生成器被训练成尽可能地生成真实的图像,而鉴别器被训练成在真实和生成的样本之间进行鉴别。当重新表述为一个半监督的表征学习者时,GANs可以利用无监督的生成模型和监督的判别学习的好处。
2.3.5 自我监督学习
自我监督学习是一类基于无监督的代用(pretext)任务设计的无监督表征学习器。自监督不同于自训练算法,因为自监督学习目标是任务无关的,可以在没有任何标签监督的情况下进行训练。前者最初被提出来只从无标签的数据中学习,具有任务无关的无监督学习目标,但它也被探索用于SSL。在SSL中,所有训练数据上的任务无关的自我监督信号通常与标记数据上的监督学习目标相结合。例如,S4L在SSL中使用了基于多个自我监督信号的自我监督,如预测旋转度和强制执行典范转换不变性,与监督学习一起训练模型。SimCLR和SimCLRv2是引入自监督对比学习的后续工作,用于任务无关的无监督预训练,然后是有监督或半监督的微调,标签监督是下游任务。
后续的无监督学习和研究关系不是很紧密。
3. 启发
半监督方法有很多,并且也有很多的研究方向。在了解了大致的半监督思路之后,在我的噪声学习中首先从简单的方法开始,先尝试基于一致性准则的模型输出一致损失。半监督主要的原理都是从样本自身的特征出发,让模型去学习样本特征从而找到所有样本的标签对应关系。