OpenAI 研究员谈半监督学习:数据不足情况下的学习方法

【专栏:前沿进展】

随着为机器提供更多高质量的标签,监督学习模型的性能也会提高。然而,获取大量带标注样本的代价十分高昂。在机器学习中,有一些方法用于解决标签稀少的场景,半监督学习是其中一种解决方案,它可以利用一小部分有标签数据和大量的无标签数据进行学习。

对于只有有限标签数据的有监督任务,通常有四种候选方案:

  1. 预训练+微调 (Pre-Training+Fine-Tuning):在大规模无监督数据上训练一个与任务无关 (Task-Agnostic)的模型,例如在文本数据上训练的 Pre-Training LMs,以及通过自监督学习在无标签图片上预训练的视觉模型等。然后,在下游任务中通过少量的有标签样本集合对模型进行微调。

  2. 半监督学习 (Semi-Supervised Learning):在有标签数据和无标签样本上共同学习。很多视觉相关的任务研究的就是这种方法。

  3. 主动学习 (Active Learning):为样本打标签的成本很昂贵,但是在给定成本预算的前提下,我们仍然希望可以获得的更多带标签数据。主动学习旨在选择最有价值的无标签样本进行收集,帮助我们在有限的预算下采取明智的行动。

  4. 预训练 + 数据集自生成 (Pre-Training + Dataset Auto-Generation):给定一个良好的预训练模型,我们可以利用它生成更多的有标签样本。受少样本学习 (Few-Shot Learning)的启发,这种方式在语言领域很流行。

本文是OpenAI研究员Lilian Weng(翁荔)的最新博客文章,

智源社区已经获得Lilian Weng个人博客授权。博客地址:https://lilianweng.github.io/lil-log/。

本篇为“数据不足情况下的学习”(Learning With Not Enough Data)系列文章的第一部分,主题是半监督学习 (Semi-Supervised Learning)。

以下是整篇文章的目录

  • 什么是半监督学习?

  • 符号说明

  • 假设

  • 一致性正则化

    • Π-model

    • Temporal Ensembling

    • Mean Teachers

    • Noisy Samples As Learning Targets

  • 伪标签方法

    • 标签传播(Label Propagation)

    • 自训练 (Self-Training)

  • 伪标签+一致性正则化

    • MixMatch

    • DivideMix

    • FixMatch

  • 结合强大的预训练

  • 参考文献

作者:Lilian Weng

翻译:沈林杉

审校:戴一鸣

作者介绍:

Lilian Weng现为OpenAI应用人工智能研究负责人,主要从事机器学习、深度学习和网络科学研究 。她本科毕业于香港大学,硕士就读于北京大学信息系统与计算机科学系,之后前往印度安纳大学布鲁顿分校攻读博士。

01

什么是半监督学习?

半监督学习通过使用有标签和无标签数据来共同训练模型。

当前,大多数有关半监督学习的研究主要关注的是视觉任务。而预训练+微调是语言任务中更常见的范式。

本文介绍的所有方法都有一个由两部分组成的损失:。给出所有标注的样本,监督损失很容易得到。我们将重点介绍如何设计无监督损失。加权项一般选择斜坡函数,使得的重要性随着时间而增加,其中是训练步骤。

