Learning Guide
Attention機構 徹底理解ガイド
内積・softmaxの前提知識からAttention誕生の背景、Self-Attentionの数理、位置エンコーディング、Transformerの組み上げと原論文読破、理論的本質、O(N²)効率化、言語外への応用まで。9章・60記事(全公開)。★印16本の最短ルート付き。
★印は「Attention Is All You Need」を読み切るための最短ルート(16本)です。全部読むのが大変なときは、まず★だけを順に辿ってください。★なしの記事は、疑問が湧いたときに立ち寄る深掘り・発展です。
前提知識 — 内積・softmax・系列モデル
Attentionの数式に出てくる道具はたった2つ、内積とsoftmax。それに加えて『系列を扱うとはどういうことか』をRNNで体感しておくと、以降のすべてがスムーズになる。既に知っていればこの章は飛ばしてよい。
Attention前夜 — なぜ『注意』が必要になったのか
Attentionは翻訳モデルの行き詰まりから生まれた。RNN・CNNが系列処理で抱えていた限界(固定長ボトルネック・逐次計算・長距離依存)を理解すれば、Attentionの設計がすべて『答え』に見えてくる。
★ Seq2Seq(Encoder-Decoder)モデル
系列変換の原点。固定長ベクトルに全情報を詰め込むボトルネック問題を体感する
CNNはなぜ並列計算できて長距離依存が苦手なのか
局所窓の一斉適用がもたらす並列性と、受容野の限界という表裏
★ なぜAttentionはEncoder-Decoderと切り離せないのか
seq2seq→ボトルネック→Attention誕生→Transformerへ、翻訳モデルの進化の物語
Bahdanau/Luong Attention
2014-15年の古典的Attention。加法的注意と乗法的注意の比較と実装
Attentionの直感をつかむ
数式の前にイメージを固める章。『検索』のアナロジーでQuery・Key・Valueを理解し、attentionの出力=文脈ベクトルが幾何的に何者なのかを図で確かめる。
Self-Attentionの数理
Transformerの心臓部を数式レベルで解剖する。なぜ√d_kで割るのか、なぜQ・K・Vの3つに射影するのか、マスクはどう働くのか——『なぜ』に答えられる状態を目指す。
★ なぜAttentionはスケールドドット積なのか
√d_kで割る理由を内積の分散とsoftmaxの飽和から徹底解説。原論文 式(1)の完全理解
なぜQ・K・Vの3つに射影するのか
同じ入力から3役を作り分ける理由を、役割分離と表現力の観点から解説
softmaxの温度とattention分布の鋭さ
温度パラメータとエントロピーで注意の『集中・分散』を定量化する
★ Self-Attention機構の理論と実装
自己注意の定義と数式導出、NumPy/PyTorchでの実装
Self-Attentionの詳細
計算過程を1ステップずつ分解し、行列の形状を追いながら理解する
★ Multi-Head Attention
複数ヘッドへの分割が生む多角的な表現学習と、その実装
アテンションマスクの種類と実装
Causal Mask・Padding Maskの使い分けと実装
★ Cross-Attentionの理論と実装
QとK・Vが別系列から来るとき何が起きるか。Self-Attentionとの対比
位置情報をどう与えるか
Attentionは集合演算であり、そのままでは語順を区別できない。正弦波エンコーディングの精密な理解から、RoPE・ALiBi・相対位置まで、位置表現の系譜を追う。
Self-Attentionは語順を知らない — 置換同変性
f(PX)=Pf(X)の証明と実測で『なぜ位置エンコーディングが必然か』を理論から理解する
★ 正弦波位置エンコーディングを具体例で理解する
時計・二進数カウンタのアナロジーで原論文の位置表現を直感的に解剖
位置エンコーディングの各種手法
絶対位置・相対位置・回転位置の手法を俯瞰する
位置エンコーディングの詳細
sin/cos位置エンコーディングの数式と性質を深掘りする
RoPE(回転位置埋め込み)
複素数の回転で相対位置を内積に埋め込む、現代LLMの標準手法
ALiBiと線形バイアス
学習不要の線形バイアスによる位置情報と外挿性能
相対位置エンコーディングの理論
Shaw et al.からTransformer-XLまで、相対位置の系譜
Transformerへ組み上げ、原論文を読み切る
Attentionに脇役たち(FFN・残差接続・Layer Norm)を組み合わせてTransformerブロックを完成させ、訓練の詳細(label smoothing・warmup・ビームサーチ)まで押さえる。仕上げに原論文『Attention Is All You Need』を読み切り、ゼロから実装する。
★ Transformerアーキテクチャの全体像
エンコーダ・デコーダ構造の設計思想を俯瞰する
Transformerエンコーダ
Self-Attention + FFN + 残差接続の構成を深く理解する
★ Transformerデコーダ
Masked Self-AttentionとCross-Attentionの二段構え
FFN(Feed-Forward Network)の役割
位置ごとの2層MLPが担う非線形変換と『記憶』の役割
残差接続はなぜ効くのか
恒等写像・勾配ハイウェイ・損失地形・暗黙アンサンブルの4視点で図解
Layer Normalization
バッチサイズに依存しない正規化。Pre-LN/Post-LNの違いも
Label Smoothing
原論文 Section 5の訓練テクニック。正解ラベルを少し崩すと汎化が上がる理由
学習率ウォームアップとNoamスケジュール
原論文の学習率式 lrate=d^-0.5·min(...)の意味。なぜTransformerにwarmupが必須か
ビームサーチ
翻訳の推論時に使う探索。原論文のBLEU評価はbeam size 4で行われた
★ 「Attention Is All You Need」論文徹底解読
ここまでの部品知識を総動員して原論文を読み切る
★ Transformerをゼロから実装(PyTorch)
全コンポーネントを自分の手で組み上げ、動かして仕上げる
理論でAttentionの本質に迫る
Attentionを別の数学の言葉で言い換えると、その本質が見えてくる。カーネル回帰との等価性、Hopfieldネットワークとの対応、rank collapse——研究者視点でAttentionを捉え直す。
Attentionは『ソフトな辞書引き』— カーネル回帰との等価性
Nadaraya-Watson推定との対応でattentionの統計的な本質を理解する
Modern Hopfield NetworksとAttentionの等価性
連想記憶の更新則がattentionと一致する——Hopfield Networks is All You Needを読む
純粋Attention層のrank collapse
残差もFFNもないattentionの積み重ねが表現を退化させるメカニズム
誘導ヘッド(Induction Heads)とin-context learning
『前に出たパターンの続きをコピーする』ヘッドがICLの正体か——機構的解釈の入門
Multi-Headは全部必要か? — ヘッドの冗長性とプルーニング
大半のヘッドは削っても性能が落ちない。重要度の測り方と生き残るヘッドの役割
Attention重みの可視化と解釈
注意重み行列の可視化手法とモデルの振る舞いの読み解き方
Attentionの解釈性と限界
注意重みはモデルの説明になるか? 解釈性研究の現状と議論
O(N²)との戦い — 効率化の系譜
系列長の2乗で膨らむ計算量・メモリとの戦いがAttention研究の一大テーマ。近似で削る流派(Sparse・Linear・窓)と、厳密なままハードウェアを攻める流派(FlashAttention・KVキャッシュ)を体系的に学ぶ。
★ self-attentionの計算量はなぜO(N²)なのか
総当たり構造の必然と、それでもTransformerがスケールする3つの理由。原論文 Section 4(計算量比較表)の理解に直結
Sparse Attention(Longformer・BigBird)
局所注意とグローバルトークンによる長文書処理
Linear Attention / Performer
カーネル近似でsoftmaxを分解し、線形計算量を実現する
Sliding Window Attention
固定窓による効率的な局所注意とMistralでの採用
FlashAttentionのアルゴリズム
計算量は変えずIOを最適化する。タイル化とオンラインsoftmaxの数理
KVキャッシュ
自己回帰生成の再計算を消す基本技術。メモリとの引き換え構造
MQA / GQA — KVキャッシュを削る
KVヘッドを共有してLLM推論を軽くする、LLaMA 2以降の標準
PagedAttention(vLLM)
OSのページングに学ぶKVキャッシュのメモリ管理
Attention Sink(注意の吸い込み)
なぜ先頭トークンに注意が集まるのか。StreamingLLMの仕組みまで
Attentionの広がり — 言語の外へ
Attentionは言語処理の道具にとどまらない。画像・グラフ・時系列・異常検知——『どの要素がどの要素を参照すべきかをデータから学ぶ』という発想が各分野をどう変えたかを見る。
Vision Transformer(ViT)
画像をパッチ分割してTransformerで処理する。CNNからの転換点
Stable DiffusionのCross-Attention
テキスト条件を画像生成に注入するクロスアテンションの仕組み
Graph Attention Network(GAT)
グラフの近傍集約に注意重みを導入する。multi-head化の導出
時系列へのTransformer応用
時系列予測にTransformerを適用する手法とPatchTST等の発展
iTransformer — 変量方向の注意
時間でなく変量をトークン化する逆転の発想。QK^Tが変量間関係行列に
Anomaly Transformer — 注意で異常を検知する
attention分布そのものを異常判定に使う。Association Discrepancyの数理