快捷搜索:  汽车  科技

bert模型原理详解:带你读论文8篇论文梳理BERT相关模型进展与反思

bert模型原理详解:带你读论文8篇论文梳理BERT相关模型进展与反思可以看出,只输入 w 模型就获得了71%的峰值表现,而输入(R,W)则能增加4%,输入(C,W)则能增加2%,正好71% 4% 2%=77%,这是一个很强的证据。A Cue's Coverage:这个 cue 在所有数据点中出现的次数。这样的 cue 有很多,如 not、are 等。如上图表一所示是 not 的出现情况,可以看出 not 在64%的数据点中都有出现,并且模型只要选择有 not 出现的 warrant,正确的概率是61%。作者怀疑模型学到的是这样的信息。如果推论成立,只需输入 warrant,模型就能获得很好的表现。因此作者也做了上图表二所示的实验。

表6:作者的探索性实验(Probing Experiments)

虽然实验结果非常好,但作者怀疑:这究竟是 BERT 学到了需要的语义信息,还是只是过度利用了数据中的统计信息,因此作者提出了关于 cue 的一些概念:

  • A Cue's Applicability:在某个数据点 i,label 为 j 的 warrant 中出现但在另一个 warrant 中不出现的 cue 的个数。

  • A Cue's Productivity:在某个数据点 i,label 为 j 的 warrant 中出现但在另一个 warrant 中不出现,且这个数据点的正确 label 是 j,占所有上一种 cue 的比例。直观来说就是这个 cue 能被模型利用的价值,只要这个数据大于50%,那么我们就可以认为模型使用这个 cue 是有价值的。

  • A Cue's Coverage:这个 cue 在所有数据点中出现的次数。

这样的 cue 有很多,如 not、are 等。如上图表一所示是 not 的出现情况,可以看出 not 在64%的数据点中都有出现,并且模型只要选择有 not 出现的 warrant,正确的概率是61%。

作者怀疑模型学到的是这样的信息。如果推论成立,只需输入 warrant,模型就能获得很好的表现。因此作者也做了上图表二所示的实验。

可以看出,只输入 w 模型就获得了71%的峰值表现,而输入(R,W)则能增加4%,输入(C,W)则能增加2%,正好71% 4% 2%=77%,这是一个很强的证据。

bert模型原理详解:带你读论文8篇论文梳理BERT相关模型进展与反思(1)

图11:对抗数据集以及在对抗数据集上的实验结果

为了充分证明推论的正确性,作者构造了对抗数据集(Adversarial Dataset),如上图例子所示,对于原来的结构:R and W -> C,变换成:Rand !W -> !C(这里为了方便,用!表示取反)

作者首先让模型在原 ARCT 数据集微调并在对抗数据集评测(Evaluation),结果比随机还要糟糕。后来又在对抗数据集微调并在对抗数据集评测,获得表现如上图第二个表所示。

从实验结果来看,对抗数据集基本上消除了 cue 带来的影响,让 BERT 真实地展现了其在该任务上的能力,与作者的猜想一致。

虽然实验稍显不足(如未充分说明模型是否收敛,其他模型在对抗数据集中的表现如何等),但本文给 BERT 的火热浇了一盆冷水,充分说明了 BERT 并不是万能的,我们必须冷静思考 BERT 如今取得惊人表现的真正原因。

2. BERT 在 Natural Language Inference 任务中的表现

Right for the Wrong Reasons: Diagnosing Syntactic Heuristics in Natural Language

这是另一篇对 BERT 等模型在自然语言推理(Natural Language Inference,NLI)任务中表现的探讨。

bert模型原理详解:带你读论文8篇论文梳理BERT相关模型进展与反思(2)

图12:NLI 任务中 Heuristic 示意图

作者首先假设在 NLI 中表现好的模型可能利用了三种 Heuristic,而所谓的 Heuristic 即在 Premise 中就给了模型一些提示,有如下三种:

  • Lexical Overlap:对应的 Hypothesis 是 Premise 的子序列

  • Subsequence:对应的 Hypothesis 是 Premise 的子串

  • Constituent:Premise 的语法树会覆盖所有的 Hypothesis

基于这个假设,作者也做了实验并观察到,MNLI 训练集中许多数据点都存在这样的 Heuristic,且对应的选项是正确的数量远多于不正确。针对这种情况,作者构造了 HANS 数据集,均衡两种类型样本的分布,并且标记了 premise 是否 entail 上述几种 Heuristic。

实验时模型在 MNLI 数据集微调,在 HANS 数据集评测,结果 entailment 类型的数据点中模型都表现不错,而在 non-entailment 类型中模型表现欠佳。这一实验结果支持了作者的假设:模型过度利用了 Heuristic 信息。

bert模型原理详解:带你读论文8篇论文梳理BERT相关模型进展与反思(3)

图13:模型在 HANS 数据集上的结果分析

但是作者并不十分确定这种实验结果是什么原因导致的,并提出如下猜想:

  • HANS 数据集太难了?不。作者让人类进行测试,发现人类在两种类型的数据中准确率分别为77%和75%,远高于模型。

  • 是模型缺乏足够的表示能力吗?不。ICLR 2019《RNNs implicitly implement tensor-product representations》给出了一定的证据,表示 RNN 足够在 SNLI 任务中已经学到一定的关于结构的信息。

  • 那就是 MNLI 数据集并不好,缺乏足够的信号让模型学会 NLI。

因此作者在训练集中加入了一定的 HANS 数据,构造了 MNL 数据集,让模型在该数据集微调,最终获得了如上图所示的结果。为了证明 HANS 对模型学到 NLI 的贡献,作者还让在 MNL 上微调的模型在另一个数据集中做了评测,模型表现都有提升。

总结

本文总结了 BERT 提出以来一些最新的发展。

BERT 是一个优秀的预训练模型,它的预训练思想可以用来改进其他模型。BERT 可以更好,我们可以设置新的训练方式和目标,让其发挥更大的潜能。

BERT 并没有想象中的那么好,我们必须冷静对待 BERT 在一些任务中取得不错表现的原因——究竟是因为 BERT 真正学到了对应的语义信息,还是因为数据集中数据的不平衡导致 BERT 过度使用了这样的信号。

参考文献:

[1] XLNet: Generalized Autoregressive Pretraining for Language Understanding. Yang et al.CoRR abs/1906.08237.

[2] A Fair Comparison Study of XLNet and BERT. XLNet Team.

https://medium.com/@xlnet.team/a-fair-comparison-study-of-xlnet-and-bert-with-large-models-5a4257f59dc0

[3] Probing Neural Network Comprehension of Natural Language Arguments. Niven et al. ACL2019.

[4] Right for the Wrong Reasons: Diagnosing Syntactic Heuristics in Natural Language Inference. McCoy el al. Corr abs/1902.01007.

[5] RoBERTa: A Robustly Optimized BERT Pretraining Approach. Liu et al. CoRR abs/190.11692.

[6] SpanBERT: Improving Pre-training by Representing and Predicting Spans. Joshi et al. CoRRabs/1907.10529.

[7] Multi-Task Deep Neural Networks for Natural Language Understanding. Liu et al. CoRR abs/1901.11504.

[8] Improving Multi-Task Deep Neural Networks via Knowledge Distillation for Natural Language Understanding. Liu et al. CoRR abs/1904.09482.

猜您喜欢: