☆ 保存 6.7 AttentionとTransformerアーキテクチャ — 再帰型モデルを超えるシーケンスモデリングのパラダイムシフト

05/17/2026

本記事では、Attention MechanismTransformerが、RNN系モデルのどのような限界を乗り越えるために登場したのかを整理します。特に、Information Bottleneck、Soft Alignment、Cross-Attention、Self-Attention、Query–Key–Value、Multi-Head Attentionを中心に、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つの固定ベクトルに無理に圧縮しなくても、必要な情報を選択的に参照できます。

たとえば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は「実際に取り出される情報」と考えると理解しやすくなります。

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を組み合わせて出力シーケンスを生成します。

並列シーケンス処理

RNNはシーケンスを順番に処理する必要があるため、前の時刻の計算が終わらなければ次の時刻へ進めません。一方、Transformerはself-attentionによって複数位置の関係を同時に計算できるため、Parallel Sequence Processingに適しています。

この並列処理能力は、大規模データと深いモデルを学習するうえで非常に重要です。Transformerが現代の言語モデルや生成AIの中核構造になった理由は、長い文脈を扱う能力と並列学習の効率を両立している点にあります。

※ 本記事は、ソウル大学校のByoung-Tak Zhang 教授による講義内容をもとに、筆者が独自に整理・再構成したものです。

先に読んでおきたい記事 (3/5)

+2

次におすすめの記事 (5/18)

+5

同じテーマの記事 (0/0)

このセクションにはまだ他の記事がありません。

関連概念 (1/1)

📍 AI学習マップにおけるこの概念の位置

この概念がAI Universe全体のどこに位置するかを確認できます。

📍 AI Universeでの現在位置

リセット 完了済みを表示 · ログインが必要 読み込み中…

🌌 AI Universe

⭐ 概念

星を選択してください。

AI Universe全体を見る

« 6.6 BiRNN・LSTM・Seq2Seq —…|6.8 Transformer以後の現代AI —… »

🔖 タグ: attention · NLP · self-attention · Transformer · 深層学習 · 生成AI