天天看點

機器翻譯以及注意力機制

注意力機制就是讓計算機模拟人類大腦,在看東西的時候,将注意力集中在比較感興趣的物體上。

1. 引入注意力機制的目的:

1、計算能力的限制:越複雜的模型才能記住更多的資訊,但是目前計算能力依然是限制人工神經網絡發展的瓶頸

2、優化算法的限制:雖然局部連接配接、權重共享以及pooling等優化操作可以讓神經網絡變得簡單一些,

有效緩解模型複雜度和表達能力之間的沖突;但是,資訊“記憶”能力并不高

2. 按照認知神經學中的注意力,可分為兩類:

1、聚焦式(focus)注意力: 自上而下的有意識的注意力,主動注意——是指有預定目的、依賴任務的、主動有意識地聚焦于某一對象的注意力;

2、顯著性(saliency-based)注意力::自下而上的有意識的注意力,被動注意——基于顯著性的注意力是由外界刺激驅動的注意,不需要主動幹預,也和任務無關;可以将max-pooling和門控(gating)機制來近似地看作是自下而上的基于顯著性的注意力機制。

在人工神經網絡中,注意力機制一般就特指聚焦式注意力。

3. 注意力機制計算流程

機器翻譯以及注意力機制

Attention機制的目的是計算Attention Value,通過給定一個和任務相關的查詢Query向量 q,計算與Key的注意力分布并附加在Value上。注意力機制分為三個步驟:一是資訊輸入;二是計算注意力分布α;三是根據注意力分布α 來計算輸入資訊的權重平均。

在第二步中,我們将 αi 稱之為注意力分布(機率分布),s(ht,hs) 為注意力打分機制,其中ht是Encoder部分的隐藏層,hs是decoder部分的隐藏層。有四種打分機制:

機器翻譯以及注意力機制

4. 四種變體

另外呢,也有人将注意力機制其分為四種變體

機器翻譯以及注意力機制

5. 神經網絡中的機器翻譯:

機器翻譯是序列到序列的問題,也叫做編碼器和解碼器,encoder和decoder,Encoder的輸入是x1,decoder的輸入就是encoder最後一個隐藏層。一般呢,在機器翻譯中,一般都使用RNN,比如LSTM和GPU。

機器翻譯以及注意力機制

ht為編碼器的隐藏狀态, c是上下文向量, 是通過目前時間步上下文的隐藏向量計算得到的

6. 首次提出注意力機制【1】

機器翻譯以及注意力機制
機器翻譯以及注意力機制

在公式求eij中,Va和Wa,Ua都是網絡的參數,其中Wa ∈ Rn×n,Ua ∈ Rn×2n,va ∈ Rn,eij ∈ Rn,對eij 進行歸一化處理得到αij∈ R1

通過将所有的aij和hj作加和,即αi1h1+αi2h1+……αiThT=cj,cj ∈ R2n×1

7. 全局注意力和局部注意力【2】

機器翻譯以及注意力機制

這是另外一篇論文提出來的,Global Attention Model和Local Attention Model

機器翻譯以及注意力機制
機器翻譯以及注意力機制

這個是斯坦福大學提出來的一篇論文。全局注意力比較簡單,和[Bahdanau et al., 2014]提出來的做法相似,隻不過他沒有使用雙向CNN。其中他還嘗試了三種得分方式。實驗證明:dot product在gloabal attention中表現更好,而general方程在local attention中表現更好。

機器翻譯以及注意力機制
機器翻譯以及注意力機制

局部注意力就對跟我的輸出結果有影響的地方實行重點關注,實作的方法就是在某一視窗位置Pt取範圍D之間的值,其中D是由我們自己設定的一個區域大小,Pt就是關注範圍的中間值。

那麼公式Pt=Txσ(VpTtanh(Wpht)),VpT,Wp是可訓練的參數,σ是sigmoid函數,σ(VpTtanh(Wpht))的範圍是在[0-1]之間,Tx是表示source sentence句子長度。

8. sotf attention and hard attention【3】

機器翻譯以及注意力機制

sotf attention 上面的圖,關注的是全局

hard attention 下面的圖,關注的隻是局部的一點

機器翻譯以及注意力機制

在這裡輸入的圖檔是先經過VGG網絡提取特征,得到(512,14,14)的特征圖,将(14,14)拉成一維向量,即特征圖變成了(512,196),即α∈(512,196)。式中的L就是196,αi∈(512,1),hi∈(1,512)。

機器翻譯以及注意力機制

hard attention用的地方不多,在論文中有完整的公式。可以參考論文

參考文獻

【1】Bahdanau D , Cho K , Bengio Y . Neural Machine Translation by Jointly Learning to Align and Translate[J]. Computer Science, 2014.

【2】Luong M T, Pham H, Manning C D. Effective approaches to attention-based neural machine translation[J]. arXiv preprint arXiv:1508.04025, 2015.

【3】Xu K, Ba J, Kiros R, et al. Show, attend and tell: Neural image caption generation with visual attention[J]. arXiv preprint arXiv:1502.03044, 2015.

參考部落格

http://www.cnblogs.com/databingo/p/9769928.html

https://blog.csdn.net/jasonzhoujx/article/details/83386627

https://blog.csdn.net/u011414416/article/details/51057789

https://www.cnblogs.com/wangduo/p/6773601.html