本文首发于网站 机器翻译学堂
转载事宜请后台询问哦
译者|常开妍
单位|东北大学自然语言处理实验室
本文作者Lilian Weng现为OpenAI应用人工智能研究负责人,主要从事机器学习、深度学习和网络科学研究。她本科毕业于香港大学,硕士就读于北京大学信息系统与计算机科学系,之后前往印度安纳大学布鲁顿分校攻读博士。
Lilian Weng经常在个人博客分享学习和工作笔记,感兴趣的可以戳这里:https://lilianweng.github.io/lil-log/
当今大数据时代下,机器学习的主流方法逐渐演变为采用特定任务的海量数据对模型进行训练。然而在现实生活中,有助于指导模型训练的“有标注数据”收集起来通常十分困难,“无标注数据”虽然易于获取,但往往需要进行耗时、耗力的人工标注,导致标注数据的成本水涨船高。
在此背景下,人们尝试将大量的“无标注数据”加入到有限的“有标注数据”中,一起训练模型来进行特定任务的学习,期望能在数据不足的情况下对机器学习性能起到改进的作用,由此产生了半监督学习(Semi-supervised Learning)方法。
半监督学习近年来已成为深度学习领域的热门方向,目前出现了许多利用无标注数据提高学习算法预测精度和加快模型学习速度等等的改进方法。希望读者能通过阅读本文,了解一些可以应用于自然语言处理任务上的半监督学习方法。
什么是半监督学习?
一致性正则化(Consistency Regularization)
Π-model
时间集成(Temporal Ensembling)
平均教师(Mean teachers)
噪声样本作为学习目标
伪标签(Pseudo Labeling)
标签传播(Label propagation)
自训练(Self-Training)
减少确认偏差(confirmation bias)
具有一致性正则化的伪标签
与强大的预训练结合
当只有有限数量的标注数据可用于监督学习任务时,通常会讨论以下四种方法:
预训练+微调:在大型无监督语料库上预训练一个强大的未知任务模型,例如在免费文本上预训练语言模型或者通过半监督学习方式在无标注图像上预训练视觉模型。然后使用小型标注样本在下游任务上进行微调。
半监督学习:从标注样本和无标注样本中一起学习。许多视觉任务使用该方法进行研究。
主动学习:标注成本是昂贵的,但是我们仍然希望在给定成本预算的情况下收集更多样本。主动学习是去学习如何选择之后要收集的最有价值的无标注样本,帮助我们在有限的预算下更灵活地进行操作。
预训练+自动生成数据集:给定一个有能力的预训练模型,我们可以使用它去自动生成更多的标注数据。少样本学习的成功导致该方法在语言领域受到大众青睐。
什么是半监督学习?
半监督学习是指同时使用标注数据和无标注数据去训练模型。
有趣的是,现存的大多数有关半监督学习的文章都侧重于视觉任务。然而预训练+微调是针对语言任务更常见的范式。
。给定全部标注样本后,很容易获得监督损失。我们将重点关注无监督损失是如何设计的。权重项通常选择及时增加的重要性的斜坡函数,其中是训练步数。
假设
文章中讨论了一些假设来支持半监督学习方法的某些设计决策。
H1:平滑假设:如果两个数据样本在特征空间的高密度区域中很接近,那么它们的标签应该相同或非常相似。
H2:聚类(cluster)假设:特征空间既有稠密区域也有稀疏区域。密集分组的数据点自然形成一个聚类。同一聚类中的样本应具有相同的标签。这是H1的一个小扩展。
H3:低密度分离假设:类之间的决策边界往往位于稀疏的低密度区域,否则决策边界会将高密度聚类切割成两个类,分别对应两个聚类,这使H1和H2无效。
H4:流形(manifold)假设:高维数据倾向于位于低维流形上。尽管现实世界的数据可能在非常高的维度上被观察到(例如现实世界物体/场景的图像),但它们实际上可以被较低维度的流形捕获,低维流形可以捕获某些属性并且将相似点紧密分组(例如现实世界物体/场景的图像不是从所有像素组合的均匀分布中绘制的)。这使我们能够学习更有效的表示,以便我们发现和测量无标注数据点之间的相似性。这也是表示学习的基础。
一致性正则化(Consistency Regularization)
。
这种思想已被多种自监督学习方法采用,例如SimCLR、BYOL、SimCSE等。同一样本的不同增强版本应该产生相同的表示。语言建模中的跨视图训练和自监督学习中的多视图学习都有相同的动机。
Π-model
Sajjadi et al. (2016)提出了一种无监督学习损失,通过对同一数据点进行随机变换(例如dropout、随机最大池化)来最小化两次通过网络之间的差异。标签没有被明确使用,因此可以将损失应用于无标注的数据集。Laine & Aila (2017)后来为这种设置取名为Π-model。
是应用了不同随机增强或dropout掩码的相同神经网络。该损失利用了整个数据集。
时间集成(Temporal Ensembling)
,将保持模型预测在时间上的指数变化平均值(EMA)作为学习目标,仅在每一轮中评估和更新一次。因为集成输出被初始化为0,所以用来归一化以校正启动偏差。出于同样的原因,Adam优化器也有这样的偏差校正项。
是轮次的集成预测,是当前轮次的模型预测。注意由于,经过校正后,与轮次1的完全等价。
平均教师(Mean teachers)
Temporal Ensembling保持跟踪每个训练样本的标签预测EMA作为学习目标。然而该标签预测只会在每个轮次发生变化,当训练数据集很大时会使这种方法变得笨拙。Mean Teacher(Tarvaninen & Valpola, 2017)提出通过跟踪模型权重的变化平均值而不是模型输出来克服目标更新缓慢的问题。我们将权重为的原始模型称为学生模型,并将连续学生模型中具有变化平均权重的模型称为平均教师:
一致性正则化损失是学生和教师预测之间的距离,应该最小化学生与教师之间的差距。期望平均教师提供比学生更准确的预测,这一点在实验中得到了证实,如图4所示。
根据消融研究发现:
输入增强(例如输入图像的随机翻转、高斯噪声)或学生模型dropout是获得良好性能所必需的。教师模型不需要dropout。
敏感。一个好的策略是在斜坡上升阶段使用较小的,并在学生模型改进缓慢的后期使用较大的。
作为一致性成本函数的MSE比KL散度等其他成本函数表现更好。
噪声样本作为学习目标
最近的几种一致性训练方法学习最小化原始无标注样本与其相应增强版本之间的预测差异。它与Π-model非常相似,但一致性正则化损失仅适用于无标注数据。
对抗训练Adversarial Training (Goodfellow et al. 2014)将对抗性噪声应用于输入,并训练模型对这种对抗性攻击具有鲁棒性。该设置适用于监督学习,
是真实分布,与真实标签的独热码近似,是模型预测。是衡量两个分布之间差异的距离函数。
虚拟对抗训练(VAT; Miyato et al. 2018)将这一思想扩展到半监督学习中。因为是未知的,所以VAT将其替换为具有当前权重的原始输入的当前模型预测。注意是模型权重的固定副本,因此在上没有梯度更新。
VAT损失同时适用于标注和无标注的样本。它是当前模型在每个数据点的预测流形的负平滑度度量。该损失的优化促使流形更加平滑。
插值一致性训练(ICT; Verma et al. 2019)通过添加更多数据点插值来增强数据集,并期望模型预测与相应标签的插值一致。MixUp(Zheng et al. 2018)通过简单的加权和操作混合两幅图像,并将其与标签平滑相结合。遵循MixUp的思想,ICT期望预测模型在混合样本上产生一个标签,以匹配相应输入的预测插值:
是的变化平均值,是一个平均教师。
因为两个随机选择的无标注样本属于不同类别的概率很高(例如,ImageNet中有1000个目标类别),所以通过在两个随机无标注样本之间应用混合进行插值很可能发生在决策边界周围。根据低密度分离假设,决策边界倾向于位于低密度区域。
是的变化平均值。
与VAT类似,无监督数据增强(UDA; Xie et al. 2020)学习为无标注样本和增强样本预测相同的输出。UDA特别专注于研究噪声的“质量”如何影响具有一致性训练的半监督学习性能。使用先进的数据增强方法来生成有意义且有效的噪声样本至关重要。好的数据增强应该产生有效的(即不改变标签)和多样化的噪声,并带有有针对性的归纳偏差。
对于图像,UDA采用RandAugment(Cubuk et al. 2019)统一采样PIL中可用的增强操作,无需学习或优化,因此比AutoAugment便宜得多。
对于语言任务,UDA结合了反向翻译和基于TF-IDF的单词替换。反向翻译保留了高级含义但可能不会保留某些单词,而基于TF-IDF的单词替换会删除TF-IDF分数较低的无信息单词。在语言任务的实验中,发现UDA是迁移学习和表征学习的补充;例如,在域内无标注数据上进行微调的BERT(即图8中的BERTFINETUNE)可以进一步提高性能。
时,UDA发现了两种有助于提高结果的训练技术。
低置信度屏蔽: 如果低于阈值,则屏蔽掉预测置信度低的示例。
锐化预测分布: 在softmax中使用低温T来锐化预测的概率分布。
域内数据过滤: 为了从大型域外数据集中提取更多域内数据,他们训练了一个分类器来预测域内标签,然后保留具有高置信度预测的样本作为域内候选者。
是模型权重的固定副本,与VAT中相同,因此没有梯度更新,并且是增强数据点。是预测置信度阈值,T是分布锐化温度。
伪标签(Pseudo Labeling)
Pseudo Labeling(Lee 2013)根据当前模型预测的最大softmax概率将伪标签分配给无标注样本,然后在完全监督设置中同时在标注样本和无标注样本上训练模型。
为什么伪标签可以工作?伪标签实际上等同于熵正则化(Grandvalet & Bengio 2004),它最小化无标注数据的类概率的条件熵,以支持类之间的低密度分离。换句话说,预测的类别概率实际上是类别重叠的度量,最小化熵相当于减少类别重叠,从而降低密度分离。
使用伪标签进行训练自然形成了一个迭代过程。我们将产生伪标签的模型称为教师,将使用伪标签进行学习的模型称为学生。
标签传播(Label propagation)
Label Propagation(Iscen et al. 2019)是一种基于特征嵌入在样本之间构建相似度图的想法。然后伪标签从已知样本“扩散”到无标注样本,其中传播权重与图中成对相似性得分成正比。从概念上讲,它类似于k-NN分类器,但都存在无法很好地扩展大型数据集的问题。
自训练(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和RandAugment来干扰学生。噪声对于学生比教师表现更好很重要。添加的噪声具有复合效应,可以促使模型的决策边界在标注和无标注数据上变得平滑。
Noisy Student的自训练中有一些其他的重要技术配置:
学生模型应该足够大(即比老师大)以适应更多数据。
Noisy Student应该被数据平衡地配对,尤其重要的是要平衡每一类伪标记图像的数量。
软伪标签比硬伪标签更有效。
Noisy Student还提高了针对FGSM(快速梯度标志攻击=该攻击使用输入数据的损失w.r.t的梯度,并调整输入数据以最大化损失)攻击的对抗鲁棒性,尽管该模型未针对对抗鲁棒性进行优化。
Du et al. (2020)提出的SentAugment,旨在解决语言领域中没有足够的域内无标注数据进行自训练时的问题。它依靠句子嵌入从大型语料库中找到无标注的域内样本,并使用检索到的句子进行自训练。
减少确认偏差(confirmation bias)
确认偏差是不完美的教师模型提供不正确伪标签而产生的问题。过度拟合错误的标签可能不会产生一个更好的学生模型。
以及它们对应的真实或伪标签,插值标签方程可以转换为具有softmax输出的交叉熵损失:
如果标记样本太少,混合是不够的。他们进一步通过对标记样本进行过采样来设置每个小批次中标记样本的最小数量。这比增加标记样本的权重更好,因为它会导致更频繁的更新,而不是可能不太稳定的更大数量级的少次更新。与一致性正则化一样,数据增强和dropout对于伪标签的良好效果也很重要。
元伪标签Meta Pseudo Labels (Pham et al. 2021)根据学生在标记数据集上的表现反馈不断调整教师模型。教师和学生并行训练,教师学习生成更好的伪标签,学生从伪标签中学习。
和学生模型在标记样本上的损失被定义为一个的函数,我们希望通过相应地优化教师模型来最小化这种损失。
的一步梯度更新近似于多步
使用软的伪标签,上述目标是可区分的。但是如果使用硬的伪标签,它是不可微的,因此我们需要使用RL,例如REINFORCE。
优化过程在训练两个模型之间交替进行:
学生模型更新: 给定一批无标注样本,我们通过生成伪标签,并使用一步SGD:优化。
教师模型更新: 给定一批标记样本,我们重用学生的更新来优化
此外,将UDA目标应用于教师模型以包含一致性正则化。
具有一致性正则化的伪标签
可以将上述两种方法结合在一起,运行带有伪标签和一致性训练的半监督学习。
MixMatch
MixMatch(Berthelot et al. 2019)作为一种半监督学习的整体方法,通过合并以下技术来利用无标注数据:
一致性正则化: 鼓励模型对受干扰的无标注样本输出相同的预测。
熵最小化: 鼓励模型对无标注数据输出可信的预测。
MixUp增强: 鼓励模型在样本之间具有线性行为。
,和创建它们的增强版本,包含增强样本和无标注样本的预测标签。
是减少预测标签重叠的锐化温度;是每个无标注样本生成的增强样本数量;是MixUp中的参数。
,MixMatch生成个增强样本,,,伪标签是根据平均值进行预测的。
根据消融研究,尤其是在无标注数据上进行MixUp至关重要。去除伪标签分布上的温度锐化会极大地损害性能。对标签预测的多次增强进行平均也是必要的。
参考文献:
[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.
[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.
翻译(引用)自:
Weng, Lilian. (Dec 2021). Learning with not enough data part 1: semi-supervised learning. Lil’Log. https://lilianweng.github.io/posts/2021-12-05-semi-supervised
hi,这里是小牛翻译~
想要看到更多我们的文章,可以关注下
机器翻译学堂(公号或网站)
笔芯~
往期精彩回顾