AI / Technology
注意機構だけで十分
RNNの逐次処理とSelf-Attentionの並列比較
図1|上段は前の状態を待つ逐次経路、下段は各位置を直接比べる経路。論文の Table 1 が示す「逐次操作数」と「最大経路長」の違いを、数値表ではなく概念図にした。
従来の代表的な系列モデルでは、位置 t の状態を作るために位置 t−1 の状態を待つ。この依存関係があるため、一つの文の内部を完全には並列計算できない。長距離の関係も多数の計算段階を通る。畳み込み型は各位置を並列に扱えるが、離れた位置を結ぶには層を重ねる必要がある。(論文 §1–2)
Transformerの情報の流れ
図2|入力に位置情報を足し、エンコーダで文脈化し、デコーダが既出の語と入力文脈から次の語を予測する。赤い経路は、学習時にも未来の語を見せないマスクを示す。
エンコーダは Self-Attention と位置ごとのフィードフォワード層を積み重ねる。デコーダはそれに、未来の出力を見ないためのマスクと、エンコーダ出力を読む注意層を加える。各サブ層には残差接続と Layer Normalization がある。原論文の基本モデルはエンコーダ、デコーダとも 6層、表現次元 512、フィードフォワード内部次元 2048 だった。(論文 §3.1–3.3・Table 3)
Multi-Head Attentionの直感図
図3|同じ系列を複数の射影から並列に調べ、異なる関係パターンを結合する直感図。個々のヘッドの役割は学習で決まり、固定された文法ラベルではない。
一つの大きな注意計算だけでなく、Query・Key・Value を複数の低次元空間へ射影し、それぞれで注意を並列計算して結合する。基本モデルは 8ヘッド で、各ヘッドの Key と Value は 64次元。これにより、異なる位置や表現部分空間の関係を同時に扱える。実際に各ヘッドが必ず特定の文法役割を持つ、という意味ではない。再帰も畳み込みもないため語順は自動では伝わらず、入力埋め込みに異なる周波数の sin・cos で作る位置符号を加える。学習型位置埋め込みとの比較はほぼ同等だった。(論文 §3.2.2・§3.5・Table 3)
研究付録
原題: Attention Is All You Need
著者: Ashish Vaswani ほか|公開: arXiv:1706.03762(初版 2017年6月12日、参照版 v7)|一次資料: arXiv 要旨・論文全文
要点
3つだけ覚える
- 順番待ちを外した。 Transformer は、系列を一語ずつ運ぶ再帰型ネットワーク(RNN)も、近所を段階的に見る畳み込みも使わず、注意機構を中心に入力中の関係を直接計算する。
- 近くも遠くも一度に比べる。 Self-Attention は各語がほかの全語を参照でき、Multi-Head Attention は複数の見方を並列に作って最後にまとめる。
- 翻訳で速さと精度を同時に示した。 WMT 2014 英独翻訳で 28.4 BLEU、英仏翻訳で 41.8 BLEUを報告した。ただし、実験は主に翻訳と構文解析であり、現在の大規模言語モデル全般まで直接証明した論文ではない。
問題を一文で言えば、RNN は長い文ほど計算の順番待ちが増え、遠い語どうしの関係も長い経路を通ることだった。論文の変更点は、その逐次的な受け渡しを Self-Attention に置き換え、全位置の関係を行列演算でまとめて扱えるようにしたことだ。最も強い証拠は翻訳ベンチマークでの精度と訓練コストの両立で、最大の未解決リスクは、通常の Self-Attention の計算量が系列長の二乗で増えることにある。(論文 Abstract・§1・§4・§6)
問題
RNNの順番待ち
従来の代表的な系列モデルでは、位置 t の状態を作るために位置 t−1 の状態を待つ。この依存関係があるため、一つの文の内部を完全には並列計算できない。長距離の関係も多数の計算段階を通る。畳み込み型は各位置を並列に扱えるが、離れた位置を結ぶには層を重ねる必要がある。(論文 §1–2)
目標にした3条件
著者らが比較した軸は、1層あたりの計算量、逐次操作の少なさ、遠距離依存を結ぶ経路の短さである。Self-Attention は全位置間の最大経路長が一定で、逐次操作も一定。一方で計算量は系列長を n、表現次元を d とすると O(n²d) で、RNN の O(nd²) より常に軽いわけではない。著者らは、当時の翻訳文では多くの場合 n < d なので有利だと説明している。(論文 §4・Table 1)
方法
Self-Attention
まず各トークンから「何を探すか」を表す Query、「何を持つか」を示す Key、「渡す内容」を表す Value を作る。Query とすべての Key の相性を内積で測り、その重み付き和として Value を集める。内積は次元が大きいと softmax が極端になりやすいため、著者らはスコアを √dₖ で割る Scaled Dot-Product Attention を採用した。(論文 §3.2.1)
エンコーダとデコーダ
エンコーダは Self-Attention と位置ごとのフィードフォワード層を積み重ねる。デコーダはそれに、未来の出力を見ないためのマスクと、エンコーダ出力を読む注意層を加える。各サブ層には残差接続と Layer Normalization がある。原論文の基本モデルはエンコーダ、デコーダとも 6層、表現次元 512、フィードフォワード内部次元 2048 だった。(論文 §3.1–3.3・Table 3)
Multi-Head Attentionと位置情報
一つの大きな注意計算だけでなく、Query・Key・Value を複数の低次元空間へ射影し、それぞれで注意を並列計算して結合する。基本モデルは 8ヘッド で、各ヘッドの Key と Value は 64次元。これにより、異なる位置や表現部分空間の関係を同時に扱える。実際に各ヘッドが必ず特定の文法役割を持つ、という意味ではない。再帰も畳み込みもないため語順は自動では伝わらず、入力埋め込みに異なる周波数の sin・cos で作る位置符号を加える。学習型位置埋め込みとの比較はほぼ同等だった。(論文 §3.2.2・§3.5・Table 3)
証拠と限界
翻訳での主要結果
WMT 2014 の約 450万 英独文対と 3600万 英仏文対で評価された。Transformer (big) は newstest2014 で英独 28.4 BLEU、英仏 41.8 BLEU。表中の従来最高は英独で ConvS2S ensemble の 26.36、英仏では同 ensemble の 41.29 である。英独では著者らの主張どおり、既報のアンサンブルを含む最高値を 2 BLEU 以上上回った。(論文 §5.1・§6.1・Table 2)
| 条件 | 結果 | 論文内の位置 |
|---|---|---|
| WMT 2014 英→独、Transformer (big) | 28.4 BLEU | Table 2 |
| WMT 2014 英→仏、Transformer (big) | 41.8 BLEU | Table 2 |
| 基本モデルの訓練 | 8×P100、約12時間、100,000 steps | §5.2 |
| bigモデルの訓練 | 8×P100、3.5日、300,000 steps | §5.2 |
| 英語構文解析、半教師あり | WSJ Section 23で 92.7 F1 | Table 4 |
訓練コストは、GPU時間と著者らが仮定した各GPUの持続性能を掛けた推定 FLOPs で比較されている。したがって「当時の比較条件で大幅に低コスト」は支持されるが、現代のハードウェアや実装へその倍率をそのまま移すことはできない。(論文 §5.2・§6.1)
何をまだ証明していないか
アブレーションでは、単一ヘッドが最良設定より 0.9 BLEU 低く、ヘッドを増やしすぎても性能が落ちた。これは複数ヘッドの有用性を支えるが、「多いほど良い」ことは示さない。構文解析への転用では、WSJのみ約 4万文 で 91.3 F1、約 1700万文 を使う半教師あり設定で 92.7 F1だったが、試した別タスクは一つで、調整実験も少数だった。(論文 §6.2–6.3)
さらに、全点を比べる Self-Attention は長い系列でメモリと計算が二乗増加する。論文は局所範囲へ制限する案を将来課題として挙げただけで、長文問題を解決してはいない。注意分布に構文・意味らしいパターンが見えるという観察もあるが、注意重みが説明として十分だという因果的な検証ではない。(論文 §4)
実務的な意味
設計判断としての貢献
この論文の実務的な価値は、単なる新しい層ではなく、系列処理の中心を「前の状態を受け渡す」設計から「必要な位置を直接参照する」設計へ移した点にある。その結果、GPUが得意な行列計算へ寄せやすくなり、遠距離の情報経路も短くなった。これは論文の計算構造から導く解釈であり、著者があらゆる製品で速度向上を保証したという主張ではない。
採用前に確かめること
短中程度の系列で並列訓練が重要なら、Transformer の考え方は強い候補になる。一方、長大な文書、低メモリ端末、厳しい推論遅延では、系列長に対するメモリ使用量、実測レイテンシ、品質との交換条件 を自分のデータで測る必要がある。また、この論文の結果は 2014年の翻訳データ、P100 GPU、BLEU中心の評価であるため、現在の用途では人手評価、頑健性、バイアス、安全性まで別途検証すべきだ。
読み終えた時点で持つべき結論は簡潔だ。Transformer は「語順を忘れたモデル」ではなく、語順を位置情報として明示しつつ、語どうしの依存を注意機構で直接結ぶモデルである。原論文は、その設計が当時の翻訳で高品質かつ訓練しやすいことを強く示した。しかし、長い系列への費用や、翻訳以外への普遍性までは決着させていない。
この論文についての3つの重要な質問
注意機構だけで十分はどの課題を扱いますか?
さらに、全点を比べる Self-Attention は長い系列でメモリと計算が二乗増加する。論文は局所範囲へ制限する案を将来課題として挙げただけで、長文問題を解決してはいない。注意分布に構文・意味らしいパターンが見えるという観察もあるが、注意重みが説明として十分だという因果的な検証ではない。(論文 §4)
注意機構だけで十分の中心的な主張を支える根拠は何ですか?
一つの大きな注意計算だけでなく、Query・Key・Value を複数の低次元空間へ射影し、それぞれで注意を並列計算して結合する。基本モデルは 8ヘッド で、各ヘッドの Key と Value は 64次元。これにより、異なる位置や表現部分空間の関係を同時に扱える。実際に各ヘッドが必ず特定の文法役割を持つ、という意味ではない。再帰も畳み込みもないため語順は自動では伝わらず、入力埋め込みに異なる周波数の sin・cos で作る位置符号を加える。学習型位置埋め込みとの比較はほぼ同等だった。(論文 §3.2.2・§3.5・Table 3)
注意機構だけで十分を読むときに注意すべき限界は何ですか?
訓練コストは、GPU時間と著者らが仮定した各GPUの持続性能を掛けた推定 FLOPs で比較されている。したがって「当時の比較条件で大幅に低コスト」は支持されるが、現代のハードウェアや実装へその倍率をそのまま移すことはできない。(論文 §5.2・§6.1)