博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
论文解读 | Unsupervised Data Augmentation for Consistency Training
阅读量:4290 次
发布时间:2019-05-27

本文共 6894 字,大约阅读时间需要 22 分钟。

单 位:燕山大学

作 者: 王   琴

摘要

  深度学习尽管取得了很大的成功,但通常在带有小标签的训练集上不能很好地发挥作用。在这种情况下,数据增强在减少对标记数据的需求方面显示出了更大的优势,但是到目前为止,它主要应用于有监督的环境中,并获得了有限的效果。在本文中,作者建议在半监督学习环境中将数据增强应用于未标记的数据,使用的方法称为“无监督数据增强”(Unsupervised Data Augmentation, UDA),使模型预测在未标记样本和扩充的未标记样本之间保持一致。与以前使用诸如高斯噪声或压降噪声之类的随机噪声的方法不同,UDA利用了由最新数据生成的更难、更逼真的噪声增强方法。即使标记数据集非常小,这个不同也使得它在六个语言任务和三个视觉任务有了实质性改进。 例如,在仅带有20个标记样本的IMDb文本分类数据集上,UDA的错误率达到4.20,胜过了在25,000个标记样本上训练的最新模型。 在标准的半监督学习基准CIFAR-10和SVHN上,UDA的性能优于所有以前的方法,在只有4,000个样本的CIFAR-10上实现了2.7%的错误率;在仅有250个示例的SVHN上实现了2.85%的错误率,几乎与大一到两个数量级的全带标签训练的模型性能相同。UDA在大型数据集(如ImageNet)上也能很好地作用。 当使用10%的标记数据集进行训练时,UDA将top-1 / top-5的准确性从55.1 / 77.3%提高到68.7 / 88.5%。 对于具有130万额外未标记数据的完整ImageNet数据集,UDA进一步将性能从78.3 / 94.4%提升至79.0 / 94.5%

1. 简介

  深度学习通常需要大量标记数据才能成功。 但是,对每个新的目标任务来说,标记数据的获得是一个昂贵的过程。 利用未标记的数据来改善深度学习一直是解决此过程的重要研究方向。 在这个方向上,半监督学习是最有前途的方法之一,最近的研究可以分为三类:

  (1)通过图卷积和图嵌入进行基于图的标记传播;

  (2) 将预测目标建模为潜在变量(latent variables);
  (3)一致性/平滑度执行。

  其中,最后一类的方法,即基于平滑度执行的方法,已被证明在许多任务上都能很好地作用。简而言之,平滑度强制只是将模型的预测调整为对样本(有标记或未标记)的小扰动不太敏感。 给定一个观测样本,平滑度强制方法首先创建它的扰动版本(例如,通常通过添加诸如高斯噪声或压降之类的人工噪声),并使得模型对这两个样本有相似的预测。好的模型应该不会被对任何不会改变样本性质的小扰动所影响。在这种通用框架下,该类方法的主要区别在于扰动方法,例如,扰动样本应该如何生成。

  作者在各种语言和视觉任务上评估了UDA。在六个文本分类任务上,作者的方法相对于最新模型取得了重大提升。值得注意的是,在IMDb上,带有20个标记样本的UDA优于在1250倍标记样本上训练的最新模型。作者还在标准半监督学习基准CIFAR-10和SVHN上评估UDA。 UDA明显优于所有现有的半监督学习方法。在具有4,000个带标记样本的CIFAR-10上,UDA的错误率是5.27,几乎与使用50,000个带标记样本的监督模型的性能相匹配。此外,凭借更先进的PyramidNet + ShakeDrop体系结构,UDA达到了2.7的最新错误率。在SVHN上,UDA仅使用250个带标记样本实现了2.85的错误率,几乎与使用73257个带标记样本训练的监督模型的性能相匹配。最后,作者发现当有大量监督数据时,UDA也是有益的。具体来说,在ImageNet任务上,UDA可以将top-1准确性和top-5准确性从58.69 / 80.20%提高到68.66 / 88.52%(带有10%的标记数据集);当使用完整的标记数据集和带有130万个未标记的外部数据集时,将准确率从78.28%/ 94.36%提高到79.04%/ 94.45%

作者的贡献如下(将在本文的其余部分中介绍):

  1. 首先,提出了一种称为TSA的训练技术,当未标记数据远多于标记数据时,该技术可以有效地防止过拟合。
  2. 其次,证明有针对性的数据增强方法(例如AutoAugment)与其他非针对性的数据增强相比有很大提升。
  3. 第三,结合NLP的一组数据增强,并证明了方法行之有效,还补充了表征学习方法,例如BERT。
  4. 第四,本文显示了在一定范围内,与以前的方法相比,在视觉和语言任务上性能有了显着的飞跃。
  5. 最后,开发了一种方法,使得UDA甚至可以应用于标记和未标记数据不匹配的分布。

