Global attention與 Soft attention ——論文筆記

論文:Effective Approaches to Attention-based Neural Machine Translation   地址: https://www.aclweb.org/anthology/D15-1166/

 1-2節:首先,介紹了Neural machine translation 模型,機器翻譯系統是一個神經網絡,它直接模擬將源句子x1,…,xn翻譯成目標句子y1,…,xn的條件概率,同一時刻只輸出一個單詞(或字母)。因此概率公式爲:

(概率乘積在取log的情況下是相加)。

每個時刻的輸出概率公式爲:

g是一個轉換函數。其中hj是一個隱層狀態,計算公式:

hj由前一個隱狀態和輸入得到。

Neural machine translation 模型如下圖所示,輸入爲ABCD等單詞序列,輸出爲XYZ等,eoc爲句子結束符號。在標準的模型中,上一時刻的輸出X,作爲下一時刻的輸入。藍色是encoder的雙層RNN,下層的輸出作爲上層的輸入。紅色是decoder的雙層RNN。


 

在本文中,注意力隱藏狀態ht~,由上下文向量ct和目標隱藏狀態ht組合而來:

最終,注意力隱藏狀態經過softmax產生預測分佈(我們想要的預測結果):

下面講如何計算ct。

3節: 全局注意力機制 Global attention 

全局注意力機制中,encoder端的所有隱藏狀態hs都參與到ct的計算中,at是它們的權值,權重越大代表這個位置的輸入越重要。

at計算公式如下,由hs和decoder端的隱藏狀態ht做align(對齊、匹配、求相關性)得到,下式是爲了歸一化。

其中,score是一個基於內容的函數(content-based funtion),可以用以下方式得到:

局部注意力機制(Local attention) :

 考慮到並不是所有的輸入單詞都對當前這個輸出有影響,爲了減少不必要的計算,只選擇一部分的隱藏狀態用來計算ct。這個選擇窗口爲,pt是輸入序列中的某一個位置,D爲窗口大小(人爲設定)。爲了確定pt,有兩種方法:

Monotonic alignment (local-m):假設輸入與輸出的位置是一一對應的(單調對齊),t位置的輸入對t位置的預測影響最大,則pt=t

Predictive alignment (local-p) :,s是輸入序列的長度,wp vp是訓練的參數。該式使得pt在[0,s]範圍內。爲了使點儘量靠近pt,設置一個以pt爲中心的高斯分佈:

 s是以pt爲中心的窗口內的點。方差爲D/2。

3.3 Input-feedingApproach

就是把上一次的預測作爲下一次的輸入,對後續的預測繼續產生影響。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章