当面对一个只有有限带标签数据的监督学习任务时,有四种方法经常会被谈及。
- 预训练+微调:在一个大规模的无监督数据语料库上预训练一个强大的无特定任务的模型,例如自由文本上的预训练语言模型,或者通过自监督学习在无标签图像上的预训练视觉模型,之后再用小规模的有标签样本集在下游任务上微调模型。
- 半监督学习:从带标签和不带标签的样本中一起学习。实际已经有许多视觉任务的研究用这种方法开展了。
- 主动学习:打标签很昂贵,但我们仍想在给定的一个开销预算下收集更多标签。主动学习学习挑选最有价值的无标签样本接下来被收集,帮助我们在受限预算下明智地行动。
- 预训练+数据集自动生成:给定一个有能力的预训练模型,我们可以用它来自动生成更多的带标签样本。在小样本学习的成功的驱使下在语言领域这种方法特别流行。
什么是半监督学习?
半监督学习既使用带标签数据也使用不带标签数据来训练模型。
有趣的是大多数现有的半监督学习的文章关注于视觉任务,而语言任务更常用的方法是预训练+微调。
在半监督学习中,损失函数包含两个部分:。监督损失 在给定所有带标签样本的条件下很容易得到。需要关注的是如何设计无监督损失 。常见的权重项 的选择是使用斜坡函数来随着时间增加 的重要性,其中是训练步数。
本篇不包含关注于模型架构修改的半监督学习方法。这篇综述介绍了如何在半监督学习中使用生成模型和基于图的方法。
记号
假设
在半监督学习方法中有几个假设用于支持某些设计的决定。
- 假设1:(平滑假设)如果两个数据样本在特征空间的高密度区域接近,他们的标签应当相同或非常接近。
- 假设2:(簇假设)特征空间有稠密区域和系数区域。稠密聚集的数据点自然形成一个簇。在同一簇中的样本应当有相同的标签。这是假设1的小的拓展。
- 假设3:(低密度分离假设)两类间的决策边界易于被定位在稀疏、低密度区域,因为否则的话决策边界会把一个高密度的簇切成两类,对应着两个簇,这违背了假设1和假设2。
- 假设4:(流形假设)高维数据易于定位在低维流形上。即使真实世界的数据可能会在非常高维被观测(比如真实世界物体或场景的图像),实际上它们可以被低维流形捕捉到,某一些属性会被捕捉到,相似的点会聚集得很紧密(真实世界物体或场景的图像并不是从所有像素组合的均匀分布中抽取出来的)。这使得可以学习一个更加高效的表示来发现并衡量无标签数据点间的相似性。这也是表示学习建立的基础。
一致性正则化
一致性正则化,也称为一致性训练,假设神经网络(例如带有 Dropout)或数据增广变换带有的随机性在给定相同输入的条件下不会改变模型预测。这种思想的每种方法都是用一致性正则损失作为 。
这种思想已经被几种自监督学习方法采用,比如 SimCLR、BYOL 和 SimCSE 等等。同一样本的不同增广版本应产生相同的表示。语言模型中的交叉可视训练和自监督学习中的多视图学习也基于同样的思想。
-model
Sajjadi 等人(2016[1])提出了一个无监督学习损失来最小化带有随机变换(例如 dropout,随机最大池化)的相同数据点的输入两次通过神经网络的差别。标签没有被显式地使用,因此损失函数可以被用于无标签数据集。之后 Laine 和 Aila(2017[2])为这样一种设置命名为 -model。
其中 是应用带有不同随机增广或 dropout 掩码的相同神经网络。这个损失函数使用整个数据集。
Temporal ensembling
-model 要求网络对每个样本跑两遍,使计算开销加倍。为了缩减开销,Temporal Ensembling(Laine 和 Aila 2017[2])维护了一个每个训练样本作为训练目标随时间的模型预测的指数滑动平均(EMA),每个 epoch 只被计算和更新一次。由于集成输出 被初始化为 ,使用 来修正这个启动偏差。Adam 优化器由于相同原因也有这样的偏置修正项。
其中 是在 epoch 的集成预测, 是当前轮的模型预测。注意由于 ,修正后 直接等于 epoch 1 的 。
Mean teacher
Temporal Ensembling 为每个训练样本作为学习目标跟踪记录一个模型预测的 EMA 。然而,这个标签预测只有在每个 epoch 才改变,这使得这个方法在当数据集很大时不够灵活。Mean Teacher(Tarvaninen 和 Valpola 2017[3])被提出来克服目标更新的缓慢,通过跟踪模型权重的滑动平均而非模型输出的。设权重为的原来的模型为 student 模型,对连续的学生模型进行滑动平均的权重为 的模型为 mean teacher:
一致性正则化损失是 student 和 teacher 的预测间的距离,student 和 teacher 间的差距应当被最小化。Mean teacher 应当比 student 提供更准确的预测,在经验实验中得到了确认,如图 4 所示。
根据他们的消融研究,
- 输入增广(例如随机翻转输入图像,高斯噪声)或 student 模型 dropout 对于良好的表现是必要的。Dropout 是不需要在 teacher 模型上的。
- 表现对 EMA 衰减参数敏感。好的策略是在斜坡上升阶段使用一个小的 ,在之后 student 模型改进变慢的阶段使用更大的 。
- 他们发现 MSE 作为一致性代价函数的表现要比其他代价函数(如 KL 散度)的表现更好。
将噪声样本作为学习目标
最近的几个一致性训练方法通过学习来最小化原本无标签样本和它对应的增广版本间的预测差异。这和 -model 非常相似,但是一致性正则化损失只被用于无标签数据。
对抗训练(Goodfellow 等人 2014[4])把对抗噪声应用到输入上,训练模型对于这样的对抗攻击变得足够稳健。这种设置以监督学习方法工作,
其中 是真实分布,以真实正确标签 的独热编码来近似。 是模型预测。 是衡量两个分布的散度的距离函数。
Virtual Adversarial Training(VAT;Miyato 等人 2018[5])把这种想法扩展到半监督学习下工作。由于 是未知的,VAT 把它替换成了现在带有权重 的模型对原始输入的预测。注意 是模型权重的一个固定的副本,因此在 上没有梯度更新。
VAT 损失应用在带标签样本和无标签样本上。它是当前模型预测流形在每个数据点上的负平滑度度量。这样的损失的最优化使得流形更加光滑。
Interpolation Consistency Training(ICT;Verma 等人 2019[6])通过增加更多的插值数据点改进了数据集,并期望模型预测和对应标签的插值一致。MixUp(Zheng 等人 2018)操作通过一种简单的加权和混合两个图像,结合上标签平滑。跟随 MixUp 的思路,ICT 希望预测模型在 mixup 样本上产生标签,匹配相应输入的预测的插值:
其中 是 的滑动平均,是 mean teacher。
因为两个随机选择的无标签样本属于不同类别的概率很高(例如在 ImageNet 中有 1000 个物体类),在两个随机无标签样本间应用 mixup 的插值很有可能发生在决策边界附近。根据低密度分离假设,决策边界易于被定位在低密度区域。
其中 是 的滑动平均。