2. 无监督数据增强(Unsupervised Data Augmentation,UDA)

背景

  在本文中,作者重点讨论分类问题。将使用x表示输入,使用y(x)或y表示其真实输出值,有学习基于输入x预测y的模型pθ(y | x),其中θ表示模型参数。 最后,我们将使用L和U分别表示标记数据集和未标记数据集。

  数据增强旨在通过对样本进行转换而无需更改其标签,从而创建新颖,逼真的训练数据。q(x? | x)是增强变换,可以基于原始样本x产生增强样本x?,且需有y(x?)= y(x)。监督数据的增强可以等效地看作是从原始标记集构造出增强标记集,然后在增强标记集上训练模型。因此,增强集需要提供额外的感应偏置才能更有效。因此,如何设计增强变换就变得至关重要。近年来,在受监管的环境中,针对NLP 、计算机视觉和语音的数据增强设计有了巨大进展。尽管取得了可喜的成绩,但它只提升了稳定但有限的性能,因为到目前为止,这些增强仅应用于一组通常很小标记样本。受此限制的驱使,作者开发了UDA以将有效的数据增强应用于通常数量较大的未标记数据。

UDA

  如引言中所述,半监督学习的最新工作是利用未标记的样本来增强模型的平滑性。 这些作品的一般形式可以概括如下:

  • 给定输入x,通过注入一个小的噪声来计算给定x的输出分布pθ(y | x)和一个受扰动的版本pθ(y | x?)。 噪声可以应用于x或隐藏层,也可以用于更改计算过程。
  • 最小化两个预测分布D(pθ(y | x)||pθ(y | x?))之间的散度度量。

  此过程使模型对扰动不敏感,因此就输入(或隐藏)空间的变化而言更平滑。在本文中,作者对现有的平滑性/一致性执行工作进行了简单的改动,并扩展了使用数据增强作为扰动。 作者建议使用针对不同任务的最新数据增强作为一种特殊形式的扰动,并针对未标记的样本优化相同的平滑度或一致性。 具体来说,根据VAT,选择在预测分布上最小化未标记样本和增强的未标记样本之间的KL差异:

图1
  由于在训练过程中即时进行生成增强数据的成本很高,因此选择离线生成。 对于每个未标记的样本,将生成多个扩充的样本。在加入带标签的样本后,添加了交叉熵损失和加权因子λ,如图2所示。
图2
  通过最小化一致性损失,UDA允许标签信息从有标签样本传播到无标签样本。 对于大多数实验,作者将λ设置为1,并对受监督的数据和无监督的数据使用不同的batch。 结果发现,对于某些数据集,在无监督的数据上使用较大的batch会带来更好的性能.

  与传统的扰动(例如高斯噪声,压降噪声)和简单的增强(例如仿射变换)相比,作者认为针对每个具体任务的数据增强可以作为“噪声”的更有效来源。

  特别地,使用带目标性数据增强作为微扰函数具有以下优点:

  • 有效性扰动:在监督学习中表现出色的数据增强方法可以生成逼真的增强示例,可以安全地对原始未标记样本和扩展的未标记样本进行平滑性或一致性提升。
  • 多样性扰动:数据增强可以生成一组数据集,因为它可以对输入样本进行大量修改而无需更改其标签,而诸如高斯噪声或伯努利噪声之类的扰动仅会引起局部变化。在各种扩展样本上提升平滑度可以显着提高采样效率。
  • 目标归纳偏差:不同的任务需要不同的归纳偏差。在AutoAugment中,可以直接优化数据增强策略,以提高每个任务的验证性能。研究发现,AutoAugment不止在监督学习中优化了模型的性能,而且它的增强策略在半监督学习中效果很好。
