1. 程式人生 > >Attention-based NMT

Attention-based NMT

this is for my baby

摘要部分:

注意力機制通過有選擇的關注原句子的部分來提高翻譯,但是對有用的注意力機制體系結構的探索很少.這篇文章闡述兩種簡單有效的類:一種是所有源單詞參與的全域性方法,另一種是每一次只看全集一個子集單詞的方法.我們在WMT(寫入磁帶Write Magnetic Tape)上面把英語翻譯成德語證明了它的效率.區域性注意力方法比無注意力系統能提高5bleu分.我們全域性模型使用不同的注意力結構得到了一個最高的結果,在WMT中把英語翻譯成德語得到25.9bleu分,比最好的現有的模型高了1bleu分.

bleu解釋:

(解釋一下,首先bleu是一種文字評估演算法

,它是用來評估機器翻譯專業人工翻譯之間的對應關係,核心思想就是機器翻譯越接近專業人工翻譯,質量就越好,經過bleu演算法得出的分數可以作為機器翻譯質量的其中一個指標)

https://www.jianshu.com/p/15c22fadcba5

介紹部分:

NMT優點所需知識集很小和概念簡單,先讀取所有源詞直到遇到了句子中止標誌,然後每次發射一個目標單詞,如圖一

圖1 神經機器翻譯-一種用來把原句ABCD翻譯成目標句子XYZ的堆疊迴圈結構。這裡,<eos>標誌著句子的結束。

NMT通常是一個用端到端方式訓練的大型神經網路,並且具有歸納長字序列的能力。這意味著這個模型不必像標準機器翻譯(MT)那樣顯式儲存巨大的短語表和語言模型;因此,NMT的記憶體佔用較小。最後,不同於標準MT中的高度複雜的解碼器,實現NMT解碼器很容易(Koehn et al.,2003)。

特別的,“注意”的概念最近在訓練神經網路中很流行,這使得模型能夠學習不同模態之間的校準。例如,在動態控制問題中影象物件和代理操作之間的校準, 語音識別任務中語音幀和文字之間的校準(Chorowskiet al.,2014),或影象字幕生成任務中影象視覺特徵與文字描述之間的校準(Xu et al., 2015)。在NMT的研究領域中,Bahdanau 等人已經成功地把這種注意機制應用到了聯合翻譯和對齊單詞中。據我們所知,除此之外,再無其他研究基於注意的NMT架構的工作了。

這篇文章中,我們設計兩種型別的基於注意力的模型,一種所有源詞都參加的全域性方法,一種每一次只考慮一個子集的區域性方法,第一個方法和Bahdanau的方法相似,但是比他的簡單,區域性的方法是一個硬性和軟性混合的注意力方法,比全域性計算複雜度低,因為區域性注意力方法可導,所以比硬性注意力更簡單,除此之外,我們還為我們的基於注意力的模型驗證了各種對齊函式.

實驗上,我們驗證了我們的方法的效率在英語和德語的互翻譯上,我們的模型在WMT的翻譯工作上比無注意力系統提高了5分.

2 神經機器翻譯

一個神經機器翻譯系統是一個直接建立將源語句翻譯成目標語句的條件概率的神經網路.一個基本的NMT包含兩部分組成,計算每個源句的表示的編碼器和每次生成一個目標單詞的解碼器

在解碼器中對這種分解建模的一個很自然的選擇是使用迴圈神經網路RNN結構,這個結構是近期的一系列NMT研究(如Kalchbrennerand Blunsom, 2013;Sutskever et al., 2014; Cho et al., 2014; Bahdanau et al.,2015; Luong et al.,2015; Jean et al., 2015)都用到的.然而,它們在解碼器中用RNN結構不盡相同,在編碼器計算源語句的表示s時,方法也不同.

Kalchbrenner 和 Blunsom(2013)在解碼時用了具有標準隱藏單元的RNN,在給源語句編碼時用了卷積神經網路。另一方面,Sutskever etal. (2014) 和Luong et al. (2015)在編碼和解碼中配合長短期記憶(Long Short-Term Memory,LSTM)隱藏單元,堆疊了多層RNN。Cho et al.(2014),Bahdanau et al. (2015), 和 Jean et al. (2015)都在編碼和解碼中用了具有LSTM激勵的隱藏單元的不同版本的RNN。

 在這篇paper裡面用到了層疊LSTM結構,如圖一所示,用到了LSTM單元.訓練目標函式(4)

                                    

3.基於注意力模型

 基於注意力的模型大致被分為兩類,全域性和區域性。這兩個種類的區別在於“注意力”被放置於所有的源位置還只被放置於一小部分源位置。我們分別在圖2,圖3中描述了這兩個模型。

圖2 全域性注意模型—在每個時間節點,模型根據當前目標狀態和所有的源狀態得出一個變長對齊權重向量。然後一個全域性上下文向量作為所有源狀態的加權平均(權重為)算出。

圖3 區域性注意模型—模型首先針對當前目標單詞預測一個單對齊位置。然後以源位置為中心的窗被用於計算上下文向量,窗內源隱層的加權平均。權重通過當前目標狀態和窗內的源狀態得到。

 這兩個模型的共同點是,在每個時刻t的解碼過程中,二者都輸入位於層疊LSTM頂層的隱層ht。其目標是得到上下文向量ct,所含的對應的源語言端資訊有助於預測當前目標語言單詞yt。雖然這些模型得到上下文向量ct的方式有所不同,它們接下來的步驟都是相同的。

特別地,根據目標隱層ht和源語言端上下文向量ct,我們設定了一個簡單連線層來結合兩個向量的資訊,從而產生如下所示的注意力隱層:

3.1全域性注意

