位置エンコーディングの進化

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"

関連ページ