【论文笔记12】Iterative Alternating Neural Attention for Machine Reading

1 《Iterative Alternating Neural Attention for Machine Reading》

(1)论文创新点
  • 这个模型的文章和问题在真正使用时,都是根据前一时刻的隐层状态,动态的表示成一个向量;
  • 在更新状态时,使用了gated机制(虽然看起来有点复杂)。
(2)论文模型

模型的整体结构图如下所示:
模型结构图
接下来将对该模型上的组成部分做简单的介绍。
bidirectional encoddings
对于问题和文章的基本表示,主要是使用BiGRU来对文本序列进行编码。具体来说,对文章,不对文章的语义信息进行整体表示,而是对文章中的每个单词序列逐一表示(即文章表示法的模型1),每个单词的表示由双向GRU的前后隐层状态拼接后得到:
d i = [ h i ⃗ , h i ← ] d_i=[\vec{h_i},\overleftarrow{h_i}] di=[hi ,hi ]
对于问题来说做同样的操作,对序列中每个单词进行表示:
q i = [ h i ⃗ , h i ← ] q_i=[\vec{h_i},\overleftarrow{h_i}] qi=[hi ,hi ]

在对推理状态进行更新的时候,每次都会从问题和文章中抓取相关信息,于是构造了下面几个组成部分。

query attention

这个我们可以把它形容成获取在当前时刻 t t t问题的重点,这个重点是通过一个注意力机制得到的,通过公式:
q i , t = s o f t m a x [ q i T ^ ( A q S t − 1 + a q ) ] q_{i,t}=softmax[\widehat{q_i^T}(A_{q}S_{t-1}+a_{q})] qi,t=softmax[qiT (AqSt1+aq)]
得到该时刻每个单词的权重(其中 q i T ^ \widehat{q_i^T} qiT 是问题表示),于是这个时刻问题的重点由下面的公式表示:
q t = ∑ i q i , t q i ^ q_t=\sum_{i}q_{i,t}\widehat{q_i} qt=iqi,tqi
document attention
首先计算文章中每个单词的权重,结合问题的重点,然后得到文章这个时刻的重点:
d i , t = s o f t m a x [ d i T ^ ( A d [ S t 1 , q t ] + a d ) ] d_{i,t}=softmax[\widehat{d_i^T}(A_d[S_{t_1},q_t]+a_d)] di,t=softmax[diT (Ad[St1,qt]+ad)]
search gates
这个部分是由FFNN+sigmold来组成的,具体的计算公式如下:
r = g ( [ S t − 1 , q t , d t , q t ⋅ d t ] ) r=g([S_{t-1},q_t,d_t,q_t \cdot d_t]) r=g([St1,qt,dt,qtdt])
更新推理状态
通过上述几个公式,得到问题和文章该时刻的重点,然后通过gates对这些重点进行过滤,结合前一时刻的推理状态来得到当前时刻的推理状态:
S t = f ( [ r q ⋅ q t , r d ⋅ d t ] , S t − 1 ) S_t=f([r_q \cdot q_t , r_d \cdot d_t],S_{t-1}) St=f([rqqt,rddt],St1)

(3)小结

这个模型动态的构建问题,文章,以及推理状态之间的相关性,也就是动态的注意力机制。一个可以扩展的点就是动态的决定推理步骤,此外,gate的计算方式或许也可以优化下。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值