文本分类中的数据增强方法
  • 反向翻译(Back translation):反向翻译可以在保留原始句子的语义的同时生成多种释义,并且已被证明可以对QANet的问答性能做出重大提升。因此,对于情感分类数据集(包括IMDb,Yelp-2,Yelp-5,Amazon-2和Amazon-5),可以采用反向翻译系统来训练数据。作者发现,句子的多样性比质量或有效性更为重要。因此,采用了可调的随机采样来代替光束搜索来生成。 更具体地说,使用了WMT 14语料库训练英语到法语和法语到英语的翻译模型,并对每个句子(而不是整个段落)执行反向翻译,因为WMT 14中的并行数据用于句子级别的翻译,而情感分类语料库中的输入示例为段落。
  • 基于TF-IDF的单词替换。 虽然反向翻译擅长于维护原始句子的全局语义,但不能保证它会保留某些单词。 但是,DBPedia的任务是预测Wikipedia页面的类别,在确定类别时,某些关键字比其他单词具有更多的信息性。 因此,作者提出一种称为基于TF-IDF的单词替换的增强方法,该方法将替换通常具有较低TF-IDF分数的非信息性单词,同时保留具有较高TF-IDF分数的关键字。
    研究发现权衡数据增强方法的多样性和有效性是有益的。对于图像分类,由于AutoAugment根据监督设置中的验证集性能进行了优化,因此会自动在多样性和有效性之间找到最佳结合点;对于文本分类,可以通过调整随机采样的温度系数。一方面,当温度系数为0时,通过随机采样进行的解码会退化为贪婪解码,并生成完全有效但完全相同的样本。另一方面,当温度系数为1时,随机采样会生成非常多样化但几乎不可读的样本。作者发现将Softmax温度设置为0.7、0.8或0.9可获得最佳性能。

3. 其他训练技巧

训练信号退火(Training Signal Annealing,TSA)

  由于获取未标记的数据比标记的数据容易得多,因此在实践中,经常遇到这样一种情况,即未标记的数据量和标记的数据量之间存在很大的差距。 为了使UDA能够利用尽可能多的未标记数据,通常需要足够大的模型,但是较大的模型可能会很容易导致数量有限的标记数据过拟合。 为此,作者引入了一种称为训练信号退火(TSA)的新训练技术。

  TSA的主要思想是,随着模型在越来越多的未标记数据上进行训练,逐渐释放标记样本的训练信号。 具体来说,对于每个训练步骤t,将阈值设置为1/K≤ηt≤1,其中K为类别数。 当标记样本的正确类别pθ(y ? | x)的概率高于阈值ηt时,就从损失函数中删除该样本,仅对小批量中的其他标记样本进行训练。 给定一小批带有标记的数据B,模型的目标如下:

在这里插入图片描述
  其中I(·)是指标函数,Z 是归一化因子。 阈值ηt充当上限,以防止模型对模型已经确定的样本进行过度训练。 当在训练过程中将ηt从1 / K逐渐退火到1时,该模型只是缓慢接受标记样本的监督,从而大大缓解了过拟合问题。

增强预测(Sharpening Predictions)

   在问题很困难且标记样本数量非常少的情况下,基于未标记样本和增强的未标记样本的预测分布在各个类别上往往过于平坦。 因此,来自KL散度的无监督训练信号相对较弱,因此受到受监督部分的支配。作者发现增强未标记样本上产生的预测分布很有帮助,并可采用三种技术: Confidence-based masking、Entropy minimization、Softmax temperature controlling。实际上,作者发现结合使用Confidence-based masking和Softmax temperature controlling在标记数据量非常少时最有效,而熵最小化在标记数据量相对较大的情况下效果很好。

领域相关数据过滤

  理想情况下,希望使用域外未标记的数据,因为通常它们更容易收集,但是域外数据的类分布通常与域内数据的类分布不匹配。因此,使用域外的未标记数据会损害性能。 为了获得与手头任务领域相关的数据,作者采用了一种常见的技术来检测域外数据——使用在域内数据上训练的基线模型来推断大型域外数据集中的数据标签,并挑选出该模型最有信心的样本(在类之间平均分布)。 具体来说,就是对于每个类别,根据属于该类别的分类概率对所有域外样本进行排序,然后选择概率最高的样本。

4. 实验

文本分类实验
  • 数据集:作者对六种语言数据集进行了实验,包括IMDb,Yelp-2,Yelp-5,Amazon-2,Amazon-5和DBPedia。
  • 实验设置: 采用BERT中使用的Transformer模型作为基准模型。 然后,考虑四种初始化方案:随机transformer、BertBase、BertLarge或BertFinetune。 后一种微调策略是受ELMo 和ULMFiT启发,表明对特定域的数据进行微调可以提高性能。
  • 结果:表1显示了文本分类的结果,包含了三个要点:
    1. 首先,无论模型初始化方案如何,UDA都会不断提高性能。最值得注意的是,即使在域内数据上进一步对BERT进行微调时,UDA仍可以将IMDb上的错误率从6.50%显著降低到4.20%。该结果表明,UDA提供的好处与表示学习的好处是互补的。
    2. 其次,与使用完全监督训练的SOTA模型相比,UDA可以提供较少数量的监督样本,因此UDA可以提供更好的性能。特别是在二分类情感分类任务中,UDA仅具有20个标记的样本,其性能优于以前在IMDb上受完全监督训练的SOTA,并且在Yelp-2和Amazon-2上也非常接近。
    3. 最后,五分类情感分类任务比其二元分类困难得多,并且在每个类有500个带标记样本的UDA和在整个监督集上训练的BERT之间仍然存在明显的差距。这表明将来还有改进的空间。
      表1
    • 标记集大小对结果的影响。 同时,作者还使用不同数量的标记集评估了UDA的性能,结果如图4所示。
      图4
