現有的當前最佳機器翻譯系統都是基於編碼器-解碼器架構的,兩者都有注意力機制,但現有的注意力機制建模能力有限。本文提出了一種替代方法,這種方法依賴於跨越兩個序列的單個 2D 卷積神經網絡。該網絡的每一層都會根據當前生成的輸出序列從新編碼源 token。所以相似注意力機制的屬性適用於整個網絡。該模型獲得了很是出色的結果,比當前最佳的編碼器-解碼器系統還要出色,並且從概念上講,該模型也更加簡單、參數更少。網絡
引言架構
深度神經網絡對天然語言處理技術形成了深遠的影響,尤爲是機器翻譯(Blunsom, 2013; Sutskever et al., 2014; Cho et al., 2014; Jean et al., 2015; LeCun et al., 2015)。能夠將機器翻譯視爲序列到序列的預測問題,在這類問題中,源序列和目標序列的長度不一樣且可變。目前的最佳方法基於編碼器-解碼器架構(Blunsom, 2013; Sutskever et al., 2014; Cho et al., 2014; Bahdanau et al., 2015)。編碼器「讀取」長度可變的源序列,並將其映射到向量表徵中去。解碼器以該向量爲輸入,將其「寫入」目標序列,並在每一步用生成的最新的單詞更新其狀態。基本的編碼器-解碼器模型通常都配有注意力模型(Bahdanau et al., 2015),這樣就能夠在解碼過程當中重複訪問源序列。在給定解碼器當前狀態的狀況下,能夠計算出源序列中的元素的機率分佈,而後使用計算獲得的機率分佈將這些元素的特徵選擇或聚合在解碼器使用的單個「上下文」向量中。與依賴源序列的全局表徵不一樣,注意力機制(attention mechanism)容許解碼器「回顧」源序列,並專一於突出位置。除了概括偏置外,注意力機制還繞過了如今大部分架構都有的梯度消失問題。性能
但現有的注意力機制建模能力有限,通常是對源表徵的權重求和(Bahdanau et al., 2015; Luong et al., 2015),在這些模型中,這裏的權重是源元素和目標元素的簡單匹配。注意力模塊將相同的源詞編碼從新組合,在解碼時就沒法從新編碼或從新解釋源序列。編碼
爲了克服這些侷限,咱們提出了一種基於深度 2D 卷積神經網絡的可替代神經 MT 架構。源序列和目標序列中的位置的積空間定義了用於定義網絡的 2D 網格。屏蔽卷積核,使其沒法訪問源自目標序列將來 token 的信息,從而得到與圖像和音頻波形中經常使用的生成模型(Oord et al., 2016a,b)相似的自迴歸模型(autoregressive model)。相關說明請參見圖 1。翻譯
這種方法容許咱們根據一堆 2D 卷積層學到深度特徵的層次關係,並從訓練過程當中的並行運算受益。咱們的網絡的每一層都能根據目前生成的目標序列計算出源 token 的特徵,並利用這些特徵預測出下一個輸出 token。所以,咱們的模型經過構造相似注意力的能力,使這種能力適用於網絡的全部層,而不是「添加」一個注意力模型。blog
咱們在 IWSLT 2014 的德譯英 (De-En) 和英譯德 (En-De) 任務上經過實驗驗證了模型。咱們改良了目前最佳的具有注意力機制的編碼器-解碼器模型,同時,從概念上講咱們的模型更加簡單,參數更少。token
圖 1:咱們的模型中的卷積層隱藏了 3*3 的卷積核,這樣就能夠只根據以前的輸出計算特徵。在一層(深藍色)和兩層(淺藍色)以後的感覺野的圖示,還有正常的 3*3 卷積核視野的隱藏部分(灰色)。io
論文:Pervasive Attention: 2D Convolutional Neural Networks for Sequence-to-Sequence Predictionclass
論文連接:https://arxiv.org/pdf/1808.03867v1.pdfpdf
現有的當前最佳機器翻譯系統都是基於編碼器-解碼器架構的,首先要對輸入序列進行編碼,而後根據輸入的編碼生成輸出序列。這二者都有注意力機制,注意力機制能夠根據解碼器的狀態從新組合源 token 的固定編碼。咱們提出了一種可替代的方法,這種方法依賴於跨越兩個序列的單個 2D 卷積神經網絡。咱們的網絡的每一層都會根據當前生成的輸出序列從新編碼源 token。所以相似注意力機制的屬性適用於整個網絡。咱們的模型獲得了很是出色的結果,比當前最佳的編碼器-解碼器系統還要出色,並且從概念上講咱們的模型也更加簡單、參數更少。
卷積網絡最廣爲人知的應用是在視覺識別模型中(Oord et al., 2016a; Salimans et al., 2017; Reed et al., 2017; Oord et al., 2016c)。近期也有一些將卷積網絡引入天然語言處理中的研究。第一個卷積方法是編碼由堆疊的詞向量組成的長度可變的序列,運用 1D 卷積,再用最大池化操做聚合(Collobert and Weston, 2008; Kalchbrenner et al., 2014; Kim, 2014)。就序列生成而言,Ranzato 等人(2016)、Bahdanau 等人(2017)以及 Gehring 等人(2017a)的研究將卷積編碼器和 RNN 解碼器融合。Kalchbrenner 等人(2016b)首次在編碼器-解碼器模型中引入了完整卷積過程,但他們沒有對當前最佳的循環架構中加以改進。Gehring 等人(2017b)在編碼器和解碼器模塊中用了帶有線性門控單元的 1D CNN(Meng et al., 2015; Oord et al., 2016c; Dauphin et al., 2017)進行機器翻譯,獲得的結果比深度 LSTM 要好。
基於 CNN 和基於 RNN 的模型之間的區別在於,基於 CNN 的模型的時序鏈接被置於網絡的層之間,而非層內。相關概念圖請參見圖 2。這種在鏈接上顯而易見的微小差別可能形成兩種重要的結果。第一,這種鏈接使可視域在卷積網絡的層間線性增加,但在循環網絡的層中則是無邊界的。其次,RNN 中的激活值只能以序列方式計算,但在卷積網絡中則能夠在時序維度上並行計算。
圖 2:有兩個隱藏層的解碼器網絡拓撲結構圖示,底部和上部的節點分別表示輸入和輸出。RNN 用的是水平方向的鏈接,卷積網絡用的是對角方向的鏈接。這兩種方法都用了垂直鏈接。參數可跨時間步(水平方向)共享,但不跨層(垂直方向)共享。
實驗結果
咱們將在本節中探索模型中的幾個參數所形成的影響,這幾個參數有:token 嵌入維度、深度、增加率和卷積核大小。咱們也在源維度中對不一樣的聚合機制進行了評估,這些聚合機制有:最大池化、平均池化以及注意力機制。
咱們在每一個給定的設置下都訓練了五個初始值不一樣的模型,並報告 BLEU 分數的平均值和標準差。咱們還用了與 Vaswani 等人(2017)相似的方式,根據訓練的系統時間和 GPU 的單精度規格估計了每一個模型的參數數量以及訓練過程當中的計算成本。
表 1:經過不一樣池化操做以及使用門控捲積單元訓練的模型(L=24,g=32,ds=dt=128)。
從表 1 可知,與用平均池化相比,在源維度上用最大池化時 BLEU 能夠提升約 2 個點。用公式(3)中的
縮放平均表徵有助於提升模型性能,但最大池化的性能仍是要優於平均池化。在每一個卷積層的上方添加線性門控單元沒法改善 BLEU 分數,但因爲添加了額外的參數而增長了變量。獨立的自注意力(即加權平均池化)的表現比平均池化好一點,可是仍是不如最大池化的表現好。將最大池化後獲得的特徵(公式(2))和經過自注意力得到的表徵(式(9))串聯在一塊兒,能夠輕微改善模型表現,但這一改善相當重要(從 33.70 到 33.81)。在咱們餘下的實驗中,除非另行說明,不然咱們都會用最大池化法簡化模型。
圖 4:token 嵌入大小、層數(L)及增加率(g)產生的影響。
圖 4 所示是 token 嵌入大小、網絡增加率及網絡深度所產生的影響。token 嵌入大小和增加率 g 控制的是沿着源維度經過池化操做傳遞的特徵數量,可用於 token 預測。在源序列和目標序列中用的 token 嵌入大小都相同,即 d=d_t=d_s,網絡預測出的 token 的特徵的總數量是 fL=2d+gL。咱們能夠從圖 4 中瞭解到,token 嵌入大小在 128 到 256 之間時,BLEU 分數在 33.5 和 34 之間。嵌入較小會迅速下降模型性能,嵌入爲 64 時會使模型性能降至 32.2。增加率(g)對模型表現有重要影響,將其從 8 提升到 32,BLEU 能夠增加超過 2.5 個點。g=32 以後模型性能達到飽和,模型只有微乎其微的改善。在模型性能和計算損失中進行取捨,咱們在剩餘的實驗中都將採用 g=32。網絡的深度對其表現也有重要的影響,當網絡深度從 8 增加到 24 時,BLEU 分數增加了約 2 個點。當越過這個點後,因爲過擬合,模型表現降低,這意味着咱們在構造更深的網絡以前應該增長 dropout 值或添加另外一級正則化。咱們的模型的感覺野是由其深度和卷積核的大小控制的。在表 2 中,咱們注意到在複雜程度相同、層數較少的狀況下,狹窄的感覺野比大一點的感覺野表現更好,例如,將(k=3,L=20)和(k=5,L=12)相比較,或將(k=5,L=16)和(k=7,L=12)相比較。
圖 5:不一樣的句子長度獲得的 BLEU 分數。
圖 6:咱們的普適注意力模型(Pervasive Attention model)生成的隱式 BPE 的 token 級對齊。在最大池化聚合中咱們將式(7)中的 α 可視化,而在自注意力聚合中咱們可視化的是式(8)中的權重 ρ。
表 3:與目前最佳的 IWSLT 德譯英的機器翻譯結果進行比較。(*):用咱們的方法獲得的結果。(**):用 FairSeq(Gehring et al., 2017b)獲得的結果。