ページの作成
親となるページを選択してください。
親ページに紐づくページを子ページといいます。
例: 親=スポーツ, 子1=サッカー, 子2=野球
子ページを親ページとして更に子ページを作成することも可能です。
例: 親=サッカー, 子=サッカーのルール
親ページはいつでも変更することが可能なのでとりあえず作ってみましょう!
本稿は Attention(注意機構) に関する記事です。
| この記事の要点 |
|---|
|
Attention とは?
Attention(注意機構) は、ニューラルネットワークが入力データの中で「どこに注目すべきか」を学習する仕組みです。「重み付き平均」をデータから動的に決める、と言い換えてもよいです。
もともと 2014〜2015 年に機械翻訳の Encoder-Decoder モデルで、長文翻訳の精度を上げる補助機構として提案されました。2017 年の 「Attention Is All You Need」 論文で、RNN を完全に置き換えて Attention だけで系列モデルを作る Transformer が提案され、現代 AI の基礎技術になりました。
身近な直感
| 補足: なぜ「注意」と呼ぶか |
|---|
| 人間が文章を読むとき、すべての単語に均等に注目するのではなく、文脈に応じて重要な単語に「注意」を向けます。 例:「彼女はリンゴを買った。それは赤かった。」を読むとき、「それ」が指すのは「リンゴ」だと自然に判別します。これは「それ」と「リンゴ」に強い注意関係があるからです。Attention 機構は、この「重要な部分により強く向く重み」をデータから学習します。 |
Q / K / V の基本
Attention は各入力位置を 3 つのベクトルに変換します。
| 記号 | 名称 | 役割 |
|---|---|---|
| Q | Query(クエリ) | 「何を探しているか」を表す |
| K | Key(キー) | 「自分が何の情報を持つか」のラベル |
| V | Value(バリュー) | 「実際に運ぶ情報」 |
計算の流れ:
- 各クエリ Q が各キー K と内積(類似度)を計算
- √d でスケールして softmax で確率分布に変換(合計 1)
- その確率で V を重み付き平均
数式で書くと:
|
Attention(Q, K, V) = softmax(Q KT / √dk) V |
√dk で割るのは、内積が次元数 d に比例して大きくなり softmax が極端になるのを防ぐためです。
Self-Attention と Cross-Attention
| 種類 | Q の出所 | K, V の出所 | 用途 |
|---|---|---|---|
| Self-Attention | 同じ系列 | 同じ系列 | 文脈の理解(LLM の中核) |
| Cross-Attention | ある系列 | 別の系列 | 翻訳 (Encoder-Decoder)、画像 + テキスト |
| Masked Self-Attention | 同じ系列 | 同じ系列(過去のみ) | 因果的生成(GPT 系) |
Multi-Head Attention
1 つの Attention だけだと「ひとつの関係」しか学べないため、複数の Attention を並列に走らせ、異なる視点(語順 / 意味 / 構文など)を同時に捉えます。これを Multi-Head Attention と呼びます。
例: 1 つの Head は「主語と動詞の関係」、別の Head は「代名詞と先行詞の関係」、また別の Head は「対比語の関係」…のように、各 Head が違う種類の依存性を担当するように自動で分担されます(明示的に指定するわけではない)。
応用範囲(系列に限らない)
| 領域 | Attention の使われ方 |
|---|---|
| 自然言語処理 | 文中の単語間の依存関係(LLM の中核) |
| 画像 (ViT) | 画像を「パッチ」に分割し、パッチ間の Attention |
| 音声 (Whisper) | 音声フレーム間の Attention |
| マルチモーダル | テキストと画像トークン間の Cross-Attention |
| 強化学習 | Decision Transformer の系列処理 |
| グラフ | Graph Attention Network (GAT) |
| 推薦システム | ユーザの過去行動系列を Attention で要約 |
| タンパク質 | AlphaFold の構造予測 |
計算量とメモリの課題
| 注意: O(n²) の壁 |
|---|
| 標準の Self-Attention は系列長 n に対して計算量・メモリとも O(n²) です。系列長を倍にすると計算が 4 倍、メモリも 4 倍。これが LLM のコンテキストウィンドウ上限と、長文を扱う際のコスト・遅延の主因です。 |
長文対応の改良
| 改良 | 概要 |
|---|---|
| FlashAttention | GPU のメモリ階層を活かして同じ計算を高速化(数学的には等価) |
| Sliding Window Attention | 近傍だけ見る(Mistral 等で採用) |
| Sparse Attention | 一部のトークンだけ Attention(Longformer 等) |
| Linear Attention / Linformer | 計算を線形に近似 |
| GQA (Grouped Query Attention) | 推論時の KV キャッシュを削減 |
| MLA (Multi-head Latent Attention) | DeepSeek の効率化手法 |
| State Space Model (Mamba) | Attention 自体を別構造に置き換える代替案 |
最小サンプル: PyTorch で Self-Attention
|
import torch, torch.nn as nn |
運用上のヒント
| Tips |
|---|
|
関連
ページの作成
親となるページを選択してください。
親ページに紐づくページを子ページといいます。
例: 親=スポーツ, 子1=サッカー, 子2=野球
子ページを親ページとして更に子ページを作成することも可能です。
例: 親=サッカー, 子=サッカーのルール
親ページはいつでも変更することが可能なのでとりあえず作ってみましょう!
子ページはありません
人気ページ
- 1 Eclipseで「サーバーに追加または除去できるリソースがありません。」の原因と対処法
- 2 tomcat の起動 / 停止ログと catalina.log・catalina.out の違い
- 3 【Javascript】base urlを取得する方法
- 4 YouTube Data API (v3) のエラー一覧|403系エラーの確認ポイント
- 5 Spring Frameworkのアノテーション一覧
- 6 Laravelのエラー一覧|原因と対処の入口ページ
- 7 3D グラフィックスとは?Unity・OpenGL・DirectX の基礎
- 8 【Spring】@Valueアノテーションとは
- 9 CATALINA_HOME の確認方法 (Linux / Mac)
- 10 【Spring】@Autowiredアノテーションとは
最近更新/作成されたページ
- AIの基礎概念:LLM/Transformer/Attention/RAG/エージェント など必須キーワード NEW 2026-05-13 12:19:18
- Diffusion Model とは?画像生成 AI の仕組み・Stable Diffusion NEW 2026-05-13 12:18:15
- マルチモーダル AI とは?GPT-4o・Gemini・Claude の使い方 NEW 2026-05-13 12:18:14
- トークン / コンテキストウィンドウとは?料金・上限・最適化 NEW 2026-05-13 12:18:14
- ファインチューニングとは?LoRA・QLoRA・SFT・RLHF/DPO NEW 2026-05-13 12:18:13
- AIエージェントとは?Tool Use・LangGraph・MCP・実装例 NEW 2026-05-13 12:18:13
- RAG (検索拡張生成) とは?仕組み・実装・LangChain 例 NEW 2026-05-13 12:18:12
- Prompt Engineering とは?技法・Chain-of-Thought・実践例 NEW 2026-05-13 12:18:12
- Attention (注意機構) とは?Q/K/V・Multi-Head の仕組み NEW 2026-05-13 12:18:11
- Embedding (埋め込み) とは?ベクトル化・類似検索・RAG NEW 2026-05-13 12:18:11
- Transformer とは?仕組み・Self-Attention・LLM の基礎 NEW 2026-05-13 12:18:10
- LLM (大規模言語モデル) とは?仕組み・代表モデル・使い方 NEW 2026-05-13 12:18:10
- ディープラーニングとは?CNN・RNN・Transformer・LLM の入門 2026-05-13 10:24:07
- 機械学習とは?教師あり・教師なし・強化学習・代表アルゴリズム 2026-05-13 10:24:07
- AIに必要な数学:線形代数・微積分・確率統計・情報理論・最適化 2026-05-13 10:20:39
コメントを削除してもよろしいでしょうか?