多標籤分類:Effective Approaches to Attention-based Neural Machine Translation

論文地址:https://arxiv.org/pdf/1508.04025v3.pdf

文章標題:Effective Approaches to Attention-based Neural Machine Translation(基於注意力的神經機器翻譯的有效方法)2015

寫在前面:本文《基於注意力的神經機器翻譯的有效方法》,在Seq2Seq架構的基礎上引入了Global Attention 和 Local Attention,爲基於Seq2Seq的多標籤學習提供新的思路。

摘要

通過在翻譯過程中選擇性地關注源句子的部分內容,attention 機制近來已被用於改進神經機器翻譯(NMT)。 但是,探索基於attention 的 NMT 體系結構一直沒有多少工作。 本文考察兩種簡單而有效的 attention 機制:一種始終關注所有源詞的全局方法一種每次僅查看源詞子集的局部方法。 我們在英語和德語兩個方向上展示兩種方法在WMT翻譯任務上的有效性。 在局部 attention 的情況下,我們獲得比非 attention 系統高出5.0 BLEU點的顯着效果,這些系統非 attention 系統已經結合 dropout 等已知技術。 我們使用不同 attention 架構的集成模型在WMT’15英語至德語翻譯任務中獲得最新的最佳成果,其中25.9 BLEU點數比現有由NMT和n-gram reranker 支持的最佳系統提高了1.0 BLEU點。

一、Introduction(介紹)

神經機器翻譯(NMT)在從英語到法語[Luong et al. 2015]和英語到德語[Jean et al. 2015]等大規模翻譯任務中獲得了最先進的表現。 NMT很吸引人,因爲它需要最少的領域知識並且在概念上很簡單。 Luong et al. 2015 的模型對所有源詞進行讀取,直到句尾符號< eos > 。 然後它開始每次生成一個目標單詞,如圖1所示。 NMT通常是一個大型的神經網絡,它以端到端的方式進行訓練,並且能夠很好地推廣到很長的單詞序列。 這意味着模型不必像標準MT那樣明確地存儲巨大的短語表和語言模型;因此,NMT佔用的內存很小。 最後,實現NMT解碼器很容易,不像標準MT中的高度複雜的解碼器[Koehn et al. 2003]。
在這裏插入圖片描述
圖1: 神經網絡機器翻譯 ——用於將源序列A B C D翻譯爲目標序列X Y Z的堆疊循環體系結構。 這裏, 標記句子的結尾。

與此同時,“attention”概念最近在訓練神經網絡中越來越受歡迎,允許模型學習不同模態之間的對齊,例如在動態控制問題中圖像對象與代理動作之間的對齊[Mnih et al. 2014],在語音識別任務中的語音幀和文本之間[? ],或者在圖像標題生成任務中圖像的視覺特徵與其的文本描述之間[Xu et al. 2015]。 在NMT的背景下,Bahdanau et al. 2015 已​​成功應用這種 attention 機制來聯合翻譯和對齊單詞。 據我們所知,目前還沒有任何其他工作正在探索使用基於 attention 的 NMT 架構。

在這項工作中,我們設計了兩種新穎的基於attention 的模型:一種全局方法,其中所有源詞都被關注一個局部方法,其中一次只考慮源詞的一個子集前一種方法類似於[Bahdanau et al. 2015]的模型,但體系結構更簡單。 後者可以被看作是[Xu et al. 2015]提出的hard 和soft attention 模型之間有趣的混合: 它的計算成本比全局模型或soft attention 要低;與此同時,與hard attention不同,局部 attention 幾乎在任何地方都是可微分的,這使得它更易於實現和訓練。此外,我們還研究了我們的基於attention 模型的各種對齊函數。

