体系 › 論文解説
·無料·論文·14分で読めます

論文解説 Attention Is All You Need — 再帰を捨てたモデルは何を証明したのか

Transformerの原論文を、本文だけを根拠に読み解く。スケーリング付き内積注意の式、なぜルートd_kで割るのか、アブレーションが暴いた設計の急所、そして論文自身が認めた限界まで。

要点

  • 「Attention Is All You Need」は、系列変換モデルから再帰も畳み込みも完全に取り除くという提案でした。
  • RNNは本質的に逐次的で学習サンプル内の並列化を阻むが、Transformerは全位置を同時に見て重み付けします。
  • 任意の2位置を関連づける演算数は、ByteNetやConvS2Sでは距離とともに増えるが、Transformerでは定数回です。
  • 注意重みで位置を平均するため実効解像度が下がり、それをMulti-Head Attentionで打ち消す設計です。
  • WMT 2014で英独28.4 BLEU・英仏41.8 BLEUを、8基のGPUで3.5日の学習で達成しました。
対象textタスクattention

Attention Is All You Need

一次資料 — この記事の根拠

論文の発表 2017-06-12→この解説の公開 2026-08-039年2か月後

Attention Is All You NeedAshish Vaswani, Noam Shazeer, Niki Parmar ほか · 2017-06-12 · v7arXiv:1706.03762論文ページ·PDF
原文の要旨(Abstract)を読む

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.


伝言ゲームをやめて、円卓会議にする

2017年6月に arXiv へ投稿された "Attention Is All You Need"(Vaswani ら8名、Google Brain / Google Research ほか)は、系列変換モデルから再帰も畳み込みも完全に取り除くという提案でした。

当時の主流は RNN や CNN による encoder-decoder で、性能の良いモデルは encoder と decoder を注意機構でつないでいました(Abstract)。RNN は入力・出力の記号位置に沿って計算を分解し、位置 tt の隠れ状態 hth_t を「1つ前の隠れ状態 ht−1h_{t-1} と位置 tt の入力」から作ります。論文はこの構造を「本質的に逐次的であり、学習サンプル内での並列化を阻む」と指摘します。しかもメモリ制約がサンプル間のバッチングを制限するため、系列が長くなるほど問題は深刻になる(§1)。

たとえるなら、RNN は一列に並んだ伝言ゲームです。列の端にある情報を反対の端へ届けるには、間の全員を経由しなければならない。Transformer が採ったのは円卓会議で、全員が同時に全員の発言を見渡し、自分にとって誰が重要かを重み付けする方式です。

論文はこの円卓方式だけで、WMT 2014 英独翻訳で 28.4 BLEU(アンサンブルを含む既存最良を 2 BLEU 以上上回る)、英仏で 41.8 BLEU を、8基の GPU で3.5日という学習コストで達成したと報告しています(Abstract、表2)。base モデルに至っては 8基の P100 GPU で12時間です(§1、§5.2)。

直感: 「2点間の距離」を定数にする

なぜ再帰を捨てられるのか。論文の背景説明(§2)が急所を突いています。同じく逐次計算を減らそうとした ByteNet や ConvS2S では、任意の2位置の信号を関連づけるのに必要な演算数が、位置の距離とともに増えます(ConvS2S は線形、ByteNet は対数)。だから遠い依存関係ほど学習しづらい。Transformer ではこれが定数回に落ちます。

ただし論文はここで代償も明記します。注意重みで位置を平均するため実効解像度が下がるという副作用があり、それを Multi-Head Attention で打ち消す、という設計です(§2)。「注意は万能だから」ではなく「安くなった代わりにボケた解像度を複数ヘッドで買い戻す」という等価交換として提示されている点は、読み落とされがちです。

§4 では自己注意を選ぶ根拠を3つの軸で整理します。層あたりの総計算量、並列化可能な計算量(必要な逐次演算の最小回数)、そして長距離依存の最大パス長です。

層の種類 層あたり計算量 逐次演算 最大パス長
自己注意 O(n2⋅d)O(n^2 \cdot d) O(1)O(1) O(1)O(1)
再帰 O(n⋅d2)O(n \cdot d^2) O(n)O(n) O(n)O(n)
畳み込み O(k⋅n⋅d2)O(k \cdot n \cdot d^2) O(1)O(1) O(log⁡k(n))O(\log_k(n))
自己注意(近傍 rr に制限) O(r⋅n⋅d)O(r \cdot n \cdot d) O(1)O(1) O(n/r)O(n/r)

表1が示すのは、自己注意が「計算量で常に勝つ」わけではないという事実です。論文自身が書いているとおり、自己注意が再帰層より速いのは系列長 nn が表現次元 dd より小さいときで、それは word-piece や byte-pair の文表現では「たいていの場合そうである」から成立している(§4)。前提条件つきの勝利なのです。

仕組み: スケーリング付き内積注意

論文の注意機構の定義はきわめて簡潔です。「クエリと key-value 対の集合を出力に写す関数。出力は value の重み付き和で、各 value の重みはクエリと対応する key の互換性関数で決まる」(§3.2)。

そして式(1)(§3.2.1):

Attention(Q,K,V)=softmax(QKTdk)V\mathrm{Attention}(Q,K,V)=\mathrm{softmax}\left(\frac{QK^{T}}{\sqrt{d_k}}\right)V

ここで Q,K,VQ, K, V はクエリ・キー・バリューを行方向に詰めた行列、dkd_k はキーの次元です。

つまりこの式が言っているのは、「すべてのクエリをすべてのキーと突き合わせて点数を出し、その点数を dk\sqrt{d_k} で小さくしてから合計1の重みに直し、その重みでバリューを混ぜ合わせる」ということだけです。注目すべきは、式のどこにも位置が出てこないこと。単語を並べ替えても出力は同じ順で並べ替わるだけなので、語順は別途あとから足してやらねばなりません(§3.5、後述)。Q・K・V が何を表しているかを図で追いたい場合は Attention機構を1から理解する が対応します。

FIG 1式(1)の softmax は、点数の並びを「合計1の重み」に直す装置。入力を割る数を大きくすると分布は平らになり、小さくすると1本の棒に尖りきる。ルートd_k で割るのは、この「尖りきり」を避けるため——その理屈は直後の本文で

なぜ dk\sqrt{d_k} で割るのか。 論文は加法的注意(1層の順伝播ネットで互換性を計算)と比較し、理論計算量は同程度でも内積注意のほうが「高度に最適化された行列積の実装が使えるため、実際には遥かに速くメモリ効率が良い」と述べます。ところが dkd_k が大きいと、スケーリングなしの内積注意は加法的注意に負ける。その理由として論文が挙げるのが脚注1の見積もりです。qq と kk の各成分が平均0・分散1の独立な確率変数なら、内積 q⋅k=∑i=1dkqikiq\cdot k=\sum_{i=1}^{d_k}q_i k_i は平均0・分散 dkd_k。次元が上がるほど内積の絶対値が大きくなり、softmax が勾配の極端に小さい領域へ押し込まれる。だから標準偏差 dk\sqrt{d_k} で割って戻す(§3.2.1)。論文はここを "We suspect that …"(推測する)と書いており、証明ではなく仮説として提示されている点は正確に押さえるべきです。

マルチヘッド(§3.2.2)は、dmodeld_{\text{model}} 次元のまま1回注意を計算する代わりに、学習された別々の線形射影で hh 回投影してから並列に注意を計算し、連結してもう一度射影します。

MultiHead(Q,K,V)=Concat(head1,...,headh)WO\mathrm{MultiHead}(Q,K,V)=\mathrm{Concat}(\mathrm{head}_1,...,\mathrm{head}_h)W^{O}

つまり上の式は、「注意の計算を hh 本まるごと別々に走らせ、出てきた hh 個の結果を横につなげ、最後にもう1枚の行列 WOW^{O} を掛けて1つの出力に混ぜ直す」と言っています。

headi=Attention(QWiQ,KWiK,VWiV)\mathrm{head}_i=\mathrm{Attention}(QW^{Q}_i,KW^{K}_i,VW^{V}_i)

そして下の式は、その1本1本(ヘッド)が式(1)とまったく同じ計算であること、ただし Q,K,VQ,K,V をそのまま使わず、ヘッドごとに専用の射影 WiQ,WiK,WiVW^{Q}_i, W^{K}_i, W^{V}_i で細い次元に落としてから使う、ということ。同じ単語列を、ヘッドごとに違う角度から見せるための仕掛けです。

論文の説明は「異なる表現部分空間の情報に、異なる位置で同時に注意を向けられるようになる。単一ヘッドでは平均化がそれを阻害する」。h=8h=8、dk=dv=dmodel/h=64d_k=d_v=d_{\text{model}}/h=64 とし、各ヘッドの次元を割った分、総計算コストは全次元シングルヘッドとほぼ同じになると述べています(§3.2.2)。ヘッドを増やすのは「重くする」ことではありません。