免责声明:本文不打算讨论半监督方法,而将重点放在模型架构修改上。这篇综述(https://arxiv.org/abs/2006.05278)讨论了如何在半监督学习中使用生成模型和基于图的方法。

02

符号说明

OpenAI 研究员谈半监督学习:数据不足情况下的学习方法_第1张图片

03

半监督学习中的假设

当前的半监督学习研究中讨论了几个假设,以支持半监督学习方法中的某些设计决策。

  • H1:平滑假设——如果两个数据样本在特征空间中的高密度区域非常接近,则它们的标签应相同或相似。

  • H2:聚类假设——特征空间既有密集区域,也有稀疏区域。位于密集区域的数据点会自然地会形成簇,而同一簇中的样本应具有相同的标签。这是聚类假设的一个小扩展。

  • H3:低密度分离假设——类之间的决策边界往往位于稀疏、低密度区域,否则决策边界会将高密度簇分为两类,从而形成两个簇,使得平滑假设和聚类假设失效。

  • H4:流形假设——高维数据实际上是由一个低维流形映射到高维空间上的。即使真实世界中的数据是在高维度上观察到的,例如真实世界中的物体/场景的图片,我们也可以捕获它们的内在低维流形结构。在这里就可以发现数据的潜在规律,相似的数据点将被聚到一起 (真实世界中的物体/场景的图像不是在所有像素组合中均匀采样的)。这使得我们能够学习一个更有效地表示,来度量无标签数据之间的相似性。这也是表示学习的基础。(可参考:what-is-the-manifold-assumption-in-semi-supervised-learning)

04

一致性正则化

一致性正则化 (Consistency Regularization),又称一致性训练 (Consistency Training),假设在给定相同输入的情况下,神经网络内的随机性 (如Dropout)或数据增强变换不会改变模型的预测结果。本节中提到的每个方法都有一个对应的一致性正则化损失,记为。

一致性正则的思想已经被应用于一些自监督学习方法中,如SimCLR、BYOL、SimCSE等。自监督学习的核心思想是同一样本的不同增强版本应产生相同的表示。不论是语言建模中的跨视角训练 (Cross-View Training),还是自监督学习中的多视角学习 (Multi-View Learning),它们的出发点都是相同的。

1. Π-Model

OpenAI 研究员谈半监督学习:数据不足情况下的学习方法_第2张图片图注:Π-Model框架。当同一数据点经过不同的随机变换 (如Dropout、随机最大池化等),将得到两个版本 (Version)作为网络的输入,我们期望它们对应的输出是一致的。(图片来源: Laine & Aila (2017))

Sajjadi et al. (2016)提出了一种无监督损失,它通过对同一数据点进行两次随机变换 (例如Dropout、Random Max-Pooling),然后通过最小化两个变换后的数据点经过网络后的差异来进行学习。

由于标签没有被显式地使用,因此这个损失函数也可以用于无标签的数据集。Laine & Aila (2017)将其命名为Π-model。

2. Temporal Ensembling

OpenAI 研究员谈半监督学习:数据不足情况下的学习方法_第3张图片图注 :Temporal Ensembling框架,每个样本的EMA标签预测是模型的学习目标。(图片来源:Laine & Aila (2017))

由于Π-Model需要网络对每个样本运行两次,因此计算成本也会增加一倍。为了降低成本,Temporal Ensembling (Laine & Aila 2017)维护每轮训练样本对应模型实时预测值的指数移动平均值 (EMA) ,并将其作为学习目标,每轮迭代只需推理和更新一次。因为集成输出初始化为,所以它被归一化,以纠正初始的偏差。Adam Optimizer出于同样的原因也有这样的偏差修正项。

3. Mean Teachers

OpenAI 研究员谈半监督学习:数据不足情况下的学习方法_第4张图片

图注:Mean Teacher框架。(图片来源:Tarvaninen & Valpola, 2017)

Temporal Ensembling将每个训练样本标签预测值的EMA作为学习目标。然而,这种标签预测只在每轮迭代中发生变化,训练数据集较大时该方法就会显得笨拙。Mean Teacher (Tarvaninen & Valpola, 2017))通过跟踪模型权重而不是模型输出的的移动平均值来解决目标更新慢的问题。我们称带有权重的原始模型为学生模型(Student Model),而通过连续的学生模型得到的带有移动平均权重\theta的模型称为平均教师 (Mean Teacher)模型,其中。

这里的一致性正则化损失是指学生模型和教师模型的预测之间的距离,并且学生模型和教师模型之间的差距应该最小化。平均教师模型应该比学生模型提供更准确的预测,这也实验中得到了证实,如下图所示。

OpenAI 研究员谈半监督学习:数据不足情况下的学习方法_第5张图片

图注 :Mean Teacher 和Π-Model在SVHN数据集上的分类误差。其中Mean Teacher (黄线)的性能比Π-Model (蓝线)更优异。(图片来源:Tarvaninen & Valpola, 2017)

根据消融实验,可以得到以下几个结论:

  • 对输入进行增强处理 (例如,对于输入图片进行随机翻转、高斯噪声操作)以及对学生模型进行Dropout对于良好的性能是必要的。而Dropout对于教师模型是非必要的。

  • 性能对EMA衰减超参数较敏感。在渐变阶段使用较小的,在后期学生模型性能提升放缓时,再使用较大的,是一个好的策略。

  • 选择MSE作为一致性代价函数,比其他代价函数如KL散度表现更好。

4. 带噪样本作为学习目标

最近的一些一致性训练方法通过最小化原始无标签样本和对应增强版本之间的预测差异来进行学习。这个和Π-Model很相似,但是这里的一致性正则损失只应用于无标签数据。

OpenAI 研究员谈半监督学习:数据不足情况下的学习方法_第6张图片

图注:带噪样本的一致性训练

对抗训练 (Goodfellow et al. 2014) 通过在输入中加入对抗性噪声,并训练模型,使其对于这种对抗攻击具有鲁棒性。这种设置会在在有监督学习中起作用:

其中是真实分布,近似于真实标签的独热编码,是模型的预测值,是一个距离函数,衡量两个分布之间的散度。

Virtual Adversarial Training (VAT; Miyato et al. 2018)将上述思想拓展至半监督学习。因为是未知的,VAT将其替换为原始输入经过当前模型得到的预测输出,其中模型权重为。由于是模型权重的固定副本,所以在上并没有梯度更新。

VAT损失适用于无标签和有标签样本上。它是当前模型在每个数据点的预测流形的负平滑度度量。通过优化这种损失,可以促使流形更加平滑。

Interpolation Consistency Training (ICT; Verma et al. 2019)通过增加更多数据点的插值来增强数据集,同时希望模型的预测值与对应标签的插值能够保持一致。MixUp (Zheng et al. 2018) 通过简单的加权将两张图片混合,并将其与标签平滑 (Label Smoothing)相结合。遵循Mixup的思想,ICT期望模型在经过Mixup处理的样本上产生的标签,可以和相应输入的预测插值相匹配。

其中是的移动平均,是一个Mean Teacher。

OpenAI 研究员谈半监督学习:数据不足情况下的学习方法_第7张图片

图注:插值一致性训练概述。利用Mixup可以生成更多的插值样本,并以插值标签作为学习目标。(图片来源:Verma et al. 2019)

因为两个随机选择的无标签样本属于不同类别的概率很高(例如,ImageNet中包含1000个类别),所以在两个随机无标签样本之间使用MixUp进行插值的操作,很可能发生在决策边界附近。根据低密度分离假设,决策边界往往位于低密度区域中。

其中是的移动平均。

和VAT类似,Unsupervised Data Augmentation (UDA; Xie et al. 2020) 通过预测无标签样本和它的增强版本的输出一致性来进行学习。UDA尤其关注在噪声质量对半监督学习一致性训练性能的影响。使用先进的数据增强方法来产生有意义和有效的噪声样本是至关重要的。好的数据增强应该产生有效的(即不改变标签)和多样化的噪声,并带有有针对性的归纳偏好 (Inductive Biases)。

对于图片数据,UDA采用RandAugment (Cubuk et al. 2019),它会随机地使用PIL库中的增广方法,无需进行学习和优化,因此比AutoAugment的成本低得多。

OpenAI 研究员谈半监督学习:数据不足情况下的学习方法_第8张图片

图注:不同的半监督学习方法在CIFAR-10数据集上进行分类任务的实验结果。Wide-Resnet-28-2和Pyramidnet+Shakedrop在完全监督的设置下,在没有进行Randaugment处理的50,000个样本上进行训练,错误率分别为5.4%和2.7%。(图片来源:Xie et al. 2020)

