☆ 保存 6.7 AttentionとTransformerアーキテクチャ — 再帰型モデルを超えるシーケンスモデリングのパラダイムシフト
05/17/2026
本記事では、Attention MechanismとTransformerが、RNN系モデルのどのような限界を乗り越えるために登場したのかを整理します。特に、Information Bottleneck、Soft Alignment、Cross-Attention、Self-Attention、Query–Key–Value、Multi-Head Attentionを中心に、Transformerアーキテクチャの核心を見ていきます。
目次
- Information Bottleneckと長いシーケンスの問題
- ニューラル機械翻訳とSoft Alignment
- Attention Mechanismの基本アイデア
- Cross-Attention
- Self-AttentionとQKV
- Causal Self-AttentionとNon-causal Self-Attention
- Multi-Head Attention
- Encoder–Decoder Transformer
- 並列シーケンス処理
Information Bottleneckと長いシーケンスの問題
初期のEncoder–Decoder RNNでは、入力シーケンス全体を1つのcontext vectorに圧縮していました。この方式は短い文では機能しますが、文が長くなると重要な情報が1つのベクトルの中で薄まりやすくなります。この問題はInformation Bottleneckとして理解できます。
Long Sequence Degradationとは、シーケンスが長くなるほどモデル性能が低下する現象です。長い文では、前半に現れた重要な単語が後半の出力に影響を与える必要があります。しかし、固定長の表現だけに依存すると、そのつながりが弱くなることがあります。
ニューラル機械翻訳とSoft Alignment
**Neural Machine Translation (NMT)**では、出力単語を生成するときに、入力文のどの部分を参照すべきかが重要になります。たとえば英語文を日本語へ翻訳する場合、いま生成している日本語の単語が、入力文中の特定の英単語と強く対応していることがあります。
Soft Alignmentは、出力側の各位置が入力側の複数位置を確率的に参照する仕組みです。1つの入力単語だけを選ぶのではなく、関連する複数の入力位置に異なる重みを割り当てます。この考え方がAttention Mechanismの基礎になります。
Attention Mechanismの基本アイデア
Attention Mechanismは、現在の出力に必要な情報を、入力シーケンス内の複数位置から直接取り出す構造です。Decoderは各時刻でEncoderのすべてのhidden stateを参照し、どの位置が重要かをattention weightとして計算します。
たとえば翻訳モデルがある単語を生成するとき、入力文中の名詞に高いattention weightを与えることがあります。これにより、入力全体を1つの固定ベクトルに無理に圧縮しなくても、必要な情報を選択的に参照できます。
-
\[ c_t = \sum_i \alpha_{t,i} h_i \]
現在時刻のcontext vectorは、各入力位置のhidden stateの重み付き和として計算されます。
たとえばattention weightが \([0.1, 0.7, 0.2]\) であれば、2番目の入力位置が現在の出力にとって最も重要な情報として使われます。このようにAttentionは、「いま、どこを見るべきか」を学習します。
Cross-Attention
Cross-Attentionは、あるシーケンスが別のシーケンスを参照するAttention構造です。翻訳モデルでは、Decoderの現在状態がEncoderの出力全体を参照します。つまり、出力文を生成する側が、入力文のどの部分を見るべきかを決めます。
Cross-Attentionは、入力と出力が異なるシーケンスである場合に特に重要です。Machine Translation、Image Captioning、Text-to-Image Generationのように、あるmodalityまたはシーケンスから別形式の出力を生成するタスクでよく使われます。
Self-AttentionとQKV
Self-Attentionは、1つのシーケンス内で各位置が同じシーケンスの他の位置を直接参照する構造です。文中の各単語が他のすべての単語との関係を計算できるため、離れた単語同士の関係も直接扱えます。
Self-Attentionは通常、**Query–Key–Value (QKV)**構造で説明されます。Queryは「自分が探している情報」、Keyは「各位置が持つ検索用の手がかり」、Valueは「実際に取り出される情報」と考えると理解しやすくなります。
- Query: 現在位置がどのような情報を探しているかを表します。
- Key: 各位置がどの情報と関連しているかを比較するための表現です。
- Value: attention weightに基づいて実際に結合される情報です。
Causal Self-AttentionとNon-causal Self-Attention
Causal Self-Attentionは、現在位置が過去の位置だけを参照できるように制限する方式です。次のトークンを生成する言語モデルでは、まだ見えてはいけない未来のトークンを参照してはならないため、causal maskingが必要になります。
Non-causal Self-Attentionは、現在位置が前後すべての位置を参照できる方式です。文全体がすでに与えられている状態で各単語の意味を理解するBERT系モデルなどで主に使われます。
Multi-Head Attention
Multi-Head Attentionは、Attentionを複数のheadに分けて並列に実行する構造です。各headは異なる種類の関係を学習できます。あるheadは文法的な関係に注目し、別のheadは意味的な関係や長距離依存に注目することがあります。
複数headの結果を統合することで、単一のAttentionよりも豊かな関係表現を作ることができます。これが、Transformerが複雑な文脈関係を効果的に学習できる重要な理由の1つです。
Encoder–Decoder Transformer
Encoder–Decoder Transformerは、入力を理解するTransformer Encoderと、出力を生成するTransformer Decoderで構成されます。Encoderは入力シーケンス内部の関係をself-attentionで表現し、Decoderはcausal self-attentionとcross-attentionを組み合わせて出力シーケンスを生成します。
- Transformer Encoder: 入力シーケンスの各位置が互いを参照しながら、文脈を反映した表現を作ります。
- Transformer Decoder: これまでに生成された出力トークンを基に次のトークンを生成し、必要に応じてEncoderの情報をcross-attentionで参照します。
並列シーケンス処理
RNNはシーケンスを順番に処理する必要があるため、前の時刻の計算が終わらなければ次の時刻へ進めません。一方、Transformerはself-attentionによって複数位置の関係を同時に計算できるため、Parallel Sequence Processingに適しています。
この並列処理能力は、大規模データと深いモデルを学習するうえで非常に重要です。Transformerが現代の言語モデルや生成AIの中核構造になった理由は、長い文脈を扱う能力と並列学習の効率を両立している点にあります。
※ 本記事は、ソウル大学校のByoung-Tak Zhang 教授による講義内容をもとに、筆者が独自に整理・再構成したものです。
先に読んでおきたい記事 (3/5)
+2
- 6.6 BiRNN・LSTM・Seq2Seq — 文脈・記憶・可変長変換を広げるRNNアーキテクチャ
- 6.5 Sequential Models の発展概観 — 時系列モデルから Transformer へ
- RoPE Scaling — 長い Context でも位置の解像度を維持する仕組み
次におすすめの記事 (5/18)
+5
- Transformer Decoder — なぜ未来のtokenを見ないように制御する必要があるのか
- Lower Triangular Structure — なぜCausal Maskは三角形になるのか
- Context Vector(文脈ベクトル)— シーケンス全体を圧縮する固定長の意味表現
- Bidirectional GRU(双方向GRU)— 前後の文脈を統合する仕組み
- Bidirectional LSTM(双方向LSTM)— 前後の文脈を統合する仕組み
- Long Short-Term Memory(LSTM)— 長期依存関係を扱うゲート制御型Recurrent Neural Network
- Bidirectional RNN — 前後の文脈を同時に利用する双方向Recurrent Neural Network構造
- Temporal Convolutional Network (TCN) — 時系列データの長期依存を学習する因果畳み込みアーキテクチャ
- Per-Time-Step Prediction — 各時刻で出力を生成する逐次予測方式
- RNNにおけるForward Propagation — 再帰型ニューラルネットワークの順方向処理
- Initial Hidden State(初期隠れ状態)— RNNがシーケンス処理を開始するための初期状態
- Recurrent Weight Matrix(循環重み行列)— 過去の状態を現在の計算へ繰り返し反映するRNNの中核となる行列
- Vanilla RNN(Simple RNN、Elman RNN)— 過去の状態を引き継いで系列情報を処理する基本的なRecurrent Neural Network
- Unfolded Graph(Unfolding, Unrolling in Time)—RNNの循環構造を時間軸へ展開して学習経路を理解する表現
- Recurrent Graph — 時間依存性を計算グラフで表現する循環構造
- Parameter Sharing Across Time — 同一パラメータを共有して時系列パターンを学習する仕組み
- Recurrent Neural Network (RNN) — 時系列データを扱うリカレントニューラルネットワーク
- Causal Convolution(因果畳み込み)— 未来情報リークを防ぐシーケンス処理の原理
同じテーマの記事 (0/0)
このセクションにはまだ他の記事がありません。
関連概念 (1/1)
📍 AI学習マップにおけるこの概念の位置
この概念がAI Universe全体のどこに位置するかを確認できます。
📍 AI Universeでの現在位置
☰
リセット 完了済みを表示 · ログインが必要 読み込み中…
🌌 AI Universe
‹
›
⭐ 概念
星を選択してください。
« 6.6 BiRNN・LSTM・Seq2Seq —…|6.8 Transformer以後の現代AI —… »
🔖 タグ: attention · NLP · self-attention · Transformer · 深層学習 · 生成AI