《BI-DIRECTIONAL ATTENTION FLOW FOR MACHINE COMPREHENSION》

Introduction

这篇论文也是比较经典的一篇,时间相对早期,发在2017ICLR。和另一篇论文《Machine Comprehension Using Match-LSTM and Answer Pointer》同期发表在该期刊上。

BiDAF用了层级的结构来表示不同粒度的表达(现在看起来该层级结构很简单),使用了双向Attention流,并且没有过早的压缩向量,损失信息(即对hidden state做加权求和)。

这里主要对文章不理解的地方做几点解释:

1、dynamic attention:解码一个词算一个attention,即传统NMT中的attention解码过程。

etj=f(hj,st1)e_{tj} = f(h_j, s_{t-1})st=f(st1,ct,yt1)s_t = f(s_{t-1}, c_t, y_{t-1})ct+1c_{t+1}依赖于sts_tsts_t又依赖ctc_t,那么ct+1c_{t+1}依赖于ctc_t

而这篇文章是passage对question一次性做完attention,并不依赖于解码出前一个时刻然后在进行。

2、memory-less attention:即上,passage对question一次性做完attention,并不依赖于解码出前一个时刻然后在进行。
文章说这个的好处是使得attention不会受到之前的错误累计的影响。

还说到“leads to the division of labor between the attention layer and the modeling layer. ”不太理解。

问题是,之后的R-net提出的attention的计算方式就是在解码 sts_t 的时候考虑了 ct1c_{t-1}。效果还比较好。

3、summarize the context paragraph into a fixed-size vector:即对hidden state做加权求和,这篇文章并没有对passage压缩(但是C2Q对question压缩了)成一个向量。(即使Q2C矩阵对passage进行了压缩,可是又平铺了len(passage),得到HH'

Model

阅读理解BI-DAF《BI-DIRECTIONAL ATTENTION FLOW FOR MACHINE COMPREHENSION》笔记阅读理解BI-DAF《BI-DIRECTIONAL ATTENTION FLOW FOR MACHINE COMPREHENSION》笔记
模型可以对照着看,还是比较好理解的。最后的表示由三个部分的来源,Encoder的上下文表示,Decoder的前文表示以及passage本身的表示。然后concatenate过LSTM+指针网络输出起止位置。

Experiment

阅读理解BI-DAF《BI-DIRECTIONAL ATTENTION FLOW FOR MACHINE COMPREHENSION》笔记

Question

1、memory-less attention——“leads to the division of labor between the attention layer and the modeling layer. ”
不太理解。

相关文章:

  • 2021-08-24
  • 2021-04-10
  • 2021-06-25
  • 2021-04-02
  • 2021-11-16
  • 2021-06-01
  • 2021-07-04
  • 2021-05-27
猜你喜欢
  • 2021-05-28
  • 2021-06-05
  • 2021-04-07
  • 2021-08-08
  • 2021-10-23
  • 2021-08-23
  • 2021-10-11
相关资源
相似解决方案