针对语言领域,UDA结合了反向翻译(Back-Translation)和基于TF-IDF的词替换。反向翻译保留了高层次含义,但可能不能保留某具体的些单词,而基于TF-IDF的词替换则会删除TF-IDF分数较低的低信息量的单词。在语言任务的实验中,研究人员发现UDA对于迁移学习和表征学习是互补的;例如,在域内无标签数据上使用BERT微调(即下图中的)可以进一步提高性能。

OpenAI 研究员谈半监督学习:数据不足情况下的学习方法_第9张图片

图注:对具有不同初始化配置的UDA在各种文本分类任务上的结果比较。(图片来源:Xie et al. 2020)

在计算时,研究人员还发现以下几种训练技巧有助于提升模型结果:

  • 低置信度掩蔽 (Low Confidence Masking):如果样本的预测置信度低于阈值,则将其掩蔽。

  • 锐化预测分布(Sharpening Prediction Distribution):在Softmax中使用低温的来对预测概率分布进行锐化。

  • 域内数据过滤(In-Domain Data Filtration):为了从大的域外数据集中提取更多的域内数据,研究人员训练了一个分类器来预测域内标签,然后保留具有高置信度预测的样本作为域内候选样本。

其中是模型权重固定的副本,与VAT中相同,因此没有梯度更新,是增强的数据点。是预测值的置信度阈值,是分布锐化温度。

05

伪标签方法

伪标签(Lee 2013)根据当前模型预测的Softmax概率最大的类别,将伪标签分配给无标签样本,然后在有监督设置中同时在有标签和无标签样本上对模型进行训练。

为什么伪标签可以起作用?伪标签实际上起熵正则化(Grandvalet & Bengio 2004),它通过最小化无标签数据的类别概率条件熵,从而达到类别之间低密度分离的目的。换句话说,预测的类别概率实际上是类别重叠的度量,最小化熵就相当于减少类别间的重叠,从而实现低密度分离。

OpenAI 研究员谈半监督学习:数据不足情况下的学习方法_第10张图片

图注:a和b分别表示不使用和使用60000个带有伪标签的无标签样本对模型进行训练,然后对MNIST测试集的输出进行T-SNE可视化的结果,它们在训练中都会用到600个有标签数据。伪标签使得学习后的特征空间得到更好的分离。(图片来源:Lee 2013)

使用伪标签进行训练自然是一个迭代过程。我们将生成伪标签的模型称为教师模型,使用伪标签学习的模型称为学生模型。

1. 标签传播(Label propagation)

标签传播 (Iscen et al. 2019)的思想是基于特征嵌入来构建样本间的相似性图。然后将伪标签从已知样本传播到无标签样本,其中传播权重与图中成对的相似度分数成正比。从概念上讲,它类似于K-NN分类器,但两者都存在不能很好地扩展到大型数据集的问题。

OpenAI 研究员谈半监督学习:数据不足情况下的学习方法_第11张图片

图注:标签传播工作原理的说明。(图片来源: Iscen et al. 2019)

2. 自训练(Self-Training)

自训练并不是一个新概念(Scudder 1965, Nigram & Ghani CIKM 2000),它是一种迭代算法,会交替进行以下两个操作,直到每个无标签的样本都被分配了一个标签:

  • 初始时在有标签数据上构建分类器。

  • 然后使用该分类器预测无标签数据的标签,并将置信度最高的数据转换为有标签样本。

Xie et al. (2020)将自训练应用于深度学习,并取得了显著的成果。在ImageNet的分类任务中,他们首先训练了一个EfficientNet (Tan & Le 2019)模型作为教师模型,以此为300M的无标签图片生成了伪标签。接着他们训练了一个更大的EfficientNet 作为学生模型,并利用带有真实标签和伪标签的图片进行学习。其中的一个关键要素在于学生模型训练期间有噪声,而在教师模型训练时没有噪声,以此来生成伪标签。因此,他们的方法被称为带噪学生模型 (Noisy Student)。作者通过随机深度(Huang et al. 2016)、Dropout和随机增强等方法来施加噪声。噪声对于学生模型性能最终能够优于教师模型非常重要。添加的噪声会产生复合效应,可以推动模型在有标签和无标签数据上产生的决策边界是平滑的。

