[关闭]
@songying 2019-04-24T03:40:41.000000Z 字数 4848 阅读 1137

阅读理解:氪金时代

博客文章


前言

前面的几篇文章反复提起, Bert 诞生之后的 NLP 世界已经大有不同,正式进入氪金时代,以前的模型一块 1080ti 或许足够,但现在,已经远远不够。

本文从阅读理解两个最新的模型出发,来探讨一下 Bert 在 State-of-the-art 的模型中扮演着什么样的角色。模型来自于RACE排行榜:RACE 排行榜

RACE 数据集

RACE 数据集数据来自我们的中高考的阅读理解,没错,就是当初让你欲生欲死的阅读理解: 给你一段文章, 在给一个问题,四个选项,让你选择正确的选项。 从本质上来说, RACE其实仍旧是一个分类问题, 而有同学做了基于 Bert 原论文中的方案来解决 RACE 的实验[3],发现即使简单的使用Bert,就能获得相当好的结果。

与SQUAD数据集相比,该数据集的确更具难度,但数据可能略微存在不足,比如高考阅读理解很简单,文本不长,与六级,考研英语比起来的确较简单, 有这方面数据的同学能够以此展开一下,一篇很好的文章就有了。

下面我来详细介绍一下最新的两篇文章是如何使用 Bert 的。

DCMN [1]

1. Embedding Layer

文章采用 Bert 作为 Encoder 来分别对P, Q, A 进行 Embedding, 就像是使用 LSTM 进行上下文Embedding一样:


我们看到, 我们要分别采用6个 Bert 进行微调,这意味着对于该模型来说,显存一定是要足够大的,大致的推算一下,也是需要40G左右的显存的,这意味着至少需要 4 块以上的顶级显卡, 所以我说,NLP已经进入氪金时代。

2. Maching Layer

文章先采用注意力机制来获得 passage 与 answer 之间的注意力权重信息,然后再根据权重信息分别获得 passage, answer 的新的表示:


然后我们将 passage,answer 信息融合来获得最终的表示:

采用相同的注意力机制来融合 passage 与 question 之间的信息:

3. Aggregation Layer

为了获得最终的表示,文章对 S 的每行做最大池化操作

对于每一个候选答案 , 它对应最终的表示为 ,损失函数如下:

## OCN [2]

1. Embedding Layer: Feature Extraction

与 DCMN 不同的是,OCN 没有分别用Bert 来进行Embedding, 而是先将 三者采用 分隔符连接,然后再一起送入Bert, 注意,我们的RACE数据集有四个Option, 因此需要4个 Bert , 因此,跑不动, 卒。


这里有一个小问题, 为何作者不采用 DCMN 那样用 Bert 做独立的Embedding, 是机器不够?还是有意为之?

文章考虑到 question 的信息与 option 的信息是息息相关的,因此将二者连接起来,这为下一部分的 Option 之间的比较做准备。

Attention 机制

考虑到文章中在多个层中都使用了同一个Attention, 因此在此简单描述一下:


注意到,这个 Attention 与传统的Attention 差别不大, 可以与之前的对比一下:NLP中的 Attention 机制

2. Option Correlation Features Extraction

此部分是文章的创新所在,作者认为,选项与选项之间的比较是带有一些信息的,正如人在做阅读理解时也会反复的比较选项,才会最终确定答案。

首先,选项 与选项 之间的对比信息生成如下:


对于每个选项,我们要与其他3个选项分别比较,因此我们生成了三个这样的矩阵,然后将这三个对比信息融合:

最后,采用门机制将选项信息与选项比较信息结合起来,最终生成选项 的最终表示:

写到这,不由的感叹,这尼玛也太复杂了吧,感觉没有必要这么搞, 选项之间的比对信息的确有用,但这么做与DCNN相比的确太复杂,我觉得这块有优化的余地,哎,可惜机器不行啊,卒。

3. Article Rereading

文章最后将所有的信息综合, 重新对文本信息进行匹配阅读,这与传统的思路一样了。

首先, 将选项 的表示与Passage 信息结合, 注意到,此时选择 的表示中包含有:选项本身信息, 问题信息,选项对比信息, 最终我们生成对于选项 其各种信息综合后的结果:


最后,对信息进行综合:

4. Answer Prediction

对于 Option , 其最终信息表示如下:


那么,对于结果的预测为:

损失函数定义为:

小结

从上述两个模型中可以看出, Bert 只担当了Embedding 部分,其取代了传统的用LSTM,CNN, Transformer 来抽取特征的方式,这是否意味着,在NLP的上层任务的Embedding部分,LSTM, CNN, Transformer 已经风光不在。 之后怎么发展,还要看业界的进展,希望接下来一年能有更大突破。

回到模型本身来看,我们看到,模型更偏向各种复杂的,任务特定的Attention 机制,一般而言, Attention 机制越复杂,其表现出的结果也就越好,这也是我为什么推荐关注阅读理解的原因, 我认为 Attention 的各种 Trick 是提升模型Performance 的关键要素之一。

对比两个模型来看, OCN[2] 要比 DCMN[1] 要复杂的多,但从结果上来看,DCMN的表现更佳。 DCMN 充分利用了匹配信息,事实证明不同的匹配机制会带来不同的效果,DCMN中的 Attention 是主要创新点。 而在OCN中, 其主要是为了使用选项对比信息而加大了模型复杂度,忽略的匹配信息的重要性, 但文章最后表示, 选项对比信息的确起到了不小的作用, 因此, 如何将选项信息与匹配信息有效结合应该是一个不错的方向,没有卡的我表示很悲伤。

Reference

[1] Dual Co-Matching Network for Multi-choice Reading Comprehension

[2] Option Comparison Network forMultiple-choice Reading Comprehension

[3] https://github.com/NoviScl/BERT-RACE

添加新批注
在作者公开此批注前,只有你和作者可见。
回复批注