論文 · arXiv 1706.03762
Attention Is All You Need
三句話總結
- 🎯 循環模型沿著權元位置依序執行,阻礙了訓練序列內的平行化,且難以有效處理長距離路徑長度。
- 🔧 提出了 Transformer 編碼器-解碼器架構,完全基於縮放點積多頭自注意力機制與逐位置前饋網路構建。
- 📈 在 WMT 2014 英德任務(28.4 BLEU)與英法任務(41.8 BLEU)取得 SOTA 翻譯表現,僅需 8 顆 GPU 訓練 3.5 天。
摘要
主流的序列轉換模型大多基於編碼器-解碼器架構下的複雜循環或卷積神經網路。表現最佳的模型也透過注意力機制將編碼器與解碼器連結起來。我們提出了一種嶄新且簡潔的網路架構——Transformer,它完全基於注意力機制,徹底捨棄了循環與卷積結構。在兩項機器翻譯任務上的實驗顯示,這些模型在品質上更為優異,同時具備更高的平行化能力,並大幅縮短了訓練時間。在 WMT 2014 英德翻譯任務中,我們的模型達到了 28.4 BLEU,超越包含整合模型在內的現有最佳成績逾 2 BLEU。在 WMT 2014 英法翻譯任務中,我們的模型僅在 8 顆 GPU 上訓練 3.5 天,即創下 41.8 BLEU 的全新單一模型 SOTA 分數,訓練成本僅為文獻中最佳模型的一小部分。我們進一步將 Transformer 成功應用於大規模與有限訓練資料的英語成分句法剖析,證明其具備極佳的泛化能力。
英文原文摘要
The dominant sequence transduction models are based on complex recurrent or convolutional neural networks in an encoder-decoder configuration. The best performing models also connect the encoder and decoder through an attention mechanism. We propose a new simple network architecture, the Transformer, based solely on attention mechanisms, dispensing with recurrence and convolutions entirely. Experiments on two machine translation tasks show these models to be superior in quality while being more parallelizable and requiring significantly less time to train. Our model achieves 28.4 BLEU on the WMT 2014 English-to-German translation task, improving over the existing best results, including ensembles by over 2 BLEU. On the WMT 2014 English-to-French translation task, our model establishes a new single-model state-of-the-art BLEU score of 41.8 after training for 3.5 days on eight GPUs, a small fraction of the training costs of the best models from the literature. We show that the Transformer generalizes well to other tasks by applying it successfully to English constituency parsing both with large and limited training data.
論文解讀
問題與動機
主流的序列轉換架構主要依賴由編碼器-解碼器結構組成的循環神經網路(如 LSTM 或 GRU)或卷積神經網路。循環網路本質上沿著時間步依序計算隱藏表徵( 需依賴 及輸入 ),這阻礙了訓練樣本內部跨時間步的平行運算。此外,在循環網路中連結遙遠位置需要 次循序操作,而像 ConvS2S 與 ByteNet 這樣的卷積模型也需要 或 次操作才能連結任意位置。作者的目標是建構一種徹底摒棄循環與卷積的架構,在實現序列長度完全平行化的同時,將任意兩個權元之間的最大路徑長度縮減至 。
核心概念
- 純注意力架構(Pure Attention Architecture):徹底捨棄循環連接,改用注意力機制直接映射序列中所有位置之間的依賴關係。
- 縮放點積注意力(Scaled Dot-Product Attention):將相乘的點積除以 ,以防止高維度下的點數值過大,避免將 softmax 函數推向梯度極度消失的區域。
- 多頭注意力(Multi-Head Attention):平行地將查詢(queries)、鍵(keys)與值(values)線性投影至多個低維表徵子空間,使網路能同時關注來自不同位置與表徵空間的資訊。
- 位置編碼(Positional Encoding):由於注意力運算具備排列不變性,因此在輸入與輸出嵌入向量中加入不同頻率的固定正弦波函數,以編碼權元的順序資訊。
方法
Transformer 採用編碼器-解碼器框架,兩者各包含 個完全相同的堆疊層。
編碼器與解碼器
每個編碼器層包含兩個子層:多頭自注意力機制以及逐位置完全連接前饋網路(FFN)。每個子層皆應用殘差連接與層正規化(layer normalization):,運作維度為 。
每個解碼器層包含三個子層:遮罩多頭自注意力(遮蔽未來位置以維持自迴歸解碼特性)、針對編碼器堆疊輸出的多頭跨注意力(cross-attention),以及逐位置 FFN。
數學公式
在封裝矩陣 上的縮放點積注意力計算如下:
多頭注意力結合了 個平行投影: 在基礎模型中, 且 。
逐位置前饋子層對每個位置進行完全相同的處理: 其中內部層維度為 。
位置編碼由正弦與餘弦函數定義:
成果
- WMT 2014 英德:Transformer(big)達到 28.4 BLEU 的 SOTA 分數,超越先前的模型與整合模型 2.0 BLEU 以上。基礎模型以 FLOPs 達到 27.3 BLEU,計算成本僅為以往架構的一小部分。
- WMT 2014 英法:大模型(big model)達到 41.8 BLEU(單一模型),在 8 顆 NVIDIA P100 GPU 上僅訓練 3.5 天( FLOPs)即樹立了全新 SOTA。
- 英語成分句法剖析:在 WSJ Section 23 評估且未經任務專屬微調的情況下,4 層 Transformer 在判別式設定下獲得 91.3 ,在半監督設定下達到 92.7 ,均超越 RNN 基線。
限制與開放問題
- 標準自注意力機制的每層計算複雜度為 ,當面對極長序列 時,計算成本會變得極為昂貴。
- 解碼器的生成過程仍屬自迴歸模式(逐一循序生成權元),這限制了推論延遲的降低空間。
- 論文指出,為了有效處理龐大的輸入與輸出上下文(例如圖像、音訊、視訊),未來需進一步研究局部或受限注意力鄰域()。
關鍵術語
- Transformer
- 一種完全基於自注意力機制、不含循環或卷積結構的序列轉換模型架構。
- Scaled Dot-Product Attention (縮放點積注意力)
- 一種注意力函數,在對值進行 softmax 計算前,先將查詢與鍵的點積除以鍵維度的平方根 。
- Multi-Head Attention (多頭注意力)
- 一種注意力機制,平行將查詢、鍵與值投影至多個表徵子空間,隨後串接輸出並進行投影。
- Self-Attention (自注意力)
- 一種序列內部注意力機制,用於關聯單一序列內部的不同位置以計算該序列的表徵。
- Positional Encoding (位置編碼)
- 加入至權元嵌入向量中的固定或可學習向量表徵,用於為具排列不變性的注意力層注入序列順序資訊。
- Residual Dropout
- 在將各子層輸出加回輸入並應用層正規化之前,以及在權元嵌入向量上所應用的 Dropout 機制。
- Label Smoothing (標籤平滑)
- 一種訓練期間數值設為 的正規化技術,透過懲罰過於自信的預測,雖然會稍微損害困惑度(perplexity),但能提升 BLEU 分數。
- Constituency Parsing (成分句法剖析)
- 一種需要高度結構化約束與長目標輸出的句法 NLP 任務,論文以此證明 Transformer 架構具備良好的泛化能力。
常見問題
為什麼縮放點積注意力需要除以 $\sqrt{d_k}$?
當 數值較大時,點積的量級容易大幅膨脹(在零均值和單位方差的假設下,點積的方差為 ),導致 softmax 函數落入梯度極小的飽和區域。除以 進行縮放可有效抵消此現象。
在沒有循環結構的情況下,Transformer 如何保留權元順序?
它在編碼器與解碼器堆疊的最底層,直接在輸入與輸出嵌入向量中加上正弦波位置編碼,為每個權元位置賦予基於不同頻率的唯一模式。
在訓練過程中,是什麼機制防止解碼器位置關注未來的權元?
解碼器的自注意力子層採用遮罩機制,將 softmax 輸入中對應未來非法連線的位置數值設為 。
訓練所需的硬體與計算資源為何?
基礎模型在一台配備 8 顆 NVIDIA P100 GPU 的機器上訓練了 100,000 步(耗時 12 小時,每步約 0.4 秒)。大模型則訓練了 300,000 步(耗時 3.5 天,每步約 1.0 秒)。
本頁解讀由 AI 根據論文生成,可能有錯誤;細節請以原文為準。