学生模型在自训练中还有一些其他重要技术细节:

  • 学生模型应当足够大 (大于教师模型),以适应更多的数据。

  • 带噪声的学生模型应该与数据平衡技术相结合,尤其是平衡每个类别中伪标签图片的数量。

  • 软伪标签比硬标签工作得更好。

尽管该模型未针对对抗鲁棒性进行优化,Noisy Student模型仍然能够提高应对FGSM (Fast Gradient Sign Attack)的能力。该攻击会利用关于输入数据对应损失的梯度,并调整输入数据以最大化损失,从而实现对抗鲁棒性攻击。

SentAugment 由Du et al. (2020)等人提出,旨在解决没有足够的领域内无标签数据用于语言领域的自训练问题。它通过句子嵌入从大量语料库中挖掘无标签领域样本,并使用检索到的句子进行自训练。

3. 减少确认偏误

确认偏误 (Confirmation Bias)是指由于教师模型的不完善,导致为学生模型提供了错误的伪标签的问题。如果过度地打上错标签,可能得不到一个很好的学生模型。

为了减少确认偏误,Arazo et al. (2019)提出了两种技术。一种是采用带有软标签的MixUp方法。给定两个样本及其对应的真实标签或伪标签,插值标签方程可以转化为Softmax输出的交叉熵损失:

如果带标签样本太少,那么只进行MixUp是不够的。所以作者在每个小批次中设置有标签样本的最小数量,并对有标签样本进行过采样。这比增加有标签样本的权重效果更好,它会更频繁的更新,而不是进行少量大幅度的更新,因为这些更新可能不太稳定。与一致性正则化一样,数据增强和Dropout都对于伪标签发挥作用很重要。

Meta Pseudo Labels (Pham et al. 2021) 根据学生模型对有标签数据集的表现情况的反馈,不断地调整教师模型。教师和学生模型是并行训练的,教师模型学习如何生成更好的伪标签,学生模型则从伪标签中进行学习。

设教师和学生模型权重分别为和。学生模型在有标签样本上的损失定义为的函数,我们希望通过最小化损失来相应地优化教师模型。

然而,优化上述方程并非易事。借鉴 MAML的思想,它近似于多步地进行,同时对进行一步梯度更新:

使用软伪标签,上述目标是可微的。但如果使用硬伪标签,它是不可微的,因此我们需要使用RL,例如REINFORCE。

优化过程在训练两个模型之间是交替进行的:

  • 学生模型更新:给定一批无标签样本,我们通过生成伪标签,并对用SGD进行一步优化:

  • 教师模型更新:给定一批带标签的样本,我们重新使用学生模型的更新来优化:。此外,将UDA的目标应用于教师模型,以纳入一致性正则化。

OpenAI 研究员谈半监督学习:数据不足情况下的学习方法_第12张图片

图注:元伪标签与其他半监督或自监督学习方法在图像分类任务中的比较。(图片来源:Pham et al. 2021)

06

伪标签+一致性正则化

目前的很多工作将伪标签和一致性正则化结合起来,同时应用于半监督学习中。

1. MixMatch

MixMatch(Berthelot et al. 2019)作为一种整体性的半监督学习方法,通过整合以下技术来充分利用无标签数据:

  • 一致性正则化:鼓励模型在无标签样本添加扰动的情况下输出相同的预测;

  • 熵最小化:鼓励模型对无标签数据输出可靠的预测;

  • MixUp增强:鼓励模型在样本之间具有线性行为。

给定一批有标签数据和无标签数据,我们通过得到它们的增强版本, 和  ,分别表示增强样本和带有猜测标签的无标签样本。

其中是锐化温度,用来减少猜测标签的重叠度;是每个无标签样本产生的增强数据的数量,是MixUp中的参数。

对于每个,MixMatch生成个增强,记为,伪标签是基于平均值猜测的:。

OpenAI 研究员谈半监督学习:数据不足情况下的学习方法_第13张图片

