弱监督学习--半监督学习(5):UNSUPERVISED DATA AUGMENTATION FOR CONSISTENCY TRAINING

前言

UDA 在19年刚被提出来时,吸引了一大波关注,主要原因有两个:

  • 效果足够惊人。在 CV 上,超越了包括 MixMatch 在内的一众半监督学习框架,成为新的 SOTA 技术。在文本分类问题上,仅用20条有标签数据,就超过了有监督学习下采用2.5万完整标签集的情况。
  • Google 出品。

本文提出了一种基于无监督数据的数据增强方式UDA(Unsupervised Data Augmentation)。UDA方法生成无监督数据与原始无监督数据具备分布的一致性,而以前的方法通常只是应用高斯噪声和dropout噪声(无法保证一致性)。UDA方法利用了一种目前为止最优的方法生成更加“真实”的数据。使用这种数据增强方法,在极少量数据集上,六种语言任务和三种视觉任务都得到了明显的提升。总结一下就是:

  • 将监督学习中常用的数据增强方式应用于半监督学习。
  • 在图像分类中应用RandAugment方法,文本分类中使用Back-translation和Word replacing with TF-IDF方法。
  • 提出TSA方法来处理有标签样本和无标签样本数据不平衡问题。
  • 在6项文本任务和3项图像任务中进行实验,取得优异的结果。

论文链接:https://arxiv.org/pdf/1904.12848v4.pdf
github:https://github.com/SanghunYun/UDA_pytorch

1.半监督方法分类

当前半监督方法可归结为三类:

  • (1)基于图卷积和图嵌入的图标签传播方法。
  • (2)将目标数据作为潜变量进行预测。
  • (3)强制一致/平滑。

第三种方法在许多任务中被证明具有较好的效果。

简单而言,强制平滑方法只是使得模型对应较小的噪声不那么敏感。常用方法就是:对于一个样本,添加一些噪声(例如高斯噪声)然后强制让模型对于加噪和不加噪的数据的输出尽量的相似。直观而言就是一个好的模型,应该能够适应各种小的、不改变样本性质的扰动。通常由于扰动函数的不同会有各种不同的方案。

研究的主要目的/切入点:提出用高质量的数据增强方法代替传统的噪声注入方法,提高训练的一致性。

2.无监督数据增强(UDA)

2.1 有监督数据增强

所谓数据增强就是在保持标签一致的情况下,通过某种转换方法扩充出类似于真实数据的训练数据。简单而言就是,有一个样本 x x x,通过转换函数 q ( x ) q(x) q(x)生成新数据 x a x_a xa,新旧数据有相同的数据标签。通常为了得到的增强数据与原始数据相似,使用的是最大似然估计方法。
数据增强方法可以看成是从有标签数据中扩充出更多的有标签数据,然后用扩充数据进行模型训练。因此,扩充数据相对于原始数据必须是有效的变换(例如图片缩放对图片识别可能有效,图片旋转可能无效)。也因此,如何设计转换函数至关重要。

2.2 无监督数据增强

数据增强一直在监督学习中起着锦上添花的作用,因为到目前为止数据增强通常是用在数据集相对比较小的标记数据集上,以达到扩充数据集的多样性的作用,但是数据增强起到的作用依然是受限的。基于此,我们在一致性训练(即原始输入图片和添加噪声色图片,对模型的输出没有影响,输出是一致的)框架下,把这些监督学习中优秀的数据增强方法扩展到半监督学习任务当中。

当前半监督学习中,利用无标签数据去进一步平滑模型的方法,主要归纳为以下两步:
在这里插入图片描述

  • 先给一个输入x,然后输出分布 p θ ( y ∣ x ) p_{\theta}(y|x) pθ(yx),再给一个添加了噪声的 x x x,输出分布为 p θ ( y ∣ x , ϵ ) p_{\theta}(y|x,\epsilon) pθ(yx,ϵ)
  • 最后最小化以上两个分布的距离。

这个过程有两点好处:

  1. 会让模型对抗噪声的能力得到提高,当输入发生改变的时候,输出不会发生大的变化,会比较平滑.
  2. 可以把标签信息从标签数据传递无标签数据中。

本文提出的UDA训练框架
在这里插入图片描述
上图呈现了对于UDA方法训练目标框架,其中 x ^ \hat{x} x^是经过数据增强方法(RandAugment)增强过的无标签数据。 M M M为当前的训练的预测模型。总损失=标签数据的交叉熵损失+无标签数据的一致性损失,总损失公式如下:
在这里插入图片描述
损失函数由两部分组成,一部分是有监督标签的交叉熵函数,另一部分是无标签的的一致性损失函数(本文使用最小化无标签数据增广数据和无标签数据的KL散度),引入参数 λ \lambda λ是为了平衡监督损失和无监督损失,在该文章中,该参数设置为1(在大多数实验中均如此设置)。并对标签数据和无标签数据使用不同的批处理大小。并发现,在一些数据集上,对无标签数据使用更大的batch会带来更好的性能。 p θ ˇ ( y ∣ x , ϵ ) p_{\check{\theta}}(y|x,\epsilon) pθˇ(yx,ϵ)中的参数是从当前模型中复制过来的,并且这一部分不进行反向梯度更新。

总的来说,前半部损失是为了分类,而后半部分损失则是为了提高系统的鲁棒性。

相比较于传统的加噪方法,例如:高斯噪声、dropout噪声、或者简单的仿射变换,对不同任务进行针对性的数据增强能够生成更加有效的噪声。它具有以下优点:

  • (1)扰动的有效性:让增强数据和原始数据使用相同标签在监督学习中取得了良好性能,因此,对于无标签数据的增强也是类似有效的。
  • (2)扰动的多样性:由于可以对输入数据进行多种方式的改动而不改变数据标签,所以数据增强具有更强的多样性,而例如高斯噪声和贝努力噪声改变了局部信息,因此多样性不好。另外,由于是在一组增强数据集上进行平滑操作,所以数据增强拥有较高的效率。
  • (3)定向归纳偏差:不同的任务需要不同的归纳偏差。如自动增强,数据增强策略可以直接优化以提高验证性能 每项任务。这种面向性能的增强策略可以学会在原始标记集中找出缺少的或最想要的归纳偏差。虽然自动数据增强策略是应用于监督学习任务中的,但是在本文半监督数据增强中,同样有效。

2.3 不同任务的增强策略

正如在第2.2节中所讨论的,针对不同任务有不同数据增强策略。在本节中,将讨论针对不同任务的三种不同的增强方法,并讨论多样性和有效性的平衡问题。主要内容如下:
(1)用于图像分类的自动增强:对于图像分类,“自动增强”,即使用强化学习来搜索图像增强的“最优”组合,其性能明显优于任何人工设计的优化方法。作者使用已发现的增强策略, 在CIFAR-10, SVHN 和 ImageNet上进行了实验,并在 CIFAR-10, SVHN上组合应用了Cutout技术。
(2)应用于文本分类的反向翻译:反向翻译能够在保存语义不变的情况下,生成多样的句式。实验证明,在QANet上,这种策略取得了良好的效果。因此作者在情感分类问题等数据集,如IMDb, Yelp-2, Yelp-5, Amazon-2 、 Amazon-5上采用了这种策略,同时,他们发现,句式的多样性比有效性更重要。因此采用随机抽样代替集束搜索策略(一种贪心策略)。具体而言,作者使用WMT14语料库来训练英语到法语和法语到英语的翻译模型,并对每个句子执行反翻译,而不是整个段落,因为 WMT14中的并行数据是用于句子级翻译,而情感分类语料库中的输入类型是段落。
在这里插入图片描述
(3)应用于文本分类的基于TD-IDF的词替代方法:虽然反向翻译能够很好的进行数据扩充,但是它并不能保证扩充的句子包含关键词。而对于某些任务,如DBPedia任务,它的目标是预测某些句子属于维基百科的哪个词条。因此关键字非常重要,本文研究了一种替代TD-IDF分数低的非关键字而保留富含信息词汇的词替代扩充方案

3 训练技巧

3.1 Training Signal Annealing(TSA)

因为前半部分的标签数据比较少,而后面的无标签数据比较多,所以前半部分必定会随着训练的增加,发生过拟合。为了防止这种过拟合,文章提出了一种Training Signal Annealing (TSA)的方法,该方法仅仅只针对标记数据。通过动态改变阈值来防止过拟合。其具体操作过程如下:
在这里插入图片描述
其中 K K K表示训练数据类别数, T T T为总的训练步数, t t t为当前训练步数,当预测值 p θ ( y ∗ ∣ x ) p_{\theta}(y^*|x) pθ(yx)高于阈值 η t \eta_t ηt的时候,就从总损失中移除该样本的损失。三个图分别代表三种不同的调节方法:对数、线性、指数。

三种函数的适用条件:

  • 当模型容易过拟合时,即模型会在很短的时间内对样本做出高概率的预测,这时我们就期望阈值的增长更慢一下,这样可以删掉更多容易训练的样本,因此可以采取 exp指数函数
  • 当模型很难过拟合,即模型会花费较长时间才能对样本做出高概率的预测,这样相同时间内,模型能够做出高概率预测的样本就比较少,此时需要删掉的样本也比较少,因此我们期望阈值在短时间内会比较大,这样删掉的样本就比较少,因此可以采取 log 对数函数
  • 对于一般的样本,直接采用均匀增长的线性函数就可以。

3.2 Sharpening Predictions

当标签数据很少时,未标签数据和预测的未标签数据分布会很平坦。因此,在计算KL散度时,主要贡献的部分来自于标签数据。例如在Imagenet任务中,使用10%标签数据下,未标签数据的分布明显比标签数据的分布更加平坦。而比较丰富的数据分布是比较有利于模型训练的,因此,提出以下三种锐化方案:

  • (1)基于置信度的mask:对模型预测效果不好的,预测的概率小于一定阈值的标签,不计算一致性损失。
  • (2)最小化熵:最小化熵就是使得预测的增广数据能够拥有一个较低的熵,因此,需要在计算损失时,加上熵的计算。
  • (3)Softmax控制:通过调整Softmax控制输出, p θ ˜ ( y ∣ x ) p_θ^{˜}(y|x) pθ˜(yx)通过Softmax(l(X)/τ)计算,其中 l ( X ) l(X) l(X)表示结果逻辑分布概率, τ τ τ表示温度。 τ τ τ越小,分布越Sharper。

在实验中发现,(1)(3)方案结合使用对于非常少量的标签数据情况很有效,(2)方案适合于标签数据较多的情况。

实验结果

在这里插入图片描述
在这里插入图片描述

总结

在这里插入图片描述
从上图可知,UDA 与 15 年就提出的 Π Model 在算法框架基本一致,唯一的区别在于,在无监督loss中,UDA 采用了 KL 散度来度量差异,而 Π Model 采用了 MSE 来度量。而且目前看起来,用 MSE 会更优。

既然在算法框架上并没有太大改进,为何 UDA 可以脱颖而出,成为新的 SOTA 技术。我们认为大概有以下三点原因:

  • 采用了最先进的数据增强技术,在CV上运用了19年刚被提出来的 RandAugment,在NLP上则综合运用了 Back Translation 和 非核心词替换。这些技术可以保证无标签数据在语义不变的情况下,极大地丰富数据的表现形式。这使得 Consistency Regulation 可以从无标签数据中更有效地捕捉到数据的内在表示,这一点是早前如 Π Model 所无法实现的。
  • 采用了最新的迁移学习模型。在文本分类任务上,研究人员采用 BERT-large 作为基础模型进行微调,由于 BERT 已经在海量数据上进行了预训练,本身在下游任务上就只需要少量数据,再与 UDA 合力,因而可以在 20条有标签数据上实现 SOTA 的表现。
  • 采用了一系列精心设计的训练技巧。这包括平衡控制有监督信号和无监督信号的 TSA 技术,基于 Entropy Regularization 的锐化技术,无标签数据的二次筛选 等等。这些技巧或许是打败同年出生的 MixMatch 的主要原因。

由此可知,UDA 与前面提到几个半监督模型相比,本身在半监督学习框架上并没有太大的创新,其贡献更多的是将近年来深度学习领域其他的新技术和新思想结合进半监督学习中。

参考

https://zhuanlan.zhihu.com/p/138085660
https://www.jianshu.com/p/5d4e18b8de04
https://blog.csdn.net/daixiangzi/article/details/102989630
https://blog.csdn.net/Nin7a/article/details/103133268

  • 4
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
无监督的数据增强是一种用于一致性训练的技术。在机器学习任务中,一致性训练是指通过使用多个不同版本的输入数据来增强模型的鲁棒性和泛化能力。 传统的数据增强技术通常需要手动标注数据,并提供给模型进行有监督学习。然而,当可用的标注数据有限或者成本较高时,无监督的数据增强技术可以用来增加训练数据的数量和多样性,从而改善模型的性能。 无监督的数据增强技术通过对原始数据进行一系列变换和扰动来生成新的训练样本,而这些变换和扰动不需要额外的标注信息。这些变换可以包括图像翻转、旋转、缩放、平移、加噪声等等。通过这种方式,无监督的数据增强可以从有限的训练样本中生成大量的人工样本,有效地扩展了训练数据的规模和多样性。 无监督的数据增强可以用于各种机器学习任务,如图像分类、目标检测、语义分割等。通过在一致性训练中使用无监督的数据增强,模型可以学习到不同版本的输入数据之间的一致性,并提高对于噪声和变化的鲁棒性。例如,在图像分类任务中,模型可以通过看到同一张图像在不同变换下的预测结果来学习更稳定和一致的特征表示。 总之,无监督的数据增强是一种有效的技术,可以通过生成大量的人工训练样本来改善模型的性能。在一致性训练中,无监督的数据增强可以帮助模型学习到不同版本的输入数据之间的一致性,从而提高模型的鲁棒性和泛化能力。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值