从他人的错误中学习:避免因数据集偏见而不建模

互联不一般哥 2024-03-14 02:25:13

引用

Victor Sanh1, Thomas Wolf1, Y onatan Belinkov2, Alexander M. Rush.LEARNING FROM OTHERS’ MISTAKES: AVOIDINGDATASET BIASES WITHOUT MODELING THEM[C].2020

摘要

最先进的自然语言处理(NLP)模型通常学习建模数据集偏差和表面形式的相关性,而不是针对预期的底层任务的特征。以前的工作已经证明,当偏见的知识可用时,可以有效地规避这些问题。我们考虑的情况下,偏见的问题可能不明确识别,并显示了一种方法训练模型,学习忽略这些问题的相关性。我们的方法依赖于这样的观察:容量有限的模型主要学习利用数据集中的偏差。我们可以利用这种能力有限的模型的错误,在专家的产品中训练出一个更健壮的模型,从而绕过手工制作有偏见的模型的需要。我们展示了这种方法的有效性,

即使偏差模型没有针对特定偏差,也能保持分布外设置的改进。

1. 介绍

自然语言处理社区在使用预训练语言模型以提高预测准确性方面取得了巨大进展。现在,模型在语言理解的基准上已经超过了人类的表现,如 SuperGLUE。然而,研究表明,这些结果部分是由这些模型驱动的,这些模型检测表面线索,这些线索与标签很好地相关,但可能对预期的潜在任务没有帮助。这种脆弱性导致在人工构建的任务中高估模型性能,在非分配或对抗性的例子中表现较差。

自然语言推理数据集 MNLI 就是一个很好的例子。这个数据集的生成导致了与标签显著相关的虚假表面图案。Poliak 等人强调,否定词(“not”、“no”等)经常与矛盾标签联系在一起。Gururangan 等人表明,完全忽略预期信号,仅根据假设训练的模型可以达到较强的性能。我们将这些表面模式称为数据集偏差,因为给定这些有偏差的特征标签的条件分布很可能在训练数据分布之外的示例中发生变化。

NLP 表示学习的一个主要挑战是生成对这些数据集偏差具有鲁棒性的模型。在这项工作中,我们探索从有偏差的数据集学习的方法,不需要这样一个明确的公式的数据集的偏差。我们首先展示了一个能力有限的模型,我们称之为低能学习者,通过标准交叉熵损失训练学会利用数据集中的偏差。然后,我们调查了这种低能学习者所依赖的偏差,并表明它们与之前人工识别的几个偏差相匹配。基于这一观察结果,我们在专家集合的产品中利用这些有限容量模型来训练一个更健壮的模型,并在从玩具数据集到大型众包基准的各种设置中评估我们的方法:受控合成偏差设置、自然语言推理,和抽取式问答。

我们的贡献如下:(a)我们表明,较弱的学习者倾向于依赖浅层启发式,并强调他们如何重新发现以前的人类识别数据集偏差;(b)我们证明,我们不需要明确地知道或模型数据集偏差,以训练更健壮的模型,更好地推广到非分布的例子;(c)我们讨论了弱学习者的设计选择,并表明了以牺牲分布内性能为代价的高分布外性能之间的权衡。

2. 相关工作

许多研究报告了不同背景下的数据偏差。例如视觉回答问题、故事完成和阅读理解。为了更好的评估方法,研究人员提出收集“挑战”数据集,这些数据集可以解释模型可能采用的表面相关性。没有特定鲁棒训练方法的标准模型在这些挑战集上进行评估时,常常会出现性能下降。

虽然这些工作主要集中在数据收集上,但另一种方法是开发方法,允许模型在训练过程中忽略数据偏差。几个活跃的研究领域通过对抗训练来应对这一挑战,例如遗忘和动态损失调整。以前的工作证明了专家的产品对训练无偏见模型的有效性。在我们的工作中,我们表明,我们不需要明确地建立偏见模型来应用这些去偏见的方法,并且可以使用比以前提出的更普遍的设置。