图注:Mixmatch中的标签猜测过程。对K个增强进行平均,以修正预测的边缘分布,最后对分布进行锐化。(图片来源:Berthelot et al. 2019)

根据消融实验,对无标签数据进行MixUp是至关重要的。此外,去除伪标签分布上的温度锐化会严重影响性能。另外,对于多个增强进行平均对于标签猜测也是必要的。

ReMixMatch (Berthelot et al. 2020) 引入了两种新机制来改善Mixmatch,分别为分布对齐(Distribution alignment)和增强瞄点(Augmentation anchoring)。

  • 分布对齐。它鼓励边际分布接近真实标签的边际分布。设是真实标签中的类别分布,是无标签数据上预测的类别分布的运行平均值。对于一个无标签样本的模型预测值,将被归一化为,以匹配真实的边缘分布。

    • 注意,如果边际分布是不均匀的,那么熵最小化就不是一个有用的目标。

    • 有标签和无标签数据上的类分布应该匹配的假设过强,在现实环境中不一定是正确的。

  • 增强锚点。给定一个无标签的样本,首先它会生成一个具有弱增强的“锚点”版本,然后使用CTAugment(Control Theory Augment)对个强增强版本进行平均。CTAugment仅对将模型预测保持在网络容差范围内的增强进行采样。

OpenAI 研究员谈半监督学习:数据不足情况下的学习方法_第14张图片

图注:ReMixMatch中引入的两个改进方法。(图片来源:Berthelot et al. 2020)

ReMixMatch损失函数包含以下几个部分:

  • 使用数据增强和MixUp的有监督损失;

  • 使用数据增强和MixUp,同时将伪标签作为目标的无监督损失;

  • 在一个没有使用MixUp的情况下,只有单一重度增强的无标签图像上的CE损失;

  • 常用在自监督学习中的旋转损失。

2. DivideMix

DivideMix (Junnan Li et al. 2020)结合了半监督学习和噪声标签学习(LNL)。该方法利用GMM模型对每个样本损失分布进行建模,将训练数据动态地划分为包含干净样本的有标签样本集和含有带噪样本的无标签样本集。根据 Arazo et al. 2019的想法,他们在每个样本上根据交叉熵损失上拟合了一个双组分GMM。我们希望在干净样本上的损失比带噪样本的损失更小,速度更快。平均值较小的组件对应着带有干净标签的聚簇,我们将其表示为。如果GMM后验概率(即采样属于干净样本集的概率)大于阈值,则认为该样本为干净样本,否则视为有噪声样本。

数据聚类的过程被称为共分(Co-Divide)。为了避免确认偏误,DivideMix同时训练两个分叉网络,其中每个网络使用来自另一个网络的数据集划分;例如,思考双Q学习是如何工作的。

OpenAI 研究员谈半监督学习:数据不足情况下的学习方法_第15张图片

图注:DivideMix独立训练两个网络,以减少确认偏误。它们一起进行共同划分、共同细化和共同猜测。(图片来源:Junnan Li et al. 2020)

与MixMatch相比,DivideMix具有一个额外的用于处理带噪样本的共分阶段,此外在训练阶段也有一些额外的改进:

  • 标签协同细化:它线性地结合了真实标签和网络的预测,该预测是在多个的增强上取的平均,是由另一个网络以概率产生的干净集合引导得到的。

  • 标签共同猜测:它对两个模型在无标签数据样本上的预测进行了平均。

    OpenAI 研究员谈半监督学习:数据不足情况下的学习方法_第16张图片

图注 Dividemix的伪代码(图片来源:Junnan Li et al. 2020)

3. FixMatch

FixMatch(Sohn et al. 2020)在经过弱增强处理的无标签样本上生成伪标签,并且仅保持高置信度的预测。在这里,弱增强和高置信度过滤都有助于生成高质量的可信伪标签目标。然后,FixMatch学习在给定经过强增强处理的样本的情况下,预测他们的伪标签。

OpenAI 研究员谈半监督学习:数据不足情况下的学习方法_第17张图片