全域性注意模型的思想是 ,在生成上下文向量ct時考慮編碼器的所有隱層。在這個模型中,通過比較當前目標隱層ht與每個源隱層\overline{h_{t}},得到一個大小等於源語言端時刻數的可變長度的對齊向量at:

除此之外,在我們早期建立基於注意力模型的嘗試中,我們使用了基於位置的函式,在這個函式中,對齊分數只通過目標隱層計算:

設定對齊向量為權重,上下文向量通過源隱層的加權平均得到。

與(Bahdanau et al.,2015)比起來—雖然我們的全域性注意力模型在本質上與Bahdanau等人提出的相似,我們的模型也有幾個重要的不同點,這些不同反映了我們如何根據原始模型得到了簡化模型和全域性模型。首先,我們在編碼和解碼器中都僅僅用了LSTM頂層的隱藏狀態,如圖2所示。而Bahdanau et al.(2015)在雙向編碼器中用了源隱層狀態的前向和反向級聯,在非堆疊無向解碼器中用了目標隱層狀態。第二,我們的計算路徑更加簡便;我們的計算路徑是ht->at->ct->\overline{h_{t}},然後用公式5和公式6和圖2做預測。而在任一時刻t,Bahdanau et al.(2015)開始於上一個隱層ht-1->at->ct->ht,因此,在作出預測前經歷了一個深度輸出和maxout層。最後,Bahdanau et al.(2015)只針對concat這一種對齊函式做了試驗;而我們會在隨後證明其他計算方法更好。

3.2區域性注意

全域性注意有一個缺陷,其針對每一個目標單詞都要考慮源端的所有單詞。這種做法的記憶體消耗很大,還可能會導致其在翻譯長序列(段落或檔案)時不實用。為了克服這一缺陷,我們提出了局部注意機制,它對每個目標單詞,只關注源端的一小部分單詞。

這個模型的靈感來自於Xu et al.(2015)對影象標題產生任務的處理:軟性和硬性注意模型的結合。在他們的工作中,軟性注意對應全域性注意,權重被“軟性地”放置在源圖的每個分塊上。而硬性注意每個時間點只選擇關注一個影象分塊。即便大大縮短了推算時間,硬性注意還是有很多缺點:它不可導,而且需要如方差降低或強化學習這樣複雜的訓練技巧。

我們的區域性注意機制有選擇地關注於小範圍的上下文,而且是可導的。這種方法有如下優點:它避免了軟性注意中龐大的計算,同時,它比硬性方法更易訓練。具體而言,這個模型在時刻t首先為每個目標單詞產生一個對齊位置ct。然後,上下文向量作為在範圍[pt-D,pt+D]內的源隱層狀態的加權平均,被計算出來;D是人為選取的。不像全域性方法,區域性對齊向量現在是固定維度,下面我們考慮此模型的兩個變體:

單調對齊(local-m)—我們簡單地設pt=t,假設源句和目標句大致上是單調對齊的。對齊向量at由公式7定義。

預測對齊(local-p)—不設兩個句子單調對齊,我們的模型按照以下方式預測對齊位置:

與(Gregor et al.,2015)相比—他們針對影象生成提出了一個選擇性注意力模型,與我們的區域性注意相似。他們讓模型在不同位置和焦距中選擇一塊影象。然而,我們對所有的目標位置使用了同樣的“焦距",在極大簡化公式的情況下仍然得到了好的結果。

圖4 輸入反饋方法—注意力向量被反饋到下一時刻的輸入,從而告知模型過去的對齊資訊。

3.3輸入饋送方法

在我們提出的全域性和區域性方法中,注意力是獨立決策的,它的決策是次優的。然而,在標準機器翻譯MT中,通常有一個儲存了翻譯過程中已經被翻譯過的源單詞的覆蓋集。相似地,在基於注意力的神經機器NMT翻譯中,對齊決策應該聯合地考慮過去的對齊資訊。為了達到這一點,我們提出了一種輸入饋送方法,在這種方法中,注意力向量\overline{h_{t}}連線了下一時刻的輸入(如圖4所示)。這樣的連線有雙重影響:(a)我們希望模型完全知道之前的對齊選擇(b)我們創造了一個在水平和垂直方向都非常深的網路。

與其他方法相比—Bahdanau et al.(2015)用了與我們模型中的相似的上下文向量ct來構造後續隱層狀態,這樣也能達到“覆蓋集”的效果。然而,他們沒有對這種連線的有效性作分析。我們的模型更具有通用性;如圖4所示,模型可用於很多層疊迴圈結構,包括非注意力模型。

Xu et al. (2015)提出了一種雙注意力模型,將附加約束新增到訓練目標以確保模型在字幕生成過程中平等看待影象的所有部分。這樣的約束也可以用於捕獲我們前面提到的神經機器翻譯NMT中的覆蓋集效應。然而,我們選擇用輸入饋送模型,因為它為模型提供了靈活性,可以決定它認為合適的任何注意力約束。

 

 

https://www.jianshu.com/p/92fef49666de

http://polarlion.github.io/nmt/2016/04/29/dl-for-mt.html

https://blog.csdn.net/yujianmin1990/article/details/81432851

https://baijiahao.baidu.com/s?id=1553672695309574&wfr=spider&for=pc

https://blog.csdn.net/wangxinginnlp/article/details/52944649

https://www.itency.com/topic/show.do?id=570315

https://yq.aliyun.com/articles/174756

https://blog.csdn.net/c9yv2cf9i06k2a9e/article/details/80652382

https://www.imooc.com/article/35417

https://blog.csdn.net/jdbc/article/details/52948351

http://www.dataguru.cn/article-12415-1.html

https://www.sohu.com/a/226543293_642762