位置エンコーディングの進化
位置エンコーディングの進化
Transformerは位置に不変なため、順序情報の明示的な注入が必要。正弦波エンコーディング、学習可能埋め込み、相対位置表現、RoPE、ALiBiの理論と比較。長文脈対応と外挿性能の観点から現代的手法を解説。
最終更新:2025年11月
1. なぜ位置情報が必要か
1.1 Self-Attentionの位置不変性
Self-Attentionの計算:
$$\text{Attention}(Q, K, V) = \text{softmax}\left(\frac{QK^T}{\sqrt{d_k}}\right)V$$この計算は入力トークンの順序を区別しない。「猫が犬を追う」と「犬が猫を追う」が同じ表現になってしまう。
1.2 RNNとの違い
RNNは逐次処理により暗黙的に順序を学習。Transformerでは明示的な位置情報の注入が必要。
1.3 位置情報の注入方法
- 加算:入力埋め込みに位置埋め込みを加算(最も一般的)
- Attentionバイアス:Attentionスコアに位置依存のバイアスを追加
- 回転:Query/Keyを位置依存に回転(RoPE)
2. 正弦波エンコーディング(Sinusoidal)
2.1 定義
Vaswani et al. (2017) のオリジナルTransformerで提案。
$$PE_{(pos, 2i)} = \sin\left(\frac{pos}{10000^{2i/d}}\right)$$ $$PE_{(pos, 2i+1)} = \cos\left(\frac{pos}{10000^{2i/d}}\right)$$$pos$:位置(0, 1, 2, ...)、$i$:次元インデックス、$d$:埋め込み次元
2.2 設計の直感
- 各次元が異なる周波数の正弦波
- 低い次元:高周波(隣接位置を区別)
- 高い次元:低周波(遠い位置を区別)
- 二進数カウンタのアナロジー
2.3 相対位置の表現
重要な性質:$PE_{pos+k}$ は $PE_{pos}$ の線形変換で表現可能。
$$PE_{pos+k} = T_k \cdot PE_{pos}$$$T_k$ は位置 $k$ に依存する回転行列。これにより相対位置を学習可能。
2.4 利点と欠点
利点:
- 学習不要、パラメータ増加なし
- 任意の長さに対応(外挿可能)
- 相対位置の学習が可能
欠点:
- 長文脈での外挿性能に限界
- タスク固有の位置パターンを学習できない
3. 学習可能な位置埋め込み
3.1 定義
位置埋め込みをパラメータとして学習。
$$E_{pos} \in \mathbb{R}^{L \times d}$$$L$:最大系列長、$d$:埋め込み次元
3.2 採用例
- BERT、GPT-2
- ViT(Vision Transformer)
3.3 利点と欠点
利点:
- タスクに最適化された表現を学習
- 実装がシンプル
- 正弦波と同等以上の性能
欠点:
- 最大長 $L$ を超える外挿不可
- パラメータ増加($L \times d$)
3.4 実験的知見
訓練範囲内では正弦波と学習可能はほぼ同等の性能。長文脈への外挿では正弦波がやや優位。
4. 相対位置エンコーディング
4.1 動機
絶対位置より相対位置(トークン間の距離)が重要な場合が多い。
例:「主語の3つ後に動詞」という関係は絶対位置に依存しない。
4.2 Shaw et al. (2018)
Attentionスコアに相対位置の埋め込みを追加。
$$e_{ij} = \frac{(x_i W^Q)(x_j W^K + a_{ij}^K)^T}{\sqrt{d_k}}$$$a_{ij}^K$:位置 $i$ と $j$ の相対距離に対応する学習可能ベクトル。
Transformer-XL、XLNetで採用。
4.3 T5の相対位置バイアス
Attentionスコアにスカラーバイアスを追加。
$$e_{ij} = \frac{q_i \cdot k_j}{\sqrt{d_k}} + b_{i-j}$$$b_{i-j}$:相対距離 $i-j$ に対応する学習可能スカラー。
バケット化により遠い距離を粗く表現。
4.4 利点
- 相対位置の直接的なモデリング
- 長さへの汎化が改善
- 言語の構造に適合
主要論文:
- Shaw et al. (2018) "Self-Attention with Relative Position Representations", NAACL
- Dai et al. (2019) "Transformer-XL: Attentive Language Models Beyond a Fixed-Length Context", ACL
5. RoPE(Rotary Position Embedding)
5.1 概要
Su et al. (2021) による提案。現在のLLMの標準的手法。
核心アイデア:QueryとKeyを位置依存の角度で回転。内積が相対位置のみに依存。
5.2 数学的定義
2次元の場合の回転行列:
$$R_\theta = \begin{pmatrix} \cos\theta & -\sin\theta \\ \sin\theta & \cos\theta \end{pmatrix}$$位置 $m$ でのQuery/Keyの変換:
$$\tilde{q}_m = R_{m\theta} q_m, \quad \tilde{k}_n = R_{n\theta} k_n$$内積:
$$\tilde{q}_m^T \tilde{k}_n = q_m^T R_{(m-n)\theta} k_n$$結果が相対位置 $m-n$ のみに依存!
5.3 高次元への拡張
$d$ 次元を $d/2$ 個の2次元ペアに分割し、各ペアに異なる周波数で回転を適用。
$$\theta_i = 10000^{-2i/d}$$正弦波エンコーディングと同様の周波数設計。
5.4 利点
- 相対位置を自然にエンコード
- 長文脈への外挿性能
- 追加パラメータなし
- 線形Attentionとの互換性
5.5 長文脈拡張
Position Interpolation:訓練長を超える位置をスケーリング。
NTK-aware scaling:周波数を適応的に調整。
YaRN:NTK + 高周波外挿の組み合わせ。
これらにより、4Kで訓練したモデルを128K+に拡張可能。
5.6 採用例
LLaMA、Mistral、Qwen、Gemma、Falcon など、2023年以降のほぼ全てのオープンLLM。
主要論文:
- Su et al. (2021) "RoFormer: Enhanced Transformer with Rotary Position Embedding", arXiv
- Chen et al. (2023) "Extending Context Window of Large Language Models via Position Interpolation", arXiv
- Peng et al. (2023) "YaRN: Efficient Context Window Extension", arXiv
6. ALiBi(Attention with Linear Biases)
6.1 概要
Press et al. (2022) による提案。位置埋め込みを完全に排除。
6.2 原理
Attentionスコアに距離に比例したペナルティを追加。
$$\text{softmax}\left(\frac{QK^T}{\sqrt{d_k}} - m \cdot |i - j|\right)$$$m$:ヘッドごとに異なるスロープ(固定、学習なし)
遠いトークンほどAttentionが弱くなるバイアス。
6.3 スロープの設定
$n$ ヘッドの場合:$m = 2^{-8/n}, 2^{-16/n}, ..., 2^{-8}$
ヘッドごとに異なる「注意の射程」を持つ。
6.4 利点
- 学習パラメータなし
- 優れた長文脈外挿性能
- 実装がシンプル
- "Train short, test long" が可能
6.5 欠点
- 長距離のAttentionが常に抑制される
- 一部タスクでRoPEに劣る
6.6 採用例
BLOOM、MPT、Falcon(一部)
主要論文:
- Press et al. (2022) "Train Short, Test Long: Attention with Linear Biases Enables Input Length Extrapolation", ICLR
7. 手法比較と選択
7.1 性能比較
| 手法 | 外挿性能 | パラメータ | 計算コスト |
|---|---|---|---|
| 正弦波 | 中 | なし | 低 |
| 学習可能 | 低 | $O(L \cdot d)$ | 低 |
| 相対位置 | 中〜高 | $O(L)$または$O(L \cdot d)$ | 中 |
| RoPE | 高 | なし | 低 |
| ALiBi | 非常に高 | なし | 低 |
7.2 2024-2025年の標準
LLM:RoPEが事実上の標準。長文脈拡張技術との組み合わせ。
Vision Transformer:学習可能な位置埋め込みが依然主流。
特殊用途:ALiBiは極端に長い文脈が必要な場合に有効。
7.3 選択指針
- 汎用LLM:RoPE + 長文脈拡張技術
- 固定長タスク:学習可能で十分
- 極長文脈:ALiBiまたはRoPE + YaRN
- リソース制約:正弦波(シンプルで効果的)
8. 参考文献
基本論文
- Vaswani et al. (2017) "Attention Is All You Need", NeurIPS(正弦波)
- Shaw et al. (2018) "Self-Attention with Relative Position Representations", NAACL
- Su et al. (2021) "RoFormer", arXiv(RoPE)
- Press et al. (2022) "Train Short, Test Long", ICLR(ALiBi)
長文脈拡張
- Chen et al. (2023) "Position Interpolation"
- bloc97 (2023) "NTK-aware Scaled RoPE"
- Peng et al. (2023) "YaRN"
解説リソース
- EleutherAI Blog "Rotary Embeddings: A Relative Revolution"
- Kexin Wang "Understanding Position Encoding in Transformers"