> [!abstract] 概要 > 主流の系列変換モデルは、エンコーダとデコーダを含む複雑な再帰型または畳み込みニューラルネットワークに基づいている。最良のモデルはさらに、アテンションメカニズムを介してエンコーダとデコーダを接続する。本論文では、再帰と畳み込みを完全に排し、アテンションメカニズムのみに基づく新しいシンプルなネットワークアーキテクチャ、Transformer を提案する。2 つの機械翻訳タスクでの実験により、これらのモデルが品質において優れ、並列化可能性が高く、訓練時間が大幅に短いことを示す。本モデルは WMT 2014 英独翻訳タスクで BLEU 28.4 を達成し、アンサンブルを含む既存最良結果を 2 BLEU 以上上回る。WMT 2014 英仏翻訳タスクでは、8 GPU で 3.5 日間の訓練の後、単一モデルの新たな最高 BLEU スコア 41.8 を確立した。これは文献上の最良モデルの訓練コストのごく一部である。Transformer が他のタスクにもよく汎化することを、大規模・限定データの双方で英語の句構造解析に適用して示す。 ## 論文情報 - **タイトル**: Attention Is All You Need - **著者**: Ashish Vaswani, Noam Shazeer, Niki Parmar, Jakob Uszkoreit, Llion Jones, Aidan N. Gomez, Łukasz Kaiser, Illia Polosukhin(全員等貢献) - **所属**: [[Google Brain]]、Google Research、トロント大学 - **媒体**: 31st Conference on Neural Information Processing Systems (NeurIPS 2017)、Long Beach, CA, USA - **発表年**: 2017 - **arXiv**: 1706.03762 - **コード**: https://github.com/tensorflow/tensor2tensor ## 概要 本論文は、再帰(リカレンス)および畳み込みを一切用いず、自己アテンション(self-attention)メカニズムのみに基づく系列変換モデル Transformer を提案する。Transformer は従来の RNN/CNN ベースモデルを翻訳品質と訓練効率の双方で凌駕し、WMT 2014 英独翻訳で BLEU 28.4、英仏翻訳で BLEU 41.8 を達成した。アーキテクチャの並列化可能性の高さにより、8 台の P100 GPU で 3.5 日という短い訓練時間で最先端の性能に到達している。 ## 問題設定 系列変換(sequence transduction)は、入力記号列 $(x_1, \dots, x_n)$ を出力記号列 $(y_1, \dots, y_m)$ へ変換するタスクである。機械翻訳がその典型例にあたる。 従来の系列変換モデルは RNN(特に LSTM やゲート付き再帰ユニット)を基盤とし、エンコーダ・デコーダ構造を採用していた。しかし RNN は系列位置に沿って逐次的に計算を行うため、訓練時の並列化が本質的に制約され、系列長が長くなるほどメモリ制約とあわせて深刻なボトルネックとなっていた。CNN ベースの手法(ByteNet、ConvS2S)は並列計算を可能にするが、任意の 2 位置間の依存関係を捉えるために必要な演算数が距離に応じて線形ないし対数的に増大するという課題があった。 ## 提案手法 ### アーキテクチャ概要 Transformer はエンコーダ・デコーダ構造を踏襲しつつ、各レイヤーを自己アテンションと位置ごとの全結合フィードフォワードネットワークのみで構成する。 **エンコーダ**: $N = 6$ 層の同一レイヤーを積み重ねる。各レイヤーは (1) マルチヘッド自己アテンション、(2) 位置ごとのフィードフォワードネットワーク、の 2 つのサブレイヤーからなる。各サブレイヤーの周囲には残差接続(residual connection)を設け、その後にレイヤー正規化を適用する。すなわち各サブレイヤーの出力は $\mathrm{LayerNorm}(x + \mathrm{Sublayer}(x))$ となる。残差接続を容易にするため、全サブレイヤーおよびエンベディング層の出力次元を $d_{\mathrm{model}} = 512$ に統一する。 **デコーダ**: 同じく $N = 6$ 層の同一レイヤーからなる。エンコーダの 2 つのサブレイヤーに加え、エンコーダスタックの出力に対するマルチヘッドアテンション(エンコーダ・デコーダアテンション)を挿入した 3 サブレイヤー構成をとる。デコーダの自己アテンションサブレイヤーでは、自己回帰性を保つために、各位置がそれ以降の位置を参照することを防ぐマスキングを施す。 ### Scaled Dot-Product Attention アテンション関数は、クエリ $Q$、キー $K$(ともに次元 $d_k$)、バリュー $V$(次元 $d_v$)に対して以下のように計算される。 $\mathrm{Attention}(Q, K, V) = \mathrm{softmax}\!\left(\frac{QK^T}{\sqrt{d_k}}\right)V$ $\sqrt{d_k}$ によるスケーリングは、$d_k$ が大きい場合に内積の絶対値が増大して softmax の勾配が極端に小さくなる問題を緩和するために導入されている。加法的アテンション(additive attention)と比較して、内積アテンション(dot-product attention)は高度に最適化された行列積演算を利用できるため、実行速度と空間効率に優れる。 ### Multi-Head Attention $d_{\mathrm{model}}$ 次元の単一アテンションの代わりに、クエリ・キー・バリューを $h$ 個の異なる学習済み線形射影でそれぞれ $d_k$、$d_k$、$d_v$ 次元に射影し、各射影上で並列にアテンション関数を適用する。 $\mathrm{MultiHead}(Q, K, V) = \mathrm{Concat}(\mathrm{head}_1, \dots, \mathrm{head}_h)W^O$ $\text{where } \mathrm{head}_i = \mathrm{Attention}(QW_i^Q, KW_i^K, VW_i^V)$ 本論文では $h = 8$ ヘッド、$d_k = d_v = d_{\mathrm{model}} / h = 64$ を使用する。各ヘッドの次元を縮小するため、総計算コストは全次元の単一ヘッドアテンションと同程度に抑えられる。マルチヘッド構成により、モデルは異なる表現部分空間・異なる位置からの情報に同時に注目できる。 Transformer ではマルチヘッドアテンションを 3 通りに使用する。(1) エンコーダ・デコーダアテンション:クエリはデコーダ前層から、キーとバリューはエンコーダ出力から供給。(2) エンコーダ側自己アテンション:同一レイヤー内で全位置が相互参照。(3) デコーダ側自己アテンション:自己回帰性を維持するため、未来の位置をマスクして参照を遮断する。 ### 位置エンコーディング Transformer は再帰も畳み込みも持たないため、系列中のトークンの順序情報を注入する必要がある。入力エンベディングに位置エンコーディング(positional encoding)を加算することでこれを実現する。位置エンコーディングはエンベディングと同じ次元 $d_{\mathrm{model}}$ を持ち、正弦・余弦関数を用いて以下のように定義される。 $PE_{(pos, 2i)} = \sin(pos / 10000^{2i/d_{\mathrm{model}}})$ $PE_{(pos, 2i+1)} = \cos(pos / 10000^{2i/d_{\mathrm{model}}})$ 波長は $2\pi$ から $10000 \cdot 2\pi$ までの等比数列をなす。この関数は、固定オフセット $k$ に対して $PE_{pos+k}$ が $PE_{pos}$ の線形関数として表現できるため、相対位置による参照の学習を容易にすると仮説されている。学習可能な位置エンベディングとの比較実験ではほぼ同等の結果が得られたが(表 3 行 (E))、訓練時に遭遇しない長さへの外挿可能性を考慮して正弦波版が採用された。 ### Feed-Forward Network 各レイヤーのアテンションサブレイヤーに加え、位置ごとの全結合フィードフォワードネットワーク(FFN)が設けられる。各位置に同一の 2 層線形変換(間に ReLU 活性化)を適用する。 $\mathrm{FFN}(x) = \max(0, xW_1 + b_1)W_2 + b_2$ 入出力次元は $d_{\mathrm{model}} = 512$、内部層の次元は $d_{ff} = 2048$ である。 ## 新規性 Transformer の核心的な新規性は以下の点にある。 - **再帰・畳み込みの完全な排除**: 自己アテンションのみに基づく初の系列変換モデルである。従来のアテンションメカニズムは RNN と併用されていたが、Transformer は再帰・畳み込みを一切用いない。 - **任意位置間の定数オーダー依存関係**: 自己アテンション層では、系列中の任意の 2 位置が定数回の演算で結合される。RNN は $O(n)$、CNN は $O(\log_k(n))$ の逐次演算を要するのに対し、自己アテンションは $O(1)$ の逐次演算で済む。 - **高い並列化可能性**: 逐次計算の制約がないため、訓練時の並列化が容易である。8 台の P100 GPU で 12 時間(ベースモデル)ないし 3.5 日(大型モデル)で訓練が完了する。 - **Scaled Dot-Product Attention と Multi-Head Attention の組み合わせ**: スケーリング因子 $1/\sqrt{d_k}$ による勾配消失の回避と、複数ヘッドによる異なる部分空間の同時参照を実現する。 ## 実験設定 ### データセット - **WMT 2014 英独翻訳**: 約 450 万文対。バイトペアエンコーディング(BPE)により、ソース・ターゲット共有語彙約 37,000 トークンを使用。 - **WMT 2014 英仏翻訳**: 約 3,600 万文対。32,000 ワードピース語彙を使用。 ### ハードウェア・訓練時間 - 1 台のマシンに NVIDIA P100 GPU 8 基を搭載。 - **ベースモデル**: 1 ステップ約 0.4 秒、計 100,000 ステップ(約 12 時間)。 - **大型モデル(big)**: 1 ステップ約 1.0 秒、計 300,000 ステップ(約 3.5 日)。 ### モデル構成 ベースモデル: $N = 6$、$d_{\mathrm{model}} = 512$、$d_{ff} = 2048$、$h = 8$、$d_k = d_v = 64$、$P_{drop} = 0.1$、パラメータ数 6,500 万。大型モデル: $N = 6$、$d_{\mathrm{model}} = 1024$、$d_{ff} = 4096$、$h = 16$、$P_{drop} = 0.3$、パラメータ数 2 億 1,300 万。 ### 最適化 Adam オプティマイザ($\beta_1 = 0.9$、$\beta_2 = 0.98$、$\epsilon = 10^{-9}$)を使用。学習率は warmup ステップ 4,000 まで線形増加し、その後ステップ番号の逆平方根に比例して減衰させるスケジュールを適用。 ### 正則化 (1) 残差 dropout:各サブレイヤー出力およびエンベディングと位置エンコーディングの和に $P_{drop} = 0.1$ を適用。(2) ラベル平滑化:$\epsilon_{ls} = 0.1$ を適用。パープレキシティは悪化するが、精度と BLEU が向上する。 ## 実験結果 ### 機械翻訳 - **WMT 2014 英独翻訳**: Transformer(big)は BLEU 28.4 を達成。アンサンブルを含む従来最良の GNMT + RL Ensemble(BLEU 26.30)を 2.0 BLEU 以上上回り、新たな最高性能を確立した。ベースモデルでも BLEU 27.3 を達成し、従来の全公開モデルおよびアンサンブルを凌駕した。訓練コスト(浮動小数点演算量)は $2.3 \times 10^{19}$ FLOPs であり、GNMT + RL Ensemble の $1.8 \times 10^{20}$ FLOPs に対して大幅に低い。 - **WMT 2014 英仏翻訳**: Transformer(big)は BLEU 41.8 を達成し、単一モデルの新たな最高 BLEU を樹立した。従来の単一モデル最良(ConvS2S の BLEU 40.46)を上回り、訓練コストは従来最高性能モデルの 4 分の 1 以下であった。英仏タスクの Transformer(big)では dropout 率 $P_{drop} = 0.1$(英独の 0.3 ではなく)を使用した。 - ベースモデルでは最後の 5 チェックポイントの平均、大型モデルでは最後の 20 チェックポイントの平均を使用。ビームサーチはビームサイズ 4、長さペナルティ $\alpha = 0.6$ を適用。 ### モデル変種の分析(表 3) - **(A) ヘッド数の変動**: 計算量を一定に保ちつつヘッド数を変化させた結果、単一ヘッドは最良設定より 0.9 BLEU 低い。ヘッド数が多すぎても性能が低下する。 - **(B) キー次元の縮小**: $d_k$ の縮小はモデル品質を損なう。互換性判定に内積よりも高度な関数が有益である可能性を示唆する。 - **(C) モデルサイズ**: 大きなモデルほど性能が高い。 - **(D) dropout**: dropout は過学習の回避に非常に有効である。 - **(E) 位置エンベディング**: 学習可能な位置エンベディングは正弦波位置エンコーディングとほぼ同等の結果を示す。 ### 英語句構造解析(表 4) Transformer を英語の句構造解析に適用し汎化性を検証した。WSJ のみの訓練(約 40,000 文)で F1 91.3 を達成し、Recurrent Neural Network Grammar を除く全先行モデルを上回った。半教師あり設定(約 1,700 万文追加)では F1 92.7 に達した。 ## 考察 - **並列化可能性**: 自己アテンション層は全位置を定数回の逐次演算で接続するため、RNN の $O(n)$ 逐次演算に比べて大幅に並列化しやすい。この特性が訓練時間の短縮に直結する。 - **汎化性**: 機械翻訳だけでなく英語句構造解析にも有効であり、タスク固有の調整をほとんど行わずに高い性能を示した。著者らはテキスト以外の入出力モダリティ(画像、音声、映像)への拡張や、局所的・制限付きアテンションによる大規模入力への効率的対応を今後の研究方向として挙げている。 - **解釈可能性**: アテンション分布の可視化により、各アテンションヘッドが異なるタスク(長距離依存関係の追跡、照応解決、構文構造の捕捉など)を学習していることが確認された。 ## 強み - 再帰・畳み込みを完全に排除しつつ、機械翻訳で当時の最高性能を大幅に更新した。 - 並列化の容易さにより、8 GPU・3.5 日で大型モデルの訓練が完了する。従来手法比で訓練コストが桁違いに低い。 - アーキテクチャがシンプルであり、エンコーダ・デコーダの双方が同一の基本ブロック(自己アテンション + FFN + 残差接続 + レイヤー正規化)で構成される。 - 句構造解析への適用結果が示すように、タスク固有の設計変更をほとんど加えずに高い汎化性を示す。 ## 弱点・課題 - 自己アテンションの計算量は系列長 $n$ の二乗に比例($O(n^2 \cdot d)$)するため、非常に長い系列の処理に課題がある。論文では制限付き自己アテンション(近傍 $r$ 位置のみ参照)を将来の研究として言及するにとどまる。 - 位置情報の注入方法として正弦波位置エンコーディングを採用しているが、訓練時の系列長を超える外挿性能については仮説にとどまり、実証は限定的である。 - 実験は機械翻訳と句構造解析に限られており、テキスト以外のモダリティへの適用は「今後の課題」として述べられるのみである。 - 大型モデルのパラメータ数は 2 億 1,300 万であり、当時としては大規模だが、具体的なメモリ消費や推論遅延についての分析は含まれていない。