論文解説 Attention Is All You Need — 再帰を捨てたモデルは何を証明したのか
Transformerの原論文を、本文だけを根拠に読み解く。スケーリング付き内積注意の式、なぜルートd_kで割るのか、アブレーションが暴いた設計の急所、そして論文自身が認めた限界まで。
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 は入力・出力の記号位置に沿って計算を分解し、位置 の隠れ状態 を「1つ前の隠れ状態 と位置 の入力」から作ります。論文はこの構造を「本質的に逐次的であり、学習サンプル内での並列化を阻む」と指摘します。しかもメモリ制約がサンプル間のバッチングを制限するため、系列が長くなるほど問題は深刻になる(§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つの軸で整理します。層あたりの総計算量、並列化可能な計算量(必要な逐次演算の最小回数)、そして長距離依存の最大パス長です。
| 層の種類 | 層あたり計算量 | 逐次演算 | 最大パス長 |
|---|---|---|---|
| 自己注意 | |||
| 再帰 | |||
| 畳み込み | |||
| 自己注意(近傍 に制限) |
表1が示すのは、自己注意が「計算量で常に勝つ」わけではないという事実です。論文自身が書いているとおり、自己注意が再帰層より速いのは系列長 が表現次元 より小さいときで、それは word-piece や byte-pair の文表現では「たいていの場合そうである」から成立している(§4)。前提条件つきの勝利なのです。
仕組み: スケーリング付き内積注意
論文の注意機構の定義はきわめて簡潔です。「クエリと key-value 対の集合を出力に写す関数。出力は value の重み付き和で、各 value の重みはクエリと対応する key の互換性関数で決まる」(§3.2)。
そして式(1)(§3.2.1):
ここで はクエリ・キー・バリューを行方向に詰めた行列、 はキーの次元です。
つまりこの式が言っているのは、「すべてのクエリをすべてのキーと突き合わせて点数を出し、その点数を で小さくしてから合計1の重みに直し、その重みでバリューを混ぜ合わせる」ということだけです。注目すべきは、式のどこにも位置が出てこないこと。単語を並べ替えても出力は同じ順で並べ替わるだけなので、語順は別途あとから足してやらねばなりません(§3.5、後述)。Q・K・V が何を表しているかを図で追いたい場合は Attention機構を1から理解する が対応します。
コメント
コメントにはログインが必要です