【新智元导读】 曾经狂扫 11 项记录的谷歌 NLP 模型 BERT,近日遭到了网友的质疑:该模型在一些基准测试中的成功仅仅是因为利用了数据集中的虚假统计线索,如若不然,还没有随机的结果好。这项研究已经在 Reddit 得到了广泛的讨论。
NLP 神话被质疑。
自去年谷歌发布 BERT 以来,这个曾狂破 11 项纪录、全面超越人类的 NLP 模型就备受关注,热度不减。
然而,近日一位 Reddit 网友却对此抛出质疑:BERT 在一些基准测试中的成功仅仅是因为利用了数据集中虚假的统计线索。若是没有它们,可能还没有随机的结果好。
这项论文是由台湾成功大学的研究人员完成。
论文地址:
研究人员表示:
我们惊讶地发现 BERT 在参数推理理解任务中的峰值性能达到 77%,仅比平均未经训练的人类基线低 3 个点。但是,我们表明这个结果完全是通过利用数据集中的虚假统计线索来解释的。
我们分析了这些线索的性质,并证明了一系列模型都在利用它们。该分析报告了一个对抗性数据集的构造,所有模型都在该数据集上实现随机精度。
Reddit 网友 lysecret 对此研究表示:
他认为这是一种非常简单而有效的方法来表明这类模型是不能正确地做到 “理解” 的,智能利用 (不好的) 统计线索。然而,对于大多数人 (除了埃隆・马斯克) 来说可能都会认为,像 BERT 这类模型的就是这么做的。
BERT 在论证理解方面真的学到什么了吗?
论证挖掘是确定自然语言文本中的论证结构的任务。例如,哪些文本段代表 claim,并且包括支持或攻击这些 claim 的 reason。
对于机器学习者来说,这是一项具有挑战性的任务,因为即使是人类也很难确定两个文本段何时处于争论关系中,正如对论证注释的研究所证明的那样。解决这个问题的一个方法是专注于 warrant (权证)—— 一种允许推理的世界知识形式。
考虑一个简单的论点:“(1)正在下雨;因此(2)你应该拿一把伞。” warrant “(3)弄湿是不好的” 可以许可这个推论。知道(3)有助于得出(1)和(2)之间的推论联系。
然而,很难在任何地方找到它,因为 warrant 通常是隐含的。因此,在这种方法中,机器学习者不仅必须使用 warrant 进行推理,还要发现它们。
论证推理理解任务(ARCT) 推迟发现 warrant 的问题,并侧重于推理。提供了一个包含 claim C 和 reason R 的论点。该任务是在分心器上选择正确的 warrant W,称为备选 warrant A。
该备选方案的书写方式是 R∧A→¬C。之前例子的另一种保证可能是 “(4)湿是好的”,在这种情况下我们有(1)∧(4)→“(¬2)你不应该拿伞。” 数据集中的一个例子如图 1 所示。
图 1:ARCT 测试集中的一个数据点示例以及如何读取它。从 R 和 A 到 ¬C 的推论是通过设计得出的。
ARCT SemEval 共享任务,验证了该问题的挑战性。即使提供 warrant,学习者仍需要依赖进一步的世界知识。
例如,为了正确地对图 1 中的数据点进行分类,至少需要知道消费者选择和网络重定向如何与垄断概念相关,并且 Google 是搜索引擎。除了一个参与系统之外,所有参与共享任务的系统的准确度不能超过 60%(二进制分类)。
因此,令人惊讶的是,BERT 以其最佳运行(表 1)实现了 77%的测试集精度,仅比平均(未训练的)人类基线低 3 个点。如果没有为这项任务提供所需的世界知识,那么期望它表现如此之好似乎是不合理的。这就激发了一个问题:BERT 在论证理解方面学到了什么?
表 1:基线和 BERT 结果。我们的结果来自 20 个不同的随机种子(± 给出标准偏差)。BERT Large 的平均值受到 5/20 随机种子的影响而不能训练,这是 Devlin 等人提出的一个问题。因此,我们认为中位数是衡量 BERT 平均表现的更好指标。BERT(大)的非退化运行的平均值为 0.716±0.04。
为了研究 BERT 的决策,工作人员研究了数据点,发现在多次运行中很容易分类。对 SemEval 提交进行了类似的分析,并且与他们的结果一致,发现 BERT 利用了 warrant 中提示词的存在,特别是 “not” 。通过探索旨在隔离这些影响的实验,研究人员在这项工作中证明了 BERT 在利用虚假统计线索方面的惊人之处。
但是,结果表明 ARCT 是可以消除主要问题的。由于 R∧A→¬C,我们可以添加每个数据点的副本,其中 claim 被否定并且标签被反转。
这意味着 warrant 中统计线索的分布将反映在两个标签上,从而消除了信号。在这种对抗性数据集上,所有模型都是随机执行的,BERT 实现了 53%的最大测试集精度。
因此,对抗性数据集提供了对参数理解的更可靠的评估,并且应该被用作该数据集的未来工作的标准。
实验表明:BERT 并不能做出正确 “理解”,只能利用统计线索
如果一个模型正在利用标签上的分布线索,那么如果只训练 warrant (W),它应该表现得相对较好。
同样的道理也适用于仅删除 claim、保留 reason 和 warrant (R,W) 或删除 reason (C,W)。
后一种设置允许模型额外考虑 reason 和 claim 中的线索,以及与 warrant 组合相关的线索。
表 3 用 BERT Large、BoV 和 BiLSTM 作为基线探测实验结果
实验结果如表 3 所示。仅在 warrant (W) 上,BERT 的准确率最高可达 71%。与其最高峰值的 77% 差了 6 个百分点。
而 (R,W) 比 (W) 增加了 4 个百分点,(C,W) 增加了 2 个百分点,这就是刚才说到了那 6 个百分点。
基于这一证据,研究人员发现 BERT 的全部表现可以通过利用虚假的统计线索来解释。
对抗性测试集
由于数据集的原始设计,消除了 ARCT 中标签统计线索的主要问题。
鉴于 R∧A→¬C,可以通过否定 claim 并反转每个数据点的标签来产生对抗性示例(如图 4 所示)。
图 4 原始和对抗数据点。claim 被否定,warrant 被交换。W 和 A 的标签分配保持不变。
然后将对抗性示例与原始数据进行组合。这通过镜像两个标签周围的提示分布来消除该问题。
验证和测试集中大多数 claim 的否定已经存在于数据集中的其他地方。剩下的 claim 被一个以英语为母语的工作人员人工进行动否定。
研究人员尝试了两种实验设置。
首先,在对抗集上评估在原始数据上训练和验证的模型。由于过度拟合原始训练集中的线索,所有结果都比随机差。
其次,模型在对抗性训练和验证集上从头开始训练,然后在对抗性测试集上进行评估。 其结果如表 4 所示。
表 4 BERT Large 在具有对抗性训练和验证集的对抗性测试集上的结果。
BERT 的峰值性能降低至 53%,平均值和中值为 50%。从这些结果中得出结论,对抗性数据集已成功地消除了预期的线索,从而提供了对机器参数理解的更可靠的评估。
这一结果更符合研究人员对这个任务的直觉:由于对这些论点背后的现实知之甚少或一无所知,良好的表现应该是不可行的。
任务描述、基线、BERT 与统计线索
任务描述和基线
设 t i = 1, . . . ,n 索引数据集 D 中的每个点,其中 | D | = n。在每种情况下,两个候选 warrant 被随机分配二进制标签 j ∈ {0, 1},使得每个具有相同的正确概率。输入是 c(i)的表示,reason r(i),保证零 w0(i),并且保证一个 w1 (i) 。标签 y(i)是对应于正确授权的二进制指示符。所有模型的一般体系结构如图 2 所示。学习共享参数 θ 以独立地使用参数对每个 warrant 进行分类,得到 logit:zj(i)=θ[ c(i); r(i); wj (i) ]
然后将它们连接起来并通过 softmax 以确定两个 warrant 上的概率分布 p(i)= softmax([z0(i),z1(i)])。那么预测是 y(i)= arg maxj p(i)。基线是一包载体(BoV),双向 LSTM(BiLSTM),SemEval 获胜者 GIST,Botschen 等人的最佳模型,人类表现(表 1)。对于我们的所有实验,我们使用网格搜索来选择超参数,退出正则化和 Adam 进行优化。当验证准确度下降时,我们将学习率 anneal1/10。最终参数来自具有最大验证精度的 epoch。BoV 和 BiLSTM 输入是在 640B 上训练的 300 维 GloVe 嵌入。GitHub 上提供了重现所有实验和详细说明所有超参数的代码。(github.com/IKMLab/arct…)
图 2:我们实验中模型的一般架构。为每对 argument-warrant 独立计算 logit,然后连接并通过 softmax 传递。
BERT
我们的 BERT 分类器如图 3 所示。claim 和 reason 连接在一起形成第一个文本段,与每个 warrant 配对并独立处理。将最终层 CLS 向量传递到线性层以获得对数 zj(i)。整个架构都经过精心调整。学习率为 2e -5,我们允许最多 20 个训练期,从最佳验证集准确度的时期获取参数。我们使用 Hugging Face PyTorch 实现。
图 3:使用 BERT 处理参数一对 argument-warrant。reason(长度为 a 的单词)和 claim(长度 b)一起形构成第一句话,而 warrant(长度 c)是第二句。然后将最终的 CLS 矢量传递到线性层以计算 logit zj(i)。
Devlin et al. 报告说,在小型数据集上,BERT 有时无法训练,产生退化的结果。ARCT 非常小,有 1210 次训练观察。在 5/20 运行中,我们遇到了这种现象,在验证和测试集上看到接近随机精度。这些情况发生在训练准确性也不明显高于随机(<80%)的情况下。除去退化曲线,BERT 的平均值为 71.6±0.04。这将超过先前的技术水平 - 中位数为 71.2%,这是一个比整体平均值更好的平均值,因为它不受退化情况的影响。但是,我们的主要发现是这些结果没有意义,应该被丢弃。在接下来的部分中,我们将重点放在 BERT 的 77%峰值性能上。
统计线索
ARCT 中虚假统计线索的主要来源是标签的不均匀分布。接下来便将展示这些线索的存在和性质。
虽然可能存在更为复杂的线索,但是研究人员只考虑了一元图和二元图的情况。
研究人员的目标是计算模型利用线索 k 的有益程度,以及它在数据集中的普遍程度 (表示信号的强度)。
首先,定义几个概念:
- 线索的适应性 (applicability) :αk,定义为在一个标签上出现的数据点数;
- 线索的生产率 (productivity) :πk,定义为预测正确答案的适用数据点的比例;
- 线索的覆盖率 (coverage) :ξk,定义为适用情况占数据点总数的比例。
表 2 适用 “not” 在 warrant 中的存在来预测 ARCT 中标签的生产率和覆盖率。
表 2 给出了研究人员发现的最强的 unigram 线索 (“not”) 的生产率和覆盖率。它提供了一个特别强的训练信号。虽然它在测试集中的效率较低,但它只是许多这样的线索之一。
研究人员还发现了许多其他的 unigram,尽管总体生产率较低,但大多数是高频词,如 “is”、“do” 和 “are”。与 “not” 连用的 bigram,如 “will not” 和 “can”,也被发现是高效的。
关于作者
论文作者均来自国立成功大学计算机科学与信息工程系智能知识管理实验室,一作 Timothy Niven,目前就读于该校。
Hung-Yu Kao 教授
二作 Hung-Yu Kao,于 1994 年和 1996 年分别获得国立清华大学计算机科学学士和硕士学位。2003 年 7 月,他获得台湾大学电气工程系博士学位。他目前是国立成功大学医学信息学研究所(IMI)和计算机科学与信息工程系(CSIE)的主任。他的研究兴趣包括网络信息检索 / 提取,搜索引擎,知识管理,数据挖掘,社交网络分析和生物信息学。他在国际期刊和会议论文集上发表了 60 多篇研究论文。