last_modified: 2026-01-11
生成AIによる自動生成記事に関する免責事項: 本記事は、提供された学術論文 arXiv:1706.03762v7 [cs.CL] (Attention Is All You Need) の内容に基づき、大規模言語モデルによって作成された解説記事です。正確な内容は参考文献を必ず参考にしてください。
1. 序論:系列変換モデルにおける並列化の課題とAttentionの役割
系列変換(Sequence Transduction)問題、特に機械翻訳や言語モデリング等のタスクにおいて、長らく再帰型ニューラルネットワーク(Recurrent Neural Networks; RNN)、特にLong Short-Term Memory (LSTM) や Gated Recurrent Unit (GRU) を用いたEncoder-Decoderアーキテクチャが標準的なアプローチとして確立されていた。
再帰型モデルは、入力および出力系列のシンボル位置に沿って計算を因子分解する。計算ステップ における隠れ状態 は、直前の隠れ状態 と位置 における入力の関数として生成される。
この本質的な順序依存性は、学習時における並列化を阻害する要因となる。特に系列長 が増大した場合、メモリ制約によりバッチサイズが制限されるため、この問題は深刻となる。
一方、Attention機構(注意機構)は、入力系列あるいは出力系列内の距離に関わらず依存関係をモデリング可能な手法として導入され、多くの場合RNNと組み合わせて使用されてきた。 Vaswaniら(2017)は、再帰や畳み込みを排除し、Attention機構のみに依存して入力と出力の間の大域的な依存関係を描画する新しいアーキテクチャ「Transformer」を提案した。本稿では、Transformerの構成要素であるScaled Dot-Product Attention、Multi-Head Attention、およびPositional Encodingの数理的特性と、それらがもたらす計算効率の改善について詳述する。
2. 背景:計算複雑性と長距離依存性のトレードオフ
系列モデリングにおける主要な課題の一つは、長距離依存性(Long-range dependencies)の学習である。ネットワーク内の任意の入力位置と出力位置の間で信号が通過しなければならない経路の長さは、依存関係を学習する能力に影響を与える主要因となる。
2.1 既存手法との比較
-
再帰型層(Recurrent Layers): 全位置を接続するために の連続的な操作を必要とする。系列長 が表現次元 よりも小さい場合(多くのNLPタスクで該当)、計算量的には効率的であるが、並列化が不可能である。
-
畳み込み層(Convolutional Layers): ByteNet や ConvS2S は、畳み込みを用いることで全位置の隠れ表現を並列に計算することを可能にした。しかし、離れた位置にある2つの信号を関連付けるために必要な操作数は、層の深さに依存して増大する。ConvS2Sでは線形 、ByteNetでは対数 であり、長距離の依存関係学習を困難にする要因となる。
-
Self-Attention層: これに対し、Transformerで採用されたSelf-Attention層は、すべての位置を定数回 の連続操作で接続する。これにより、最大経路長(Maximum Path Length)が最小化され、長距離依存性の学習が容易になると考えられる。※逐次実行(並列化の観点)に必要な最小ステップ数が定数である
層ごとの計算複雑性については、Self-Attentionは である。これは の領域では再帰型層の よりも高速である。ただし、極めて長い系列に対しては計算コストが増大するため、近傍のみを考慮する制限付きSelf-Attention(Restricted Self-Attention)も提案されている。
3. モデルアーキテクチャ:数理的構造
Transformerは、積み上げられたSelf-Attention層とPoint-wiseな全結合層(Fully Connected Layers)からなるEncoder-Decoder構造を有する。
3.1 EncoderとDecoderのスタック構成
-
Encoder: 個の同一レイヤーのスタックから成る。各レイヤーは2つのサブレイヤーを持つ。
- Multi-Head Self-Attention機構
- 位置ごとの全結合フィードフォワードネットワーク(Position-wise Feed-Forward Networks) 各サブレイヤーの周囲には残差接続(Residual Connection) が施され、その後に層正規化(Layer Normalization) が行われる。すなわち、各サブレイヤーの出力は以下のように記述される。
ここで、全てのサブレイヤーおよび埋め込み層は、次元 の出力を生成する。
-
Decoder: Encoder同様、 個の同一レイヤーのスタックから成る。Encoderの2つのサブレイヤーに加え、3つ目のサブレイヤーとして、Encoderスタックの出力に対してMulti-Head Attentionを行う層が挿入される。 また、Decoder内のSelf-Attention層には修正が加えられている。位置 の予測が より小さい位置の既知の出力のみに依存するように、後続の位置へのAttentionを禁止するマスキング(Masking)処理が適用される。これは自己回帰的(Auto-regressive)な特性を保つために不可欠である。
3.2 Attention機構の定義
Attention関数は、クエリ(Query)、キー(Key)、バリュー(Value)のセットを出力へマッピングする関数として記述される。ここで、これらはすべてベクトルである。
3.2.1 Scaled Dot-Product Attention
本モデルで採用されたAttentionは「Scaled Dot-Product Attention」と呼ばれる。入力は、次元 のクエリとキー、および次元 のバリューから構成される。 実際の実装では、これらは行列 (クエリ)、(キー)、(バリュー)にまとめられ、以下の式で計算される。
スケーリング因子 の意義: 一般的な内積注意(Dot-product attention)に対して、このスケーリング項が追加されている。 の値が大きい場合、内積の絶対値が増大し、Softmax関数が勾配の極めて小さい領域(飽和領域)に押しやられる懸念がある。これを相殺するために、内積を で除算する正規化が行われている。なお、加法的注意(Additive attention) は が大きい場合にスケーリングなしの内積注意よりも優れた性能を示すが、内積注意は高度に最適化された行列演算ライブラリを利用できるため、計算速度およびメモリ効率において有利である。
3.2.2 Multi-Head Attention
単一のAttention関数を 次元のキー、バリュー、クエリに適用する代わりに、これらを 回、それぞれ異なる学習可能な線形射影(Linear Projections)を通して 次元に射影する手法が採用された。 各射影されたバージョンに対して並列にAttention関数を実行し、得られた 次元の出力を連結(Concat)し、最後に再び線形射影を行う。
ここで、
パラメータ行列は以下の通りである。 , , , 。
本研究では の並列Attention層(ヘッド)を使用し、 と設定している。各ヘッドの次元が縮小されているため、総計算コストは完全な次元を持つ単一ヘッドAttentionと同等である。 Multi-Head Attentionにより、モデルは異なる位置にある異なる表現部分空間(Representation Subspaces)からの情報に同時に注意を向けることが可能となる。
3.3 Position-wise Feed-Forward Networks
EncoderとDecoderの各層には、Attentionサブレイヤーに加えて、全結合フィードフォワードネットワークが含まれる。これは各位置に対して個別に、かつ同一に適用される。 2つの線形変換と、その間のReLU活性化関数で構成される。
入出力の次元は であり、内部層の次元は である。これはカーネルサイズ1の2つの畳み込み層としても解釈可能である。
3.4 Positional Encoding(位置エンコーディング)
Transformerは再帰も畳み込みも持たないため、系列の順序を利用するためには、トークンの相対的または絶対的な位置に関する情報を注入する必要がある。 本研究では、正弦関数および余弦関数を用いた以下の関数を採用している。
ここで は位置、 は次元である。各次元は波長が から までの幾何級数をなす正弦波に対応する。 この関数を選択した理由は、任意の固定オフセット に対して、 が の線形関数として表現可能であるため、モデルが相対的な位置によるAttentionを容易に学習できると仮説立てられたためである。また、学習中に遭遇した系列長よりも長い系列に対しても外挿が可能であるという利点がある。なお、学習可能な位置埋め込み(Learned Positional Embeddings) と比較しても、実験結果はほぼ同等であった。
4. 学習手法と実験設定
4.1 データセットとバッチ処理
実験は標準的なWMT 2014 English-Germanデータセット(約450万文ペア)およびEnglish-Frenchデータセット(3600万文)を用いて行われた。文はByte-Pair Encoding (BPE) またはWord-piece を用いてエンコードされた。
4.2 ハードウェアとオプティマイザ
モデルは8基のNVIDIA P100 GPUを搭載したマシンで学習された。ベースモデルの学習には合計100,000ステップ(12時間)、ビッグモデルには300,000ステップ(3.5日)を要した。 オプティマイザにはAdam ()を使用し、学習率は以下の式に従って変動させた。
これは、最初の (本実験では4000)の間は学習率を線形に増加させ、その後はステップ数の逆平方根に比例して減少させることを意味する。
4.3 正則化(Regularization)
学習時には以下の正則化手法が適用された。
- Residual Dropout: 各サブレイヤーの出力、および埋め込みと位置エンコーディングの和に対してDropout を適用()。
- Label Smoothing: ラベルスムージング ()を採用。これによりPerplexity(当惑度)は悪化するものの、モデルの不確実性が増し、結果としてBLEUスコアと精度が向上する。
5. 結果と評価
5.1 機械翻訳タスクにおける性能
WMT 2014 English-to-Germanタスクにおいて、Transformer (big) はBLEUスコア 28.4 を記録し、従来の最良モデル(アンサンブルを含む)を2.0ポイント以上上回るSOTA(State-of-the-Art)を達成した。 English-to-Frenchタスクにおいても、BLEUスコア 41.8 を記録し、以前の単一モデルの最高記録を更新した。 特筆すべきは、これらの記録が従来の競合モデル(ConvS2SやGNMT等)と比較して、トレーニングコスト(FLOPs換算)が数分の一から数十分の一である点である。例えば、ConvS2S Ensembleが FLOPsを要したのに対し、Transformer (big) は FLOPsで学習されている。
5.2 モデル変種の検討(Ablation Study)
モデルの構成要素の重要性を評価するために、ベースモデルに変更を加えた実験が行われた(原著Table 3参照)。
- ヘッド数 の影響: シングルヘッドAttentionは最良設定より0.9 BLEU低下したが、ヘッド数が多すぎても品質は低下した。
- キーサイズ の影響: を減少させるとモデル品質が低下した。これは、ドット積よりも高度な適合関数(Compatibility Function)が有効である可能性を示唆している。
- モデルサイズと正則化: モデルサイズを大きくすると性能は向上し、Dropoutは過学習の回避に極めて有効であった。
- 位置エンコーディング: 正弦波によるエンコーディングと学習可能エンコーディングを入れ替えても、結果はほぼ同一であった。
5.3 英語構文解析(English Constituency Parsing)への一般化
Transformerが翻訳以外のタスクに一般化可能かを検証するため、英語の構成素解析タスク(Wall Street Journalデータセット)に適用された。 タスク特有のチューニングを行わずとも、Transformerは 91.3(WSJ only)、92.7(半教師あり設定)のF1スコアを達成し、多くの既存モデルを上回る性能を示した。これは、RNN系列変換モデルが小規模データセットで苦戦する傾向があるのとは対照的である。
6. 大規模化におけるTransformerの優位性とスケーリングのメカニズム
※以下は本論文の結果を、後年の大規模言語モデル研究の文脈から生成AIに再解釈させたものである
Transformerの提案以降、自然言語処理の主戦場はモデルの大規模化(Scaling)へと移行した。現代のLarge Language Models (LLM) の圧倒的な性能は、本論文で示された「Transformer (base)」から「Transformer (big)」への性能向上 が、さらに数桁大きなスケールでも成立し続けることに起因している。ここでは、パラメータ数とデータ量がもたらす性能向上のメカニズムについて、本アーキテクチャの特性と絡めて考察する。
6.1 パラメータ数と表現空間の解像度
モデルのパラメータ数は、そのモデルが近似できる関数の複雑さ、いわば「世界を記述する解像度」に相当する。 本論文の実験結果(Table 3)においても、パラメータ数約65MのBaseモデルに対し、約213MのBigモデルはBLEUスコアで顕著な向上を示している 。 パラメータ数が不十分なモデルは、言語の持つ微細なニュアンス(例:皮肉、文脈依存の多義性)を同一の粗い特徴量として圧縮せざるを得ない。一方、十分なパラメータを持つモデルは、高次元空間内でこれらの事象を異なるベクトルとして分離・表現する容量(Capacity)を持つ。Transformerが採用した多層のSelf-Attention構造は、この高解像度な特徴空間において、単語間の大域的な関係性を精緻にマッピングすることを可能にしている。
6.2 データ量による汎化法則の獲得
パラメータ数の増大は、一方で過学習(Overfitting)のリスクを招く。これを防ぎ、モデルに「丸暗記(Memorization)」ではなく「法則の獲得(Generalization)」を強制するために不可欠なのが、圧倒的な規模の学習データである。 本研究では数百万〜数千万文対のWMTデータセットが使用されたが 、近年のLLMではこれが兆単位のトークンへと拡張されている。膨大なパラメータを持つモデルに対し、記憶容量を超える多様なデータを与えることで、モデルは個々の事例を記憶するのではなく、データ背後にある普遍的な生成規則(文法、論理、常識的な推論規則)を圧縮表現として獲得するよう最適化される。
6.3 スケーラビリティを支えるアーキテクチャ特性
重要な点は、パラメータとデータを増やすだけで性能が向上するのは、モデルアーキテクチャがその規模に耐えうる場合に限られるということである。 再帰型(RNN)モデルでは、逐次計算による並列化の困難さが大規模学習のボトルネックとなっていた 。対してTransformerは、再帰を排除し行列演算主体のSelf-Attentionのみで構成されたことで、GPUによる超並列計算の恩恵を最大限に享受できる 。 つまり、Transformerは「計算資源とデータを投入すればするほど、性能が(実験範囲内では)向上し続ける」というスケーリング則(Scaling Law)を受け入れるための器として、極めて適した数理的特性を持っていたと言える。短く言い換えると、本論文の結果は、後に知られるスケーリング挙動と整合的である。
7. 結論と展望
本研究において提案されたTransformerは、再帰層および畳み込み層をMulti-Head Self-Attentionに置き換えた系列変換モデルである。 実験の結果、翻訳タスクにおいて、再帰的または畳み込み的アーキテクチャに基づくモデルよりも大幅に高速に学習可能でありながら、WMT 2014 English-to-GermanおよびEnglish-to-Frenchタスクにおいて新たなSOTAを達成した。 また、Attention機構のみに基づくアーキテクチャが大域的な依存関係の学習に有効であり、構文解析などの他のタスクへも高い一般化能力を持つことが示された。
著者は、将来的な展望として、テキスト以外の入出力モダリティ(画像、音声、ビデオ)への拡張や、生成プロセスの非順次化(Less sequential generation)を挙げている。
参考文献
- J. L. Ba, J. R. Kiros, and G. E. Hinton, “Layer normalization”, arXiv preprint arXiv:1607.06450 (2016).
- D. Bahdanau, K. Cho, and Y. Bengio, “Neural machine translation by jointly learning to align and translate”, CoRR, abs/1409.0473 (2014).
- D. Britz et al., “Massive exploration of neural machine translation architectures”, CoRR, abs/1703.03906 (2017).
- J. Gehring et al., “Convolutional sequence to sequence learning”, arXiv preprint arXiv:1705.03122v2 (2017).
- K. He, X. Zhang, S. Ren, and J. Sun, “Deep residual learning for image recognition”, CVPR (2016).
- S. Hochreiter et al., “Gradient flow in recurrent nets: the difficulty of learning long-term dependencies” (2001).
- A. Vaswani et al., “Attention Is All You Need”, NIPS (2017).
- N. Kalchbrenner et al., “Neural machine translation in linear time”, arXiv preprint arXiv:1610.10099v2 (2017).
- Y. Kim et al., “Structured attention networks”, ICLR (2017).
- D. Kingma and J. Ba, “Adam: A method for stochastic optimization”, ICLR (2015).
- R. Paulus, C. Xiong, and R. Socher, “A deep reinforced model for abstractive summarization”, arXiv preprint arXiv:1705.04304 (2017).
- N. Shazeer et al., “Outrageously large neural networks: The sparsely-gated mixture-of-experts layer”, arXiv preprint arXiv:1701.06538 (2017).
- N. Srivastava et al., “Dropout: a simple way to prevent neural networks from overfitting”, JMLR, 15(1):1929-1958 (2014).
- I. Sutskever, O. Vinyals, and Q. V. Le, “Sequence to sequence learning with neural networks”, NIPS (2014).
- C. Szegedy et al., “Rethinking the inception architecture for computer vision”, CoRR, abs/1512.00567 (2015).
- Y. Wu et al., “Google’s neural machine translation system: Bridging the gap between human and machine translation”, arXiv preprint arXiv:1609.08144 (2016).
付録:簡単な数学で直感的に理解するTransformerの仕組み
本稿では数理的な厳密さを重視して解説しましたが、ここでは「なぜこの数式で言葉の意味が理解できるのか?」という点に絞り、高校数学(ベクトルと内積)のレベルで噛み砕いて解説します。
1. 言葉を「矢印(ベクトル)」にする
コンピュータは「リンゴ」や「走る」という文字そのものを理解できません。そこで、すべての単語を数字の列、つまりベクトルに変換します。
例えば、言葉の属性を(生物っぽさ, 美味しさ, 硬さ)という3次元の座標で表すとします(実際は512次元など高次元です)。
こうすると、言葉の意味を「空間上の矢印」として扱えるようになります。
2. 「内積」で関連度を測る
Transformerの核心である Attention(注意機構) は、単語同士の「関連度」を計算しています。ここで使われるのが、高校数学で習う内積です。
ベクトル と の内積は以下の式で表されます。
ここで重要なのは です。
- 2つの矢印が同じ方向を向いている(似ている)とき:内積は大きなプラスになる。
- 2つの矢印が直角(無関係)のとき:内積は 0 になる。
- 2つの矢印が逆向き(反対の意味)のとき:内積はマイナスになる。
Transformerは、この性質を利用して「どの単語とどの単語が強く結びついているか」を計算しています。
3. Scaled Dot-Product Attention の仕組み
論文中の式(1)を、図書館での本探しに例えて分解してみましょう。
- (Query: 質問):「探したい内容(例:果物)」を表すベクトル。
- (Key: 索引):「本の内容を表すラベル(例:リンゴ、車、バナナ)」のベクトル。
- (Value: 中身):「本の中身そのもの」を表す情報ベクトル。
ステップ①: (関連度の計算)
「質問()」とすべての「索引()」との内積をとります。
- → 方向が似ているので数値が大きい。
- → 方向が違うので数値は小さい。
ステップ②: で割る (スケーリング)
ベクトルの次元数()が大きいと、内積の結果が巨大になりすぎることがあります。数値が大きすぎると計算の調整(勾配)が効かなくなるため、次元数のルートで割って数値を落ち着かせます。
ステップ③: Softmax (確率への変換)
計算した数値を、合計が100%(1.0)になるような確率に変換します。
- リンゴ:80%、バナナ:15%、車:5% …のような配分になります。
ステップ④: を掛ける (情報の合成)
最後に「中身()」を確率に応じて混ぜ合わせます。 「リンゴの情報を80%、バナナの情報を15%、車の情報を5%」混ぜたベクトルが、最終的な出力となります。 これにより、文脈に応じた適切な言葉の意味が作られます。
4. Multi-Head Attention の意味
「Multi-Head(マルチヘッド)」とは、上記の計算を同時に複数の視点で行うことです。
- ヘッド1:主語と述語の関係を見る係(文法担当)
- ヘッド2:単語の時制を見る係(時間担当)
- ヘッド3:代名詞(彼、それ)が指すものを見る係(参照担当)
一人の人間(シングルヘッド)が全てを一度に見るのではなく、8人の専門家(8個のヘッド)が分担して文章を見ることで、より深い読解が可能になります。
5. Positional Encoding (位置情報の付与)
「私は虫を食べた」と「虫は私を食べた」。 単語のセットは同じですが、意味は全く違います。しかし、ここまでの計算(内積)だけでは「順番」が分かりません。
そこで、各単語ベクトルに「位置を表す波(サイン・コサイン)」を足し合わせます。
- 1番目の単語には、周波数の低い波を足す。
- 2番目の単語には、少しずらした波を足す。
こうすることで、ベクトルの中に「私は何番目の単語です」というIDカードのような情報が埋め込まれ、Transformerは語順を理解できるようになります。
6. 結局、何が嬉しいのか?(実用的なメリット)
Transformerが従来のAI(RNNやLSTM)と比べて革命的だった理由は、主に以下の3点に集約されます。これらは数理的な構造( の接続や並列化)から直接導かれるメリットです。
メリット①:学習が圧倒的に速い(並列化)
- 従来(RNN): 「伝言ゲーム」のように、前の単語の計算が終わらないと次の単語の計算ができませんでした。文章が長くなると、計算待ちの時間が長くなり、学習に膨大な時間がかかっていました。
- Transformer: 「聖徳太子」のように、文章中のすべての単語を同時に処理できます。GPUという計算機のパワーをフル活用できるため、同じ時間でより多くのデータを学習できるようになりました。これが、現在の大規模言語モデル(LLM)の誕生を可能にしました。
メリット②:長い文章でも文脈を忘れない(長距離依存性)
- 従来(RNN): 文章の最初の方にある情報は、計算が進むにつれて徐々に薄れていってしまいました(情報の消失)。「桃太郎が…(中略)…彼は」と言ったとき、最後の「彼」が桃太郎であることを忘れてしまうことがありました。
- Transformer: Attention機構により、文章の長さに関係なく、すべての単語同士が「距離1」で直接つながっています。1000文字前の単語であっても、隣の単語と同じ鮮明さで情報を参照できるため、長い物語や論文の読解力が飛躍的に向上しました。
メリット③:AIの思考プロセスが見える(解釈可能性)
- 従来(RNN): 内部の数値が複雑に絡み合っており、「なぜその翻訳をしたのか?」という理由を人間が理解するのは困難でした(ブラックボックス)。
- Transformer: Attentionの数値をヒートマップ(色の濃淡)で可視化することで、「『それ』という単語を訳すときに、AIは『リンゴ』という単語に90%注目していた」といった根拠を確認しやすくなりました。