图注:Fixmatch模型流程图。(图片来源:Sohn et al. 2020)

其中,是无标签样本的伪标签;是一个超参数,用于确定和的相对大小。

  • 弱增强():包括标准的翻转和偏移变换

  • 强增强():包括AutoAugment, Cutout, RandAugment, CTAugment

    OpenAI 研究员谈半监督学习:数据不足情况下的学习方法_第18张图片


图注:Fixmatch和其他几种半监督学习方法在图像分类任务中的性能。(图片来源:Sohn et al. 2020)

根据FixMatch的消融实验,可以得到以下几个结论:

  • 在使用阈值时,用温度参数对预测分布j进行锐化没有显著影响。

  • Cutout和CTAugment作为强增强的一部分对于良好的性能是必要的。

  • 当将用于标签猜测的弱增强替换为强增强时,模型在训练过程中会较早地出现发散。

  • 如果完全抛弃弱增强,模型会对猜测的标签进行过拟合。

  • 如果使用弱增强来代替强增强进行伪标签预测会导致性能不稳定。强数据增强是有必要的。

07

结合强大的预训练

该方法首先通过自监督学习在大型无监督数据语料库上预先训练一个任务不可知的模型,然后在下游任务中使用小的带标签数据集对其进行微调,这是一个常用的方法,尤其是在语言任务中。研究表明,将半监督学习与预训练相结合可以获得额外的收益。

Zoph et al. (2020) 研究了自训练会在多大程度上比预训练方法更有效。他们在实验中使用Imagenet进行预训练或者自训练,以提高在COCO数据集上的性能。注意,当使用Imagenet进行自训练时,会丢弃标签,并仅使用Imagenet样本作为无标签的数据。He et al. (2018) 已经证明,如果下游任务非常不同,例如任务是目标检测,ImageNet的分类预训练模型效果会不佳。

OpenAI 研究员谈半监督学习:数据不足情况下的学习方法_第19张图片


图注:(a)和 (b)分别表示数据增加 (从弱到强)和有标签数据集大小对对象检测性能的影响。图中:Rand Init指的是带有随机权重的初始化模型; ImageNet 指使用在 ImageNet数据集上Top-1准确率为84.5%的预先训练模型进行初始化; ImageNet++ 指使用在ImageNet数据集上Top-1准确率为86.9%的预先训练模型进行初始化。(图片来源:Zoph et al. 2020)

研究人员通过实验发现了一些有趣的结论:

  • 随着下游任务中有标签样本的增多,预训练的有效性将会降低。预训练在低数据状态 (20%)下是有帮助的,但在高数据状态下的效果是中性的或负面的。

  • 自训练在高数据或强增强机制下会起作用,即使预训练是有害的情况下也是如此。

  • 即使使用相同的数据源,自训练也可以在预训练的基础上带来额外的性能改进。

  • 自监督预训练(如通过SimCLR)会影响高数据状态下的性能,就像有监督预训练一样。

  • 联合优化有监督和自监督的学习目标有助于解决预任务和下游任务之间的不匹配问题。预训练、联合训练和自训练都是附加的。

  • 带噪标签或非目标标签(即训练前的标签未与下游任务标签对齐)比目标伪标签更加糟糕。

  • 自训练在计算上的开销比在预先训练的模型上进行微调更大。

Chen et al. (2020) 将自监督预训练、有监督微调和自训练的优势结合在一起,提出了一个三步走步骤:

  1. 使用无监督或自监督方法预训练一个大模型。

  2. 在几个有标签的样本上对其进行微调。重要的是使用大(深和宽)神经网络。模型越大,性能越好,所需的有标签样本越少。

  3. 通过在自训练中采用伪标签方法,使用无标签的样本进行蒸馏。

  • 从一个大模型中蒸馏到一个小模型是可能的,因为针对于特定的任务不需要额外的学习表征。

  • 蒸馏损失的形式如下所示,其中教师网络用权重是固定的,用表示。

OpenAI 研究员谈半监督学习:数据不足情况下的学习方法_第20张图片

