クロスアテンション くろすあてんしょん
Cross-AttentionTransformerエンコーダーデコーダー自己アテンション翻訳
クロスアテンションについて教えて
簡単に言うとこんな感じ!
「日英翻訳AIが英語を書くとき、元の日本語のどの部分を見ながら書いているか」を表す仕組みだよ!自分自身の中で注意を払う「自己アテンション」に対して、別の情報源(エンコーダー出力)を参照するのが「クロスアテンション」なんだ!
クロスアテンションとは
クロスアテンション(Cross-Attention) とは、Queryを一方のシーケンス(デコーダー側)から、KeyとValueを別のシーケンス(エンコーダー出力)から取得するアテンション機構です。自己アテンション(Self-Attention)が同じシーケンス内のトークン同士の関係を計算するのに対し、クロスアテンションは2つの異なる情報源を橋渡しする役割を果たします。
翻訳タスクなら「英語を生成するデコーダーが、日本語入力のエンコーダー出力を参照する」といった動作をします。このため翻訳・要約・音声認識・画像キャプション生成など入力と出力の形式が異なるタスクで特に重要です。また、画像とテキストを扱うマルチモーダルモデルでも、画像特徴とテキストを結びつける際にクロスアテンションが使われます。
自己アテンションとの違い
| 項目 | 自己アテンション | クロスアテンション |
|---|---|---|
| Query元 | 同じシーケンス | デコーダー側 |
| Key/Value元 | 同じシーケンス | エンコーダー出力 |
| 参照対象 | 自分自身の文脈 | 別のモダリティや言語 |
| 主な用途 | 文脈理解・生成 | 翻訳・要約・マルチモーダル |
歴史と背景
- 2017年:TransformerのEncoder-Decoderアーキテクチャで正式に導入
- 2019年:画像キャプション生成でクロスアテンションの有効性が実証
- 2021年:Stable DiffusionなどのText-to-Imageモデルでテキストと画像の融合に活用
- 2022年以降:マルチモーダルLLMでクロスアテンションが重要コンポーネントに
クロスアテンションの処理フロー
【翻訳タスクの例: 日→英翻訳】
エンコーダー(日本語処理)
入力: 「東京は日本の首都です」
出力: 各トークンの文脈ベクトル群 → Key (K), Value (V) として提供
デコーダー(英語生成)
生成済みトークン: "Tokyo is"
→ このベクトルが Query (Q)
→ KとQのドット積 → 「首都」「日本」に高いアテンション
→ Vの加重平均 → 次のトークン "the" を予測
マルチモーダルAIでの活用
- Stable Diffusion:テキストのトークン埋め込みをK/Vとし、画像の潜在表現をQとしてクロスアテンションで条件付け
- Flamingo(DeepMind):画像特徴とテキスト生成をクロスアテンションで統合
- GPT-4V / Claude 3:画像とテキストの関係学習にクロスアテンション的な機構を活用
関連用語
- マルチヘッドアテンション — クロスアテンションを複数ヘッドで並列化した機構
- エンコーダー / デコーダー — クロスアテンションが橋渡しする2つの構造
- スケールドドット積アテンション — クロスアテンションの基本計算式
- 埋め込み表現 — クロスアテンションが操作するベクトル表現