谷歌大腦、谷歌研究院和多倫多大學學者合作的一項新研究稱,使用一種完全基于注意力機制(Attention)的簡單網絡架構 Transformer 用于機器翻譯,效果超越了當下所有公開發表的機器翻譯模型,包括集成模型。值得一提的是,該研究沒有使用任何循環或卷積,全部依賴注意力機制。正如文章的標題所說:“注意力機制是你需要的全部(Attention Is All You Need)。
谷歌“新成員” Ian Goodfellow 在個人 twitter 上賣力轉發這一論文。
回應 Facebook?巨頭在機器翻譯技術上的暗中較勁
上個月,Facebook AI 研究 (FAIR)團隊發布了一項使用創新性的、基于卷積神經網絡的方法來進行語言翻譯的最新成果。Facebook 稱,該研究取得了截止目前最高準確度,并且速度是基于循環神經網絡(RNN)系統的9倍(谷歌的機器翻譯系統使用的就是這一技術)。
現在,谷歌的這一篇論文說的是,我們不僅不用CNN,我們連RNN也不用了,就一個Attention 就能搞定機器翻譯,而且效果最好,性價比最高。
巧合的是,與Facebook發布研究成果時一樣,谷歌在本次研究成果的發布上,不僅強調BLUE測評分數上拿到最好,實現業界最佳,并且還特別提到了訓練時間和GPU消耗:“模型訓練是在 8 顆 P100 GPU 上3.5 天完成。”
注意力機制是你需要的全部
一直以來,在序列建模和序列轉導問題中,比如涉及語言建模和機器翻譯的任務,循環神經網絡(RNN),尤其是長短時記憶(LSTM)及門循環網絡,都被視為最先進的方法。研究人員也想方設法拓展循環語言建模和編碼器-解碼器架構。
其中,注意力機制自提出以來便成為序列建模和轉導模型不可或缺的一部分,因為注意力機制能夠在不關注輸入輸出序列之間距離的情況下,對依存(dependence)建模。只有在極少數的案例中,作者將注意力機制與一個循環網絡作為整個網絡中相等的結構,并行放置。
在谷歌大腦最新公開的一項研究中,研究人員提出了一個全新的架構 Transformer,完全依賴注意力機制從輸入和輸出中提取全局依賴,不使用任何循環網絡。
谷歌大腦的研究人員表示,Transformer 能夠顯著提高并行效率,僅在 8 顆 P100 GPU 上訓練 12 小時就能達到當前最高性能。
論文作者以 Extended Neural GPU、ByteNet 和 ConvS2S 為例,這些結構都使用卷積神經網絡(CNN)作為基本的模塊,并行計算所有輸入和輸出位置的隱藏表征,從而減少序列計算的計算量。在這些模型中,將來自兩個任意輸入或輸出位置的信號相關聯的運算次數會根據位置之間的距離增加而增加,對于 ConvS2S 這種增加是線性的,而對于 ByteNet 則是呈對數增長的。
這讓學習距離較遠的位置之間的依賴難度增大。在 Transformer 當中,學習位置之間的依賴被減少了,所需的運算次數數量是固定的。
這需要使用自注意力(Self-attention),或內部注意力(intra-attention),這是一種與單個序列中不同位置有關的注意力機制,可以計算出序列的表征。
以往研究表明,自注意力已被成功用于閱讀理解、抽象概括等多種任務。
不過,谷歌大腦的研究人員表示,據他們所知,Transformer 是第一個完全依賴自注意力的轉導模型,不使用 RNN 或 CNN 計算輸入和輸出的表征。
摘要
當前主流的序列轉導(transduction)模型都是基于編碼器-解碼器配置中復雜的循環或卷積神經網絡。性能最好的模型還通過注意力機制將編碼器和解碼器連接起來。我們提出了一種簡單的網絡架構——Transformer,完全基于注意力機制,沒有使用任何循環或卷積神經網絡。兩項機器翻譯任務實驗表明,這些模型質量更好、可并行化程度更高,并且能大大減少訓練時間。
我們的模型在 WMT 2014 英德翻譯任務上實現了 28.4 的 BLEU 得分,在現有最佳成績上取得了提高,其中使用集成方法,超過了現有最佳成績 2 個 BLEU 得分。在 WMT 2014 英法翻譯任務中,我們的模型在單一模型 BLEU 得分上創下了當前最高分 41.0,而訓練時間是在 8 顆 GPU 上訓練 3.5 天,相比現有文獻中的最佳模型,只是其訓練成本的很小一部分。我們還顯示了 Transformer 泛化性能很好,能夠成功應用于其他任務,比如在擁有大規模和有限訓練數據的情況下,解析英語成分句法解析(English constituency parsing)。
模型架構
大多數性能較好的神經序列轉導模型都使用了編碼器-解碼器的結構。Transformer 也借鑒了這一點,并且在編碼器-解碼器上使用了全連接層。
編碼器:由 6 個完全相同的層堆疊而成,每個層有 2 個子層。在每個子層后面會跟一個殘差連接和層正則化(layer normalization)。第一部分由一個多頭(multi-head)自注意力機制,第二部分則是一個位置敏感的全連接前饋網絡。
解碼器:解碼器也由 6 個完全相同的層堆疊而成,不同的是這里每層有 3 個子層,第 3 個子層負責處理編碼器輸出的多頭注意力機制。解碼器的子層后面也跟了殘差連接和層正則化。解碼器的自注意力子層也做了相應修改。
(圖1)Transformer 的架構示意圖
(圖2)具體采用的注意力機制。左邊是 Scaled Dot-Roduct Attention,右邊是多頭注意力(Multi-Head Attention),由幾個并行的層組成。
在編碼器-解碼器層當中,query 來自上一個解碼層,編碼器輸出值(value)及 memory key。這樣,解碼器中所有位置都能照顧到輸入序列中的所有位置。
編碼器含有自注意力層。在自注意力層中,所有的 key、value 和 query 都來自同一個地方,那就是編碼器的上一層輸出。編碼器中的每一個位置都能照顧到編碼器上一層中所有的位置。
同樣,解碼器中的自注意力層讓解碼器中所有位置都能被注意到,包括那個位置本身。
創造了BLEU的最高分28.4
在WMT2014 英語到德語的翻譯任務中,我們的大型transformer在性能上優于此前在有記錄的所有模型(包括集成的模型),并且創造了BLEU的最高分28.4。
模型的配置詳情見表3下的清單。訓練過程為3.5天,在8顆P100 GPU上運行。即便是我們最基礎的模型,也超越了此前所有發布的和集成的模型,但是訓練的成本卻只是此前最好的一批模型中的一小部分。
表2:Transformer 在英語到德語和英語到法語新聞測試2014數據集上,比此前最好的模型獲得的BLEU分數都要高。
表2 總結了我們的結果,并與其他模型在翻譯質量和訓練成本上進行對比。我們評估了被用于訓練模型的浮點操作數量,用來乘以訓練時間,使用的GPU的數量,并評估了每一顆GPU中,可持續的單精度浮點承載量。
表4 Transformer 在英語成分句法解析任務上也取得了較好的效果。(基于WSJ Section 23 數據庫)
為了測試Transformer能否用于完成其他任務,我們做了一個在英語成分句法解析上的實驗。這一任務的難度在于:輸出受到結構限制的強烈支配,并且比輸入要長得多得多。另外,RNN序列到序列的模型還沒能在小數據領域獲得最好的結果。
會盡快開源論文代碼,供人訓練和評估模型
谷歌大腦研究人員提出了首個完全基于注意力的序列轉導模型 Transformers,用自注意力取代了編碼器-解碼器架構中最常用的循環層。
對于翻譯任務,Transformer 的訓練時間比基于循環或卷積層的架構明顯更快。在 WMT 2014 英德翻譯和 WMT 2014 英法翻譯任務中,Transformer 實現了當前最好的結果。
論文作者還通過實驗證明了 Transformer 具有良好的泛化性能,能夠用于其他任務。
作者在論文的結論中寫道,他們十分關注基于注意力模型的架構,并計劃將其應用于其他任務,比如文本之外的輸入和輸出模式問題,以及探索如何將本地及受限制注意機制用于有效處理圖像、音頻和視頻等擁有大量輸入和輸出的問題。
標簽:
本站文章除注明轉載外,均為本站原創或翻譯。歡迎任何形式的轉載,但請務必注明出處、不得修改原文相關鏈接,如果存在內容上的異議請郵件反饋至chenjj@fc6vip.cn