与这些评估和优化工作正交,数据增强作为一种通过显式修改数据集分布来减少模型偏差的方法引起了人们的兴趣,或者利用人类关于数据集偏见的知识,例如交换男性和女性实体,或者开发动态数据收集和基准。我们的工作与这些努力基本是正交的,并减轻了对这种数据增强方法中常见的人在环设置的需求。

最后,当我们准备提交这篇手稿时,我们意识到一项并行工作(Utama 等人,2020 年),它提出了一种相关的去偏方法,利用浅层模型的错误,而不需要明确地建模数据集的偏差。我们的方法在几个方面是不同的,特别是我们提倡使用有限能力的弱学习者,而 Utama 等人(2020)使用了与在数千个例子中训练的鲁棒模型相同的架构。我们研究了在高容量弱模型的极限下,学习者的能力与最终的学习成绩之间的权衡关系,以及由此产生的少量学习制度。

3. 方法

我们的方法利用专家的产品(Hinton, 2002)将数据集偏差从学习模型中剔除。我们有一个训练集(xi, yi)1≤i≤n 其中每个例子 xi 在 K 个类中有一个标签 yi。我们使用了两个模型 fw(弱)和 fm(主),它们分别产生了对数向量 w 和 m∈RK。fm 和 fw 的专家集合的乘积产生对数向量 e。

我们的训练方法可以分解为两个连续的阶段:(a)用标准交叉熵损失(CE)训练弱学习者,(b)用专家乘积(PoE)训练主(鲁棒)模型 fm 通过从弱学习者的错误中学习。这种方法的核心直觉

是考虑到弱学习者的错误,鼓励稳健模型学习做出预测。

我们不对数据集中存在(或不存在)的偏差做出任何假设,而是依赖于让弱学习者在训练过程中发现它们。此外,与之前的工作(Mahabadi 等人),其中弱学习者具有手工设计的偏见特定结构,我们的方法没有对弱学习者的结构、能力、前训练等做出任何具体的假设。用标准交叉熵对弱学习者进行训练。

最终的目标是生产主要型号的 fm。训练后,弱模型被冻结,仅作为专家产品的一部分使用。由于弱模型是冻结的,训练过程中只有主模型 fm 得到梯度更新。这与 He 等人(2019)相似;但与 Mahabadi 等人(2020)不同,Mahabadi 等人联合训练弱模型和主要模型。为方便起见,我们将公式 1 预测 e 的交叉熵称为 PoE 交叉熵。

分析:鲁棒模型从弱学习者的错误中学习

为了更好地探讨 PoE 训练对弱学习者的影响,我们考虑了逻辑回归二分类的特殊情况。这里 w 和 m 是标量对数,softmax 变成了 s 形。损失专家产品的一个积极例子是:

对数 w 是一个固定值,因为弱学习者是冻结的。我们也定义弱学习者的熵为 Hw=−plog(p)−(1−p) log(1−p),其中 p = σ(w)作为我们的确定性度量。在主模型中,弱学习者的不同 w 值诱导出不同的梯度更新。图 1a 为主模型对数 m 的梯度更新,三条曲线分别对应弱模型 w 的不同值

图 1:对梯度的分析揭示了 3 个区域,梯度被弱学习者的确定性和正确性所改变。这 3

个区域出现在真实数据集如 MNLI 中

弱模型是确定的/不正确的:第一种情况(蓝色)对应的 w 值低,熵值低,弱模型的损失高。主模型即使在正确分类点(≈m = 5)时也会接收到梯度,这鼓励 m 对弱模型的错误进行补偿。

弱模型是不确定的:第二种情况(红色部分)对应 w = 0,这意味着弱模型的熵是高的(所有类的均匀概率)。此时,专家的乘积等于主模型,梯度等于交叉熵得到的梯度。