图注:一个利用无标签数据语料库进行半监督学习的框架,通过任务不可知的无监督预训练(左)和针对特定任务的自训练或蒸馏(右)进行训练。(图片来源:Chen et al. 2020

研究人员在ImageNet上进行了分类任务的实验。自监督预训练模型使用的是SimCLRv2,它是 SimCLR的改良版本。他们在实验中得到的观察结果与 Zoph et al. 2020的几个观点是一致的:

  • 更大的模型在标签上更有效率;

  • SimCLR的更大/更深的project heads对表征学习有改善作用;

  • 使用无标签数据进行蒸馏可以改善半监督学习。

    OpenAI 研究员谈半监督学习:数据不足情况下的学习方法_第21张图片

图注:SimCLRv2+半监督蒸馏在ImageNet分类任务上的性能比较。(图片来源:Chen et al. 2020)

总结

最后,对最近的半监督学习的工作进行总结,我们可以看出许多工作的目的是减少确认偏误:

  • 通过先进的数据增强方法将有效且多样化的噪声应用到样本中。

  • 在处理图像时,MixUp是一种有效的增强方法。MixUp 同样可以在语言领域上发挥作用,从而产生微小的增量改进(Guo et al. 2019)。

  • 通过设置一个阈值,然后丢弃置信度低的伪标签。

  • 在每个小批次中设置有标签样本的最小数量。

  • 锐化伪标签分布以减少类别重叠。

参考文献

[1] Ouali, Hudelot & Tami. “An Overview of Deep Semi-Supervised Learning” arXiv preprint arXiv:2006.05278 (2020).

[2] Sajjadi, Javanmardi & Tasdizen “Regularization With Stochastic Transformations and Perturbations for Deep Semi-Supervised Learning.” arXiv preprint arXiv:1606.04586 (2016).

[3] Pham et al. “Meta Pseudo Labels.” CVPR 2021.

[4] Laine & Aila. “Temporal Ensembling for Semi-Supervised Learning” ICLR 2017.

[5] Tarvaninen & Valpola. “Mean teachers are better role models: Weight-averaged consistency targets improve semi-supervised deep learning results.” NeuriPS 2017

[6] Xie et al. “Unsupervised Data Augmentation for Consistency Training.” NeuriPS 2020.

[7] Miyato et al. “Virtual Adversarial Training: A Regularization Method for Supervised and Semi-Supervised Learning.” IEEE transactions on pattern analysis and machine intelligence 41.8 (2018).

[8] Verma et al. “Interpolation consistency training for semi-supervised learning.” IJCAI 2019

[9] Lee. “Pseudo-label: The simple and efficient semi-supervised learning method for deep neural networks.” ICML 2013 Workshop: Challenges in Representation Learning.

[10] Iscen et al. “Label propagation for deep semi-supervised learning.” CVPR 2019.

[11] Xie et al. “Self-training with Noisy Student improves ImageNet classification” CVPR 2020.

[12] Jingfei Du et al. “Self-training Improves Pre-training for Natural Language Understanding.” 2020

[13] Iscen et al. “Label propagation for deep semi-supervised learning.” CVPR 2019

[14] Arazo et al. “Pseudo-labeling and confirmation bias in deep semi-supervised learning.” IJCNN 2020.

[15] Berthelot et al. “MixMatch: A holistic approach to semi-supervised learning.” NeuriPS 2019

[16] Berthelot et al. “ReMixMatch: Semi-supervised learning with distribution alignment and augmentation anchoring.” ICLR 2020

[17] Sohn et al. “FixMatch: Simplifying semi-supervised learning with consistency and confidence.” CVPR 2020

[18] Junnan Li et al. “DivideMix: Learning with Noisy Labels as Semi-supervised Learning.” 2020 [code]

[19] Zoph et al. “Rethinking pre-training and self-training.” 2020.

[20] Chen et al. “Big Self-Supervised Models are Strong Semi-Supervised Learners” 2020

你可能感兴趣的:(大数据,算法,python,计算机视觉,神经网络)