在實驗上,我們證明我們的兩種方法在英文和德文的WMT翻譯任務中都是有效的。 我們的 attention 模型比已經包含已知技術(例如dropout)的非attention 系統獲得高達5.0 BLEU的提升。 對於英文到德文的翻譯,我們實現了WMT’14和WMT’15的最佳(SOTA)結果,超過以前的由 NMT 模型和n-gram LM rerankers 支持的SOTA系統 1.0 BLEU。 我們在學習、處理長句的能力、attention 架構的選擇,對齊質量和翻譯輸出進行廣泛的分析以評估我們的模型。

二、Neural Machine Translation(神經網絡機器翻譯)

神經網絡機器翻譯系統是一個直接建模條件概率p(y|x)的神經網絡,將源語句x1,…,xn翻譯到目標語句y1,…,ym。NMT的基本形式包括兩個組成部分:(a) 編碼器:計算每個源語句的表示s;(b) 解碼器:每次生成一個目標單詞,因此條件概率可分解爲:
在這裏插入圖片描述
在解碼器中建模這種分解的自然選擇是使用遞歸神經網絡(RNN)架構,,目前大部分NMT工作如[Kalchbrenner and 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 使用帶有標準隱藏單元的解碼器以及對源語句表示進行卷積神經網絡編碼。 另一方面,Sutskever et al. 2014和Luong et al. 2015將帶有長期短期記憶(LSTM)隱藏單元的多層RNN堆疊在一起同時用於編碼器和解碼器。 Cho et al. 2014、Bahdanau et al. 2015和Jean et al. 2015 在兩個組成部分中都採用了一種不同版本的RNN — 帶有受LSTM啓發的隱藏單元,門控循環單元(GRU)。

更詳細地說,人們可以將解碼每個單詞yj 的概率參數化爲:
在這裏插入圖片描述
其中g 爲轉換函數,其輸出爲一個詞彙大小的向量。hj 爲RNN 隱藏單元,下面這樣計算:
在這裏插入圖片描述
其中f 計算給定前一隱藏狀態的當前隱藏狀態,可以是普通的RNN單元、GRU或LSTM單元。 在[Kalchbrenner and Blunsom 2013; Sutskever et al. 2014; Cho et al. 2014; Luong et al. 2015]中,源語句的表示s 在初始化解碼器狀態時只用一次。 然而,在[Bahdanau et al. 2015; Jean et al. 2015]和這項工作中,s 在事實上表示源語句隱藏狀態的一個集合,在翻譯的整個過程中都會查看這些源語句隱藏狀態。 這種方法被稱爲 attentional 機制,我們將在下面討論。

在這項工作中,依據[Sutskever et al. 2014; Luong et al. 2015],我們使用堆疊的 LSTM 架構用於我們的 NMT 系統,如圖1 所示。 我們使用[Zaremba et al. 2015]中定義的LSTM 單元。 我們的訓練目標如下公式所示:
在這裏插入圖片描述
其中D爲我們並行訓練的語料庫。

三、Attention-based Models(基於Attention的模型)

我們各種基於 attention 的模型分爲兩大類:全局局部。 這兩個類別的區別在於“attentional”是放在所有來源語句位置上還是僅放在少數源語句位置上。 我們分別在圖2和3中說明這兩種模型類型。

這兩種類型模型的共同之處在於,在解碼階段的每個時間步驟t 中,兩種方法都首先在堆疊LSTM的頂層將隱藏狀態ht 作爲輸入。目標是獲得一個上下文向量ct,捕獲相關的源端信息以幫助預測當前目標單詞yt。 雖然這些模型在獲得上下文向量ct 的方式上有所不同,但它們共享相同的後續步驟。

具體來說,給定目標隱藏狀態ht 和源側上下文向量ct,我們使用一個簡單的連接層組合來自兩個矢量的信息以產生注意力隱藏狀態,如下所示:
在這裏插入圖片描述
注意向量ht通過softmax層反饋以產生如下預測分佈:
在這裏插入圖片描述
我們現在詳細介紹每個模型類型如何計算源端上下文向量ct。

3.1 Global Attention

在這裏插入圖片描述
圖2: 全局 attention 模型 —— 在每個時間步驟 t 處,模型基於當前目標狀態 ht 和所有源狀態 hs 推斷可變長度對齊權重向量 at 。然後根據 at 計算所有源狀態的全局上下文向量 ct 的加權平均值。

全局 attention 模型的思想是在推導上下文向量ct 時考慮編碼器的所有隱藏狀態。 在這個模型類型中,變長對齊向量at 的大小等於源側的時間步長的數量,它通過比較當前目標隱藏狀態ht 和每個源隱藏狀態hs 得到:
在這裏插入圖片描述
這裏,score爲基於內容的函數,我們考慮三種不同的選擇:
在這裏插入圖片描述
此外,在我們早期構建基於 attention 的模型的嘗試中,我們使用基於位置的函數,其中對齊分數僅從目標隱藏狀態ht計算,如下:
在這裏插入圖片描述
給定對齊向量作爲權重,將上下文向量ct 計算爲所有源隱藏狀態下的加權平均值。

儘管我們的全局 attention 方式在本質上類似於Bahdanau et al. 2015提出的模型,有幾個關鍵差異反映了我們如何從原始模型中進行簡化和泛化。 首先,我們只需在編碼器和解碼器的頂層LSTM層使用隱藏狀態,如圖2所示。而Bahdanau et al. 2015 將雙向編碼器中將前向和後向源隱藏狀態和非堆疊的單向解碼器中的目標隱藏狀態連接起來。 其次,我們的計算路徑更簡單:我們從ht →at →ct →ht,然後進行預測。 然而,在任何時刻t,Bahdanau et al. 2015 從前一個隱藏狀態構建 ht-1 →at →ct →ht,然後再預測之前再添加一個deep-output 和一個 maxout 層。最後,Bahdanau et al. 2015 只使用一個對齊函數concat 積進行了實驗;而我們顯示其他方法更好。

3.2 Local Attention

在這裏插入圖片描述
圖3: 局部 attention 模型 —— 模型首先爲當前目標單詞預測一個對齊好位置 pt 。 然後使用以源位置pt爲中心的窗口來計算上下文矢量ct(窗口中源隱藏狀態的平均值)。權重 at 從當前目標狀態ht和窗口中的這些源狀態 hs 推斷。

全局 attention 的缺點是對於每個目標單詞它必須關注源語句的所有單詞,這很消耗資源並且可能使翻譯更長的序列(例如段落或文檔)變得不切實際。 爲了解決這個不足,我們提出了一個局部 attention 機制,它每個目標單詞選擇只關注一小部分源位置。

這個模型從Xu et al. 2015 提出的用於處理圖像標題生成任務的soft 和hard attention 模型之間的權衡取得了靈感。 在他們的工作中,soft attention是指全局 attention 方法,其中權重被“softly”地放置在源圖像中的所有補丁上。 而hard attention,一次選擇圖像的一個補丁進行關注。 儘管在推斷時間上花費較少,但hard 注意模型是不可微分的,並且需要更復雜的技術,如方差減少或強化學習來訓練。

我們的局部注意機制有選擇性地集中在一個小窗口的上下文,並且是可微分的。 這種方法的優點是避免了軟注意力的昂貴計算,同時比hard 注意法更易於訓練。 具體來說,在時刻t 模型首先爲每個目標單詞生成一個對齊位置pt。上下文向量ct 通過窗口[pt -D, pt+D] 內的源隱藏狀態集合加權平均計算得到;D 根據經驗選擇。與全局方法不同,局部對齊向量at 是固定維度的,即∈ℝ2D+1。 我們考慮這個模型的以下兩種變體。

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

可預測的對齊(local-p) —— 我們的模型不再假設單調對齊,而是預測一個對齊位置,如下所示:
在這裏插入圖片描述
Wp 和vp 是模型的參數,它們將用於學習來預測位置。 S 爲源語句的長度。 sigmoid 的結果使得pt ∈ [0,S ]。 爲了使對齊點靠近pt,我們放置一個以pt 爲中心的高斯分佈。 具體而言,我們的對齊權重現在定義爲:
在這裏插入圖片描述
我們使用與等式(7) 中相同的align 函數,標準方差依據經驗設置爲σ =D/2。注意,pt 是一個實數;而s 是一個整數 位於窗口中間位置pt。

與[Gregor et al. 2015]的比較 ,它已經提出一個可選擇的注意力 機制用於圖像生成認爲,與我們的局部注意力非常類似。 他們的方法允許模型選擇不同位置和縮放的圖像。 相反,我們對所有目標位置使用相同的“縮放”,這極大地簡化公式並且仍然取得良好的性能。

3.3 Input-feeding Approach

在這裏插入圖片描述
圖4: Input-feeding 方法 —— Attention 向量ht 作爲輸入送給下一個時間步驟以告知模型過去的對齊決策。

在我們提出的全局和局部方法中,attention 的決策是獨立進行的,這不是最好的方式。 而在標準MT中,在翻譯過程中經常保持一個coverage 集以跟蹤哪些源詞已被翻譯。 同樣,在attention NMT中,應該考慮到過去的對齊信息共同作出決定。 爲了解決這個問題,我們提出了一種input-feeding 方法,其中attention 向量ht 在下一個時間步驟與輸入串聯,如圖4所示。這種聯接有兩重效果:(a)我們希望使得模型更完整地關注前面對齊的選擇(b) 我們創建一個非常深度的網絡,在水平和垂直方向同時擴展。

與其他工作比較 —— Bahdanau et al. 2015使用與我們的ct 類似的上下文向量來構建隨後的隱藏狀態,這也可以實現“coverage”效果。 然而,沒有分析這種連接是否有用,正如本文所做的那樣。 另外,我們的方法更 普通;如圖4所示,它可以應用於通用堆棧循環體系結構,包括非 attention 模型。

Xu et al. 2015 提出一種 雙重 attention 方法,在圖片標題生成過程中,將一個額外的約束添加到訓練的目標來確保模型關注圖像的所有部分。 這種約束對於捕獲我們前面提到的NMT中的coverage 效應也很有用。 但是,我們選擇使用 input-feeding 方法,因爲它爲模型靈活地決定它認爲合適的任何 attention 限制

四、Experiments(實驗)

我們在兩個方向上評估我們的模型對英語和德語之間的WMT翻譯任務的有效性。 newstest2013(3000個句子)被用作開發集來選擇我們的超參數。 翻譯的性能基於newstest2014(2737條語句)和newstest2015(2169條語句),用大小寫敏感的BLEU值[Papineni et al. 2002]表示。 依據[Luong et al. 2015],我們使用兩種類型的BLEU報告翻譯的質量(a) tokenized12 BLEU 以用來與已有的 NMT 工作進行比較 (b) NIST13 BLEU 以用來與 WMT 結果進行比較。

4.1 Training Details

我們所有的模型都使用WMT’14訓練數據進行訓練,這些訓練數據由4.5M 個句子對(116M個英文單詞,110M個德文單詞)組成。類似於[Jean et al. 2015],我們將詞彙量限制爲兩種語言中最常見的50K 個單詞。 不在這些入圍詞彙表中的單詞被轉換成通用標記< unk >。

當訓練我們的NMT系統時,依據[Bahdanau et al. 2015; Jean et al. 2015],我們過濾掉長度超過50個單詞的語句對並洗亂mini-batch。 我們的堆疊LSTM模型有4層,每層有1000個單元,以及1000維嵌入。 在訓練NMT時,我們採用和[Sutskever et al. 2014; Luong et al. 2015]相似的設置: (a) 參數均勻分佈地初始化爲[-0.1,0.1]; (b) 使用普通的SGD訓練10個週期 ;© 採用簡單的學習速率調整 — 開始學習速率爲1,5 個週期之後,每個週期的學習速率減半 ;(d) mini-batch 大小爲 128 ;(e) 每當norm 超過5時就將normalized 梯度重新縮放。 另外,依據[Zaremba et al. 2015]的建議,我們還對 LSTM 使用概率爲 0.2 的丟棄。 對於丟棄模型,我們訓練12個時期,並在8個週期後開始將學習率減半。 對於局部 attention 模型,我們憑經驗設定窗口大小D = 10。

我們的代碼在MATLAB中實現。 在單個 GPU 設備 Tesla K40 上運行時,速度達到每秒 1K 個目標 單詞。 完成模型訓練需要7-10天的時間。

4.2 English-German Results

4.3 German-English Results

五、Analysis

我們進行廣泛的分析,以更好地瞭解我們的模型在學習方面,處理長句的能力,注意力架構的選擇以及對齊質量。

5.1 Learning curves

在這裏插入圖片描述
圖5: 學習曲線 —— 隨着培訓的進展,英語 - 德語NMT的newstest2014測試成本(ln困惑度)。

具有dropout(藍色+曲線)的非注意模型比其他非退出模型學習速度更慢,但隨着時間的推移,它在減少測試錯誤方面變得更加穩健。

5.2 Effects of Translating Long Sentences

在這裏插入圖片描述
圖6: 長度分析 —— 不同系統作爲句子的翻譯質量變得更長。

我們最好的模型(藍色+曲線)勝過所有長度桶中的所有其他系統。

5.3 Choices of Attentional Architectures

在這裏插入圖片描述
表4:Attention 的架構 —— 不同Attention 模型的性能。我們訓練了兩個局部m(dot)模型;兩者的 ppl 都>7.0。

我們研究了不同的關注模型(global, local-m,local-p)和不同的對齊函數(location,dot,general,concat)如章節3中所述。 由於資源有限,我們無法運行所有可能的組合。 但是,表4中的結果確實爲我們提供了關於不同選擇的一些想法。 基於位置的函數沒有學習到很好的對齊:與使用其它對齊函數相比,在實現未知單詞替換時,全局(位置) 模型只能獲得很小的提升。對於基於內容 的函數,我們的實現concat 沒有得到很好的性能,還需要更多的分析去理解其原因。有興趣的讀者可以觀察到 dot 對於全局attention 工作的很好,而 general 對於局部attention 更好。 在不同的模型中,無論是 perplexity 還是 BLEU ,具有預測性對齊的attention 模型(local-p)都是最好的。

5.4 Alignment Quality

在這裏插入圖片描述
表6: AER scores —— 不同模型對RWTH英德比對數據的結果。

Attention模型的副產品是單詞的對齊。 雖然[Bahdanau et al. 2015] 對某些示例句子進行可視化對齊,並觀察到翻譯質量的改進作爲attention 模型如何工作的指示,但沒有工作評估整個學習的對齊。 相反,我們着手使用對準誤差率(AER)度量來評估對準質量。

我們還發現,局部注意模型產生的比對結果比全局注意模型得到的AERs更低。

5.5 Sample Translations

翻譯示例

六、Conclusion

在本文中,我們提出了兩種簡單而有效的神經機器翻譯註意機制:一種是全局方法,它總是關注所有的源位置;另一種是局部方法,它每次只關注源位置的一個子集。我們測試了我們的模型在英語和德語雙向翻譯任務中的有效性。我們的局部注意力產生了巨大的收益,高達5.0BLEU,超過已知的非注意模式。對於英語到德語的翻譯方向,我們的集成模型已經爲WMT ’ 14和WMT ’ 15建立了新的最先進的結果,在NMT模型和n-gram LM rerankers的支持下,比現有的最佳系統表現好了1.0 BLEU以上。

我們比較了各種對齊功能,並闡明瞭哪些功能最適合哪些注意模型。我們的分析表明,在許多情況下,基於注意的NMT模型優於非注意的NMT模型,例如在翻譯姓名和處理長句方面。

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