@songying
2019-04-24T03:40:41.000000Z
字数 4848
阅读 1137
博客文章
前面的几篇文章反复提起, Bert 诞生之后的 NLP 世界已经大有不同,正式进入氪金时代,以前的模型一块 1080ti 或许足够,但现在,已经远远不够。
本文从阅读理解两个最新的模型出发,来探讨一下 Bert 在 State-of-the-art 的模型中扮演着什么样的角色。模型来自于RACE排行榜:RACE 排行榜
RACE 数据集数据来自我们的中高考的阅读理解,没错,就是当初让你欲生欲死的阅读理解: 给你一段文章, 在给一个问题,四个选项,让你选择正确的选项。 从本质上来说, RACE其实仍旧是一个分类问题, 而有同学做了基于 Bert 原论文中的方案来解决 RACE 的实验[3],发现即使简单的使用Bert,就能获得相当好的结果。
与SQUAD数据集相比,该数据集的确更具难度,但数据可能略微存在不足,比如高考阅读理解很简单,文本不长,与六级,考研英语比起来的确较简单, 有这方面数据的同学能够以此展开一下,一篇很好的文章就有了。
下面我来详细介绍一下最新的两篇文章是如何使用 Bert 的。
文章采用 Bert 作为 Encoder 来分别对P, Q, A 进行 Embedding, 就像是使用 LSTM 进行上下文Embedding一样:
文章先采用注意力机制来获得 passage 与 answer 之间的注意力权重信息,然后再根据权重信息分别获得 passage, answer 的新的表示:
为了获得最终的表示,文章对 S 的每行做最大池化操作
对于每一个候选答案 , 它对应最终的表示为 ,损失函数如下:
## OCN [2]
与 DCMN 不同的是,OCN 没有分别用Bert 来进行Embedding, 而是先将 三者采用 分隔符连接,然后再一起送入Bert, 注意,我们的RACE数据集有四个Option, 因此需要4个 Bert , 因此,跑不动, 卒。
文章考虑到 question 的信息与 option 的信息是息息相关的,因此将二者连接起来,这为下一部分的 Option 之间的比较做准备。
考虑到文章中在多个层中都使用了同一个Attention, 因此在此简单描述一下:
此部分是文章的创新所在,作者认为,选项与选项之间的比较是带有一些信息的,正如人在做阅读理解时也会反复的比较选项,才会最终确定答案。
首先,选项 与选项 之间的对比信息生成如下:
写到这,不由的感叹,这尼玛也太复杂了吧,感觉没有必要这么搞, 选项之间的比对信息的确有用,但这么做与DCNN相比的确太复杂,我觉得这块有优化的余地,哎,可惜机器不行啊,卒。
文章最后将所有的信息综合, 重新对文本信息进行匹配阅读,这与传统的思路一样了。
首先, 将选项 的表示与Passage 信息结合, 注意到,此时选择 的表示中包含有:选项本身信息, 问题信息,选项对比信息, 最终我们生成对于选项 其各种信息综合后的结果:
对于 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中, 其主要是为了使用选项对比信息而加大了模型复杂度,忽略的匹配信息的重要性, 但文章最后表示, 选项对比信息的确起到了不小的作用, 因此, 如何将选项信息与匹配信息有效结合应该是一个不错的方向,没有卡的我表示很悲伤。
[1] Dual Co-Matching Network for Multi-choice Reading Comprehension
[2] Option Comparison Network forMultiple-choice Reading Comprehension