残りの部品も簡潔です。encoder は N=6N=6 層、各層は「マルチヘッド自己注意」と「位置ごとの全結合順伝播網」の2サブ層で、それぞれ残差接続と層正規化 LayerNorm(x+Sublayer(x))\mathrm{LayerNorm}(x+\mathrm{Sublayer}(x)) で包む。dmodel=512d_{\text{model}}=512(§3.1)。decoder は同じ6層に「encoder 出力へのマルチヘッド注意」を第3のサブ層として挿入し、自己注意では softmax 入力のうち不正な接続を −∞-\infty にマスクします(§3.1、§3.2.3)。

順伝播網は素朴で、内部次元 dff=2048d_{ff}=2048。論文は「カーネルサイズ1の畳み込み2つ」と言い換えています(§3.3、式(2)):

FFN(x)=max⁡(0,xW1+b1)W2+b2\mathrm{FFN}(x)=\max(0,xW_1+b_1)W_2+b_2

要するに「各位置のベクトルをいったん2048次元に広げ、負の値を0に潰し、また512次元に畳み直す」だけの処理です。同じ2枚の行列を全位置に使い回し、ここでは位置どうしが一切混ざらない——混ぜるのは注意サブ層の仕事で、この層は各位置を独立に加工する係、と役割が分かれています。

位置情報は正弦・余弦の位置エンコーディングを埋め込みに足して与えます。波長は 2π2\pi から 10000⋅2π10000\cdot 2\pi までの等比数列。この関数を選んだ理由も論文は仮説として書いています。任意の固定オフセット kk に対して PEpos+kPE_{pos+k} が PEposPE_{pos} の線形関数で表せるので、相対位置で注意することを学びやすいだろう、と(§3.5)。ここで論文が採った絶対位置の足し込みと、その後に主流となった相対位置・RoPE までの流れは 位置エンコーディングを1から理解する にまとめています。

実験が示したこと、示していないこと

学習設定は英独が約450万文対(共有語彙 約37000の BPE)、英仏が3600万文(32000 word-piece)で、バッチは約25000ソーストークンと25000ターゲットトークン(§5.1)。最適化は Adam(β1=0.9\beta_1=0.9, β2=0.98\beta_2=0.98, ϵ=10−9\epsilon=10^{-9})、学習率は warmup 4000ステップまで線形に上げ以降ステップ数の逆平方根で下げる(§5.3、式(3))。正則化は残差ドロップアウト Pdrop=0.1P_{drop}=0.1 とラベル平滑化 ϵls=0.1\epsilon_{ls}=0.1(§5.4)。

結果(表2)は base が英独 27.3 / 英仏 38.1、big が 28.4 / 41.8。学習コストは推定 FLOPs で base 3.3⋅10183.3\cdot 10^{18}、big 2.3⋅10192.3\cdot 10^{19} と、GNMT+RL(2.3⋅10192.3\cdot 10^{19} / 1.4⋅10201.4\cdot 10^{20})などより小さい。ただしこの FLOPs は「学習時間 × GPU 数 × GPU の持続単精度性能の見積もり」を掛けた推定値だと脚注2に明記されています。なお §6.1 の本文は英仏 big を「41.0 BLEU」と書いており、Abstract と表2 の 41.8 と食い違ったままです。

面白いのはアブレーション(§6.2、表3)です。

汎化の確認として英語の句構造解析も試しています。4層・dmodel=1024d_{\text{model}}=1024 を WSJ の約4万文だけで学習して F1 91.3、半教師あり(約1700万文)で 92.7(§6.3、表4)。タスク固有のチューニングをほとんどせずに、Recurrent Neural Network Grammar(93.3)を除く既報を上回った、というのが論文の主張です。

限界と未検証点

論文自身が認めている点:

※本記事執筆時点(2026年)の補足(原論文の主張ではなく筆者の注記): この論文が残した O(n2)O(n^2) の計算量と n<dn<d という前提は、その後の長文脈化の流れで最も強い制約になりました。長文脈の扱い、位置表現の設計、encoder-decoder ではない構成など、現在の実装は本論文の構成そのままではありません。本記事の数値はすべて本論文の報告値であり、後続研究の数値は含めていません。

実務Tips

以下は論文の記述に基づく筆者の運用解釈です。

まとめ

原論文: Vaswani et al., "Attention Is All You Need" (arXiv:1706.03762, 2017)

参考文献

  1. Ashish Vaswani, Noam Shazeer, Niki Parmar, Jakob Uszkoreit et al.. (2017-06-12) Attention Is All You Need. arXiv:1706.03762論文ページ·PDF

本記事は上記論文の本文にもとづいて執筆しています。数値・主張は原典を優先してください。

運営: TechAthletes · 編集方針 · 出典の付け方 · 訂正の記録

コメント

コメントにはログインが必要です