与半监督学习方法的比较
  • 实验设置: 按照标准的半监督学习设置,将UDA与先前在CIFAR-10和SVHN进行了比较,采用WideResNet-28-2作为我们的基准模型。 我们将UDA与Pseudo-Label(基于自训练的算法),虚拟对抗训练(VAT,对输入生成对抗性高斯扰动的算法)在Π-Model、Mean Teach、MixMatch上进行了比较。

  • 与现有的半监督学习方法的比较。对比如图5所示。UDA以明显的优势胜过现有所有方法,包括MixMatch并行模型。例如,对于250个样本,UDA在CIFAR-10上的错误率是8.41,在SVHN上是2.85,而MixMatch在CIFAR-10上的错误率是11.08,在SVHN上是3.78。有趣的是,当未使用AutoAugment时,UDA可以匹配在完全监督的数据上训练的模型的性能。

    图5

消融实验
  • TSA:作者研究了TSA对具有大量未标记数据的两个任务的影响:
    • Yelp-5:在此文本分类任务上,大约有600万个未标记样本,而只有2.5k个标记样本。在本研究中,我们没有通过BERT初始化网络来排除具有预训练表示的因素
    • CIFAR-10:有5万个未标记的样本,而有4k个标记的样本。
      如表5所示,在Yelp-5上,未标记数据比标记数据多得多,与没有TSA的基线相比,TSA可使错误率从50.81%降低至41.35%。
      表5
    • 增强方法。诸如AutoAugment之类的增强方法已可以在监督学习中显着提高性能。在本文中,作者想研究有针对性的增强在应用于未标记数据时是否有效,以及在监督学习中增强方法的改进是否可以导致我们在半监督学习环境中性能的提升。

  首先,如表6所示,如果将通过AutoAugment在SVHN上找到的增强策略应用于CIFAR-10(由Switched Augment表示),错误率将从5.10增加到5.59,这证明了目标性数据增强的有效性。此外,如果我们去除Augment并仅使用Cutout,那么错误率将增加到6.42。最后,如果仅使用简单的裁剪和翻转作为增强,则错误率将增加到16.17。在SVHN上,不同增强方法的效果相似。

表6

结论

  本文证明了数据增强和半监督学习是紧密相连的。UDA使用高度针对性的数据增强来生成各种逼真的扰动,并使模型相对于这些扰动保持平稳。 本文还提出了TSA技术,当有很多未标记的数据时,该技术可以有效地防止UDA过度拟合受监管的数据。 对于文本任务,UDA可以与表示学习(例如BERT)很好地结合在一起,并且在小数据集上非常有效。对于图像任务,UDA在性能指标较高的半监督学习设置中将错误率降低了30%以上。

代码链接:

论文链接:

转载地址:http://zhmgi.baihongyu.com/

你可能感兴趣的文章
Android中实现微信本地视频发布到朋友圈功能
查看>>
非替代品,MongoDB与MySQL对比分析
查看>>
Hadoop平台相关技术
查看>>
java学习11天-自定义异常&异常转换(实例应用)
查看>>
MySql、SqlServer、Oracle数据库行转列大全
查看>>
程序员常用的自助建站资源汇总!
查看>>
分布式与集群的区别是什么?
查看>>
MySql常用必备脚本大全
查看>>
Velocity初探小结--velocity使用语法详解
查看>>
设计模式学习 - Singleton Pattern
查看>>
学习Spring——依赖注入
查看>>
CSS3 transform 属性详解
查看>>
Java对象内存结构及大小计算
查看>>
Spring MVC注解的一些案列
查看>>
Web大文件断点续传,快来看看吧!
查看>>
javascript高级编程3第二章:在html中使用javascript
查看>>
Android中热修复框架AndFix原理解析及案例使用
查看>>
手写代码实现EventBus
查看>>
关于JSON的相关知识
查看>>
SpringMVC基础_常用注解
查看>>