【论文笔记_知识蒸馏_数据增强_2022】When Chosen Wisely, More Data Is What You Need

When Chosen Wisely, More Data Is What You Need: A Universal Sample-Efficient Strategy For Data Augmentation

请添加图片描述

摘要

众所周知,数据增强(DA)可以提高深层神经网络的泛化能力。大多数现有的DA技术天真地添加一定数量的增强样本,而不考虑这些样本的质量和增加的计算成本。为了解决这个问题,一些最先进的DA方法采用的一种常见策略是,在训练期间根据任务目标自适应地生成或重新加权增强样本。然而,这些自适应DA方法:(1)计算成本高,采样效率低,(2)仅为特定设置而设计。在这项工作中,我们提出了一种通用的DA技术,称为Glitter,以克服这两个问题。Glitter可以插入任何DA方法,使训练样本在不牺牲性能的情况下变得高效。Glitter从预先生成的增强样本池中自适应地选择损失最大的最坏情况样本子集,类似于对抗性DA。在不改变训练策略的情况下,可以在所选子集上优化任务目标。我们对GLUE benchmark、SQuAD和HellaSwag在三种广泛使用的训练设置(包括一致性训练、自我蒸馏和知识蒸馏)中进行了彻底的实验,结果表明,与强大的基线相比,Glight的训练速度要快得多,并取得了有竞争力的表现。
代码地址:https://github.com/华为noah/KD-NLP/tree/main/Glitter

1.介绍

现有的数据增强方法的问题:首先,DA方法大多不具有样本效率,因为它们向训练数据中添加任意数量的增强样本,并天真地将所有这些样本纳入训练,而不调查实际需要多少增强样本。第二,尽管任务感知方法更有效,但众所周知,训练起来非常耗时。这在大规模数据集中尤其有问题,比如SQuAD(Rajpurkar等人,2016年)和MNLI(Williams等人,2018年)。第三,大多数DA方法都不是通用的,因为它们只适用于特定的设置,例如,训练单一网络(Xie等人,2020年),或在教师和学生环境中训练(Rashid等人,2021年)。总的来说,DA的样本效率和培训效率的重要性经常被忽视。

基于上述问题,在这项工作中,我们介绍了一种通用的DA方法Glitter,它可以插入到任何DA方法中,使它们在不牺牲性能的情况下提高采样效率和任务意识。具体而言,考虑到离线生成的扩充样本池,我们提出的方法遵循极小极大方法(Farnia和Tse,2016),以选择在训练期间具有最大预期损失(最大化步骤)的小子集。不需要对训练算法进行任何进一步调整,就可以针对所选子集优化任务目标(最小化步骤)。

我们在本文中的主要贡献可以总结如下
1.GLITRE是一种通用方法,可轻松应用于任何DA方法,以提高样本效率,同时保持(甚至提高)其性能。
2.我们制定策略,使GLITER适应各种广泛使用的培训设置,包括单一网络、一致性培训、自我蒸馏和知识蒸馏。
3.通过我们的实证评估,我们发现Glight在GLUE、SQuAD和HellaSwag上的表现优于最先进的DA方法,同时显著加快了训练速度。

2.相关工作

2.1 NLP中的不可感知DA

2.2 NLP中的感知DA

2.3 KD中的DA

3.方法

在本节中,我们将介绍我们的任务感知DA方法GLIGRT,该方法旨在在不牺牲性能的情况下使用有效数量的增强样本。我们提出的策略与DA方法无关;它可以无缝地插入任何DA方法和任何训练设置,以提高样本效率。 现有的基于学习的DA方法训练单独的DA模型,并根据完全依赖于任务的特定目标函数调整其输出: 请添加图片描述
其中L DA()是一个损失函数,面向任务的目标,Ω(;φ)是具有可训练参数φ的DA模型,M(;θ)是由θ参数化的原始模型。

与基于学习的DA相比,我们建议在训练前使用任意DA方法生成多个增强候选者,并在训练期间自适应地选择最合适的候选。该程序不会在训练中引入额外的可训练参数,更重要的是,它能够自动忽略不必要的增强示例。设(xi,yi)N i=1∈ {(x,y)}表示训练数据,使得一对xi∈ X和yi∈ Y是一个输入示例及其对应的标签。假设从每个训练示例(xi,yi)的某个DA模型中抽取一组K个增广示例,请添加图片描述。注意Glitter对如何增加训练数据没有限制;增强样本可以通过单个甚至多个DA模型生成。

样本选择:给定一个扩充样本库,我们的方法是根据特定定义的标准自适应地选择最佳候选。受minimax方法(Farnia and Tse,2016;V olpi et al.,2018)的启发,我们的选择机制基于从X’集中找到top-k1(K中的)最坏情况下的增强样本。在这些最坏情况下增加的样本上最小化主模型损失函数将有助于改进模型的泛化(V olpi et al.,2018)。为了对增强样本进行排序,我们根据模型的潜在空间内的对应的原始训练样本xi来评估X’(i):
请添加图片描述
其中top k1()表示根据L eval,X’*(i)返回的分数返回top-k1指数,X’∗(i)是xi的一组根据k1选择的增强样本;L eval()是通过任务目标确定的评估损失。

更新模型参数:在获得top-k1扩充样本后,我们将其与原始训练样本进行分组,{xi}∪ X‘∗(i) ,然后,仅基于原始损失上的这组选定的增强样本更新模型参数:
请添加图片描述
其中,N是训练样本数,λ是学习率,L task()是最终的任务损失——例如,对原始数据和选定的增强数据计算的分类的交叉熵(ce)。在本节的剩余部分中,我们将讨论如何将GLITER应用于流行的培训设置,包括单一网络的通用DA和师生(KD)设置的DA。请注意,GLITER不限于这些设置,并可适用于其他设置,如DAIR(Huang等人,2022年)。

3.1单个网络的通用DA
我们考虑单个网络场景的三个潜在设置:(1)一般的单一网络,(2) 自蒸馏和(3)一致性训练。

通用的单一网络 :在这种设置中,以半监督的方式利用增强样本,我们可以根据预测结果的差异对它们进行评估M(x’k(i);θ) =p(y | x’k(i),θ) 根据真实标签或原始训练样本请添加图片描述的预测,使用交叉熵损失,L ce:
请添加图片描述
交叉熵不是唯一标准。L eval评估的其他标准项包括(但不限于)焦点损失(林等人,2017年)和倾斜损失(李等人,2021年)。 对于最终的任务损失,我们可以在训练样本及其相应的选定增强样本上部署标准交叉熵损失L task:
请添加图片描述
一致性训练(CT; Xie et al. 2020).:在这种配置中,我们可以使用等式(4)中引入的相同L eval。因此,我们的方法自然地为每个训练样本选择top-k1最不一致的增强样本。然后,对网络进行优化,以预测与相应原始训练样本预测一致的输入增强样本:
请添加图片描述
如谢等人(2020)所述,等式(6)中的第二项利用了之前对每个训练示例的网络预测。

自蒸馏(Self-KD):在自蒸馏中,我们首先训练一个模型,然后使用它(M(;θ)∗)) 作为一名教师,培训一个相同的模型,但使用KD从头开始初始化(Furlanello等人,2018年)。如何调整L eval和L task详见3.2。

3.2 Teacher-Student中的DA(KD)
在这个设置中,我们有一个使用已经在训练数据上训练的参数ψ的教师模型T(;ψ) ,以及我们要训练的学生模型M(;θ)。增广样本的选择标准是最大化教师和学生之间的差异:
请添加图片描述
其中,L KL指的是KL散度。选择最大散度的增强样本后,我们计算KD损失如下:
请添加图片描述
其中,α是超参数。

4.实验

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值