DCN-动态共同attention网络
两种模型都是类似的,不像前一篇文章介绍的soft attention机制,只是考虑query到context的attention
这里两篇论文都会考虑
query 到 context 和 context到query的attention
然后得到的attention回和原始的encoder向量进行作用,得到修正后的query和context的修正矩阵
然后这些修正后的矩阵和原始的encoder矩阵结合,进入到下面一层的模型预测层。
首先介绍的是coattebtion机制
DYNAMIC COATTENTION NETWORKS
https://arxiv.org/pdf/1611.01604.pdf
标签:相关性矩阵,互为attention,coattention
迭代,HMN,MLP
短文本效果佳
模型

上图是一个简单的图形,question 和 文本经过encoder之后,得到的向量经过 coattention机制在进行encoder,然后decoder得到结果
Passage AND QUESTION ENCODER
对文本passage 和question分别独立进行encoder
Hp=LSTM(P)
Hq=LSTM(Q)
Hp∈R[l,p],Hq∈R[l,q]
l 是LSTMcell的隐藏层大小,p和q分别是文本passage 和 问题question的长度
然后每个向量后面加上一个特殊的向量,作为模型的识别,得到
Hp=[Hp,hpθ]
Hq=[Hq,hqθ]
然后qustion经过一层非线性的网络,得到最终的encoder矩阵:
Hq=tanh(WqHq+bq)
coattention encoder
首先计算一个相关性矩阵:
L=(Hp)THq∈R(p+1)∗(q+1)
然后利用相关性矩阵,可以计算passage里面的每一个词和question的attention分数 AQ
以及question里面每一个词和passage里面每一个词的attention分数 AP
AQ=softmax(L)
AP=softmax(LT)
这两个都是相互的attention score,权重score需要和原始的矩阵机型相乘计算。
我们对文本passage 进行summary,然后经过attention后得到question的修正向量矩阵:
CQ=HpAQ∈Rl∗(n+1)
然后我们利用question矩阵 Hq 和 修正后的question矩阵 CQ , 经过attention之后,得到修正后 的passage 矩阵: