1.Encoder-Decoder 模型

Encoder-Decoder 模型
其中,
為輸入(假設(shè)為待翻譯的句子),
為輸出(假設(shè)為目標(biāo)翻譯句子),
為中間語義變量
和
為任意非線性變換,如RNN,CNN
2.Attention模型
Attetion 在 Encoder-Decoder 基礎(chǔ)上,使輸出不再共享同一個(gè)
,每個(gè)
對(duì)應(yīng)一個(gè)
。注意力的意思就是對(duì)于一個(gè)輸出
,可能更關(guān)注
而比較少關(guān)注其他輸入,即
主要被
影響,計(jì)算
時(shí),
的權(quán)重也更大

引入注意力機(jī)制后的Attetion模型.png
下面討論的值如何計(jì)算

假設(shè)Encoder和Decoder都是RNN模型
如圖,
為輸入的隱藏層,
為輸出的隱藏層,都可以在計(jì)算
前算出
向量由
和
經(jīng)某種變換
并經(jīng)過softmax層得出:

計(jì)算w的過程
3. 對(duì)Attetnion模型進(jìn)行更一般化的表示

attention模型權(quán)重的一般化計(jì)算方法
如圖,Query相當(dāng)于上面提到的RNN的Encoder中的隱藏層
,Key相當(dāng)于RNN的Encoder中的隱藏層
,a相當(dāng)于
,Value相當(dāng)于輸入
,Attention Value相當(dāng)于中間語義