弱模型是肯定的/正确的:第三种情况(绿色)对应 w 的高值,熵值低,弱模型的损耗低。在这种情况下,m 的梯度在早期被“裁剪”,主模型平均接收到较少的梯度。当 w 非常高时,m 不会接收梯度(当前的例子将被忽略)。

换句话说,m 接收梯度的 logit 值根据弱模型的正确性和确定性进行了移动。图 1b 显示了 MNLI (Williams et al., 2018)在 2D 坐标(正确性,确定性)上投影的训练示例的集中程度(见 4.1 节)。我们观察到这 3 个案例有很多例子。更重要的是,我们验证了特定/不正确的组不是空的,因为该组中的示例鼓励模型不依赖于数据集偏差。

4. 实验

我们考虑了几个不同的实验设置,探索使用弱学习者孤立和训练对抗数据集偏差。所有的实验都是在英文数据集上进行的,并遵循 BERT 训练的标准设置。我们的主要模型是 BERT-base (Devlin et al., 2019),具有 1.1 亿个参数。除非另有指示,否则我们的弱学习者是一个更小的被称为 TinyBERT (Turc 等人,2019)的预训练蒙面语言模型,参数为 4M(2 层,隐藏大小为 128)。弱学习者被精确调整到与我们的主要模型完全相同的数据上。例如,当在 MNLI 上训练时,它在匹配的开发集上获得 67%的准确率(相比之下,BERT-base 上的准确率为 84%)。

我们的部分讨论依赖于自然语言推理,这在该领域已经被广泛研究。分类的任务是确定假设陈述是真(蕴含),假(矛盾)或未确定(神经)给定的前提陈述。MNLI (Williams et al., 2018)是使用 433K 标记示例来研究这个问题的规范大规模英语数据集。对于评估,它以匹配集(来自训练中遇到的域的例子)和不匹配集(在训练中没有看到的域)为特征。

实验首先定性地检验了该方法所提取的伪相关。然后在一个综合实验装置上验证了该方法的有效性。最后,我们通过评估几个非分布集上的鲁棒模型来验证我们的方法的效果,并讨论了弱学习者的选择。

4.1 弱学习者重新发现之前报告的数据集偏差

大多数规避数据集偏差的方法都需要对偏差进行明确的建模,例如使用仅局限于 NLI 假设的模型(Gururangan 等人,2018 年)。这些方法是有效的,但需要隔离数据集中存在的特定偏见。由于这个过程成本高、耗时长且容易出错,因此期望对所有新数据集进行这样的分析是不现实的。相反,我们假设弱学习者的操作方式与快速表面学习者相似(zeller 等人,2019),在没有特定信号或输入管理的情况下就能识别数据集偏差,并相当确定他们的有偏误差(对有偏预测误差有高确定性)。

我们首先调查了我们的弱学习者是否重新发现了 NLI 基准上报告的两个著名的数据集偏差:(a)假设中负面词汇的存在与矛盾标签高度相关(Poliak 等人,2018;Gururangan 等人,2018),(b)前提和假设之间的高词重叠与蕴含标签高度相关(McCoy 等人,2019b)。

为此,我们在 MNLI 上对较弱的学习者进行微调(Williams 等人,2018 年)。我们提取并手工分类 1000 个训练样本错误预测的弱学习者(高损失和高确定性)。表 1 按类别对它们进行了细分。这些不正确的例子中有一半被错误地预测为矛盾,几乎所有这些在假设中包含一个否定。另外一半的例子被错误地预测为“蕴涵”,其中大多数在前提和假设之间呈现出高度的词汇重叠(共有 5 个或更多的单词)。因此,当假设中包含否定词时,弱学习者似乎会以高确定性预测矛盾标签;当前提/假设之间存在强烈的词汇重叠时,则以高确定性预测标签。

表 1:1000 个最重要的/不正确的训练例子的分解。

这一分析是基于文献中提到的一组偏见,并没有排除弱势学习者发现其他偏见的可能性。例如,在这项调查中,我们注意到,假设中出现的“消极情绪”词汇(例如:枯燥、无聊)似乎经常预示着矛盾预测。对于这种行为,我们将进一步的研究留到以后的工作中。

4.2 合成实验:作弊特征

我们考虑 He 等人(2019)描述的受控合成实验;Clark 等人(2019)模拟了偏见。我们通过注入作弊特征来修改 20,000 个 MNLI 训练样本,该特征以概率 pcheat1 编码一个样本的标签,并在两个不正确的标签中选择一个随机标签。为简单起见,我们考虑前 20,000 个示例。在评价集上,作弊特征是随机的,不传递任何有用的信息。在本实验中,作弊特征的形式是在假设中添加一个前缀(“0”代表矛盾,“1”代表蕴含,“2”代表中立)。我们在这 20,000 个样本上训练弱模型和主要模型,并评估它们在匹配开发集上的准确性。2 .我们预期偏倚模型主要依赖作弊特征,从而导致较差的评估绩效。

图 2 显示了结果。随着包含偏倚的样本比例的增加,弱学习者的评价准确率迅速下降,在 pcheat= 0.9 时达到 0%。弱学习者在训练过程中检测到作弊特征,主要依赖于综合偏倚,而综合偏倚并不直接指示金标签。

图 2:使用作弊功能的模型在 MNLI 上匹配开发集的准确性用 PoE(主模型)训练的模型对这种综合偏差不太敏感。

从图 2 可以看出,当大部分训练样本包含偏差(pcheat≥0.6)时,交叉熵训练的模型比 PoE 训练的模型性能下降更快。PoE 训练通过鼓励它从弱学习者的错误中学习,从而导致一个更健壮的模型。当 pcheats 接近于 1 时,模型的训练进入“少射击状态”,在这种状态下,很少有错误预测的有偏差的示例可供学习(遵循有偏差启发式导致错误答案的示例),使用 PoE 训

练的模型的性能也会下降。

4.3 对抗数据集:NLI和QA

NLI :HANS 对抗性数据集(McCoy et al., 2019b)是通过编写模板来生成具有高前提/假设词重叠的示例来构建的,攻击模型依赖于这种偏见。在一个模板中,单词重叠产生了隐含的前提/假设对(启发式的例子),而在另一个模板中,例子与启发式的(非启发式的例子)相矛盾。该数据集包含 30K 个计算示例,在两者之间平均分配。

表 2 表明,弱学习者在分布内集(MNLI)和分布外评价(HANS)上表现出中等的性能,它严重依赖词重叠启发式。与使用标准交叉熵训练的模型相比,专家训练的产品在减少对偏差的依赖方面是有效的,并在启发式非必要示例上获得了显著的收益,从而提高了+24%。

表 2:MNLI 匹配 dev 精度,HANS 精度和 MNLI 匹配硬测试集

分布内数据的小幅退化可能是因为专家培训的产品并不专门针对分布内的性能,而是侧重于弱模型误差。原始交叉熵损失与专家损失乘积(PoE + CE)的线性组合就是为了抵消这种影响。这个多损失目标权衡了分布外的泛化和分布内的精度。在对抗训练中也报道了准确性

和鲁棒性之间的类似权衡。

QA 问题回答模型通常依赖于启发式方法,如类型和关键字匹配,这些启发式方法可以在 SQuAD 等基准测试中表现良好(Rajpurkar 等人,2016)。我们在对抗性 SQuAD 数据集(Jia & Liang, 2017)上进行评估,方法是在原始 SQuAD 的段落中添加干扰句。干扰物的构造是这样的,它们看起来像是问题的一个貌似合理的答案,而又不会改变正确答案或误导人们。弱学习者单独在分布集和对抗集上都表现较差。PoE 训练提高了对抗性能(在 AddSent 上+1%),同时牺牲了一些分布内性能。一个多损耗优化缩小差距,甚至提高对抗鲁棒性(+3%的 AddSent 和+2%的 AddOneSent)。与我们在 MNLI/HANS 上的实验相比,多重丢失训练也可以在非分布情况下获得更好的性能。我们假设,在这个数据集中,较弱的学习者获取了更多有用的信息,而将其完全删除可能是非最优的。在这种情况下,多重损失可以让我们在向弱势学习者学习或移除他们之间取得平衡。

5. 分析

5.1 减少偏倚:相关分析

为了研究弱学习者和主学习者的整体行为,我们计算了弱学习者(有偏差)的元素智能损失和马哈巴迪等人(2020)的训练模型损失之间的皮尔逊相关关系。相关系数为 1 表示实例损失(两个学习者犯同样的错误)之间存在线性关系,0 表示不存在线性关系(模型的错误不相关)。图 3 显示,使用 PoE 交叉熵和标准交叉熵的线性组合训练的模型比单独使用 PoE 训练的模型具有更高的相关性。这证实了 PoE 训练能够有效地减少弱势学习者发现的偏差,并再次强调了添加标准交叉熵会导致两者之间的权衡。

5.2 弱学习者需要达到多弱的水平?

我们认为参数大小是衡量弱势学习者的能力或“弱点”。我们微调了不同大小的 BERT (Turc 等人,2019),范围从 440 万个参数到 4140 万个参数,并将其作为 PoE 设置中的弱模型。图 4b 显示了弱学习者和用各种弱学习者训练的主要模型在 MNLI 和 HANS 上的精度。改变弱模型的容量会影响分布内和分布外的性能。主模型的非分布性能随着弱模型变得更强(参数更多)而增加,直到某一点,而分布内性能先略有下降,然后变得更强。当与较大的 MediumBERT 弱学习者(4140 万个参数)联合训练时,主模型在 HANS 的启发式非限定集上获得 97%的准确率,但在分布内的示例上获得非常低的准确率(在 MNLI 上为 28%,在启发式限定示例上为 3%)。

当一个弱模型的能力增长时,它会成为一个更好的学习者。平均损失减少,模型的预测变得更有信心。结果,确定/正确的组变得更密集,主模型平均接收到更小的梯度大小每个输入。相反,特定/不正确的组(通常与分布外样本对齐,并诱导更高的幅度梯度更新,以牺牲分布内性能为代价鼓励泛化)变得更少。这些结果证实并补充了 Y aghoobzadeh 等人(2019)的观点。这也让人想起 Vodrahalli et al.(2018)和 Shrivastava et al.(2016)的发现:并非所有的训练样本对学习的贡献都是平等的,在某些情况下,精心挑选的训练集子集足以匹配(或超过)整个集合的性能。

图 3:有偏模型(在评估集上)的损失与不同训练方法之间的 Pearson 相关性。PoE 训练可以有效地降低与有偏模型的相关性

图 4:弱学习者确保分布外和分布内的良好平衡,而较强的学习者以牺牲分布内性能为代价鼓励分布外泛化。我们在括号中表示参数的数量(以百万为单位)

6. 结论

我们提出了一种有效的训练模型对数据集偏差的鲁棒性的方法。利用能力有限的弱学习者和专家培训设置的改进产品,我们表明,不需要明确知道或建模数据集偏差,就能训练出能够显著更好地推广到非分布示例的模型。我们讨论了这种弱学习者的设计选择,并研究了使用高能力学习者如何导致更高的分布外性能和分布内性能的权衡。我们认为,这种能够自

动识别和消除数据集偏差的方法将是未来发现和消除偏差技术的基本工具。

致谢

本文由南京大学软件学院 2021 级硕士赵辰熹翻译转述,肖媛审核。

0 阅读:0

互联不一般哥

简介:感谢大家的关注