AI・機械学習
中級

Positional Encoding(位置エンコーディング)(イチエンコーディング)

Transformerアーキテクチャにおいて、入力トークンの順序情報をモデルに伝えるための手法。Self-Attentionは本来トークンの並び順を区別できないため、位置エンコーディングによって系列内の各トークンがどの位置にあるかを表現する。

0 回閲覧
0 いいね

Positional Encoding(位置エンコーディング)とは

Transformerモデルの根幹を成す Self-Attention 機構は、入力トークン間の関係性を並列に計算できる強力な仕組みだが、トークンの出現順序を本質的に区別できないという構造的な弱点を持つ。RNNやLSTMのように逐次処理で暗黙的に順序を捉えるアーキテクチャとは異なり、Transformerは入力を集合(Set)として扱う。そのため、「猫が犬を追いかけた」と「犬が猫を追いかけた」を区別するには、位置情報を明示的に注入する必要がある。

Positional Encoding(位置エンコーディング)は、この問題を解決するために各トークンの埋め込みベクトルに位置情報を付加する技術の総称である。

位置エンコーディングが必要な理由

観点RNN/LSTMTransformer
順序の捉え方逐次処理で暗黙的明示的な位置情報が必要
並列計算困難可能(Attention)
長距離依存勾配消失で困難Attention で直接参照
位置エンコーディング不要必須

Self-Attention の計算式 Attention(Q, K, V) = softmax(QK^T / √d_k)V において、Q・K・Vはトークン埋め込みから生成される。この計算はトークンの並び替えに対して不変(Permutation Invariant)であり、入力順序を変えても同じ出力を返してしまう。位置エンコーディングはこの対称性を破り、モデルが語順を活用できるようにする。

主要な位置エンコーディング手法の分類

位置エンコーディングは大きく絶対位置エンコーディングと相対位置エンコーディングに分類される。

絶対位置エンコーディング

各トークンの位置(0, 1, 2, ...)に対して固定または学習可能なベクトルを割り当て、トークン埋め込みに加算する方式。

  • 正弦波(Sinusoidal): 元祖Transformer(Vaswani et al., 2017)で提案。sin/cos関数で位置ベクトルを生成
  • 学習可能(Learned): BERT・GPT-2などで採用。位置ごとにパラメータを学習

相対位置エンコーディング

トークン間の相対的な距離に基づいて位置情報を表現する方式。絶対位置よりも汎化性能が高い傾向がある。

  • Relative Position Bias: T5で採用。Attention スコアにバイアス項を加算
  • RoPE(Rotary Position Embedding): LLaMA・Qwen・Gemmaなどで標準採用。回転行列で位置を表現
  • ALiBi(Attention with Linear Biases): BLOOM・MPTで採用。線形ペナルティで遠距離トークンを減衰

位置エンコーディングの進化と最新動向

世代手法代表モデル特徴
第1世代Sinusoidal元祖Transformer学習不要・固定長
第1.5世代LearnedBERT, GPT-2柔軟だが固定長制約
第2世代Relative BiasT5, DeBERTa相対距離で汎化向上
第3世代RoPELLaMA, Qwen, Gemma回転行列・長文外挿可能
第3世代ALiBiBLOOM, MPT学習不要・線形外挿
最新NTK-aware / YaRNExtended LLaMARoPE拡張・128K+対応

現在のLLM開発ではRoPEが事実上の標準となっており、NTK-aware Scaling や YaRN(Yet another RoPE extensioN)によるコンテキスト長の拡張が活発に研究されている。

FAQ

Q1: 位置エンコーディングがないとどうなる?

Transformerは入力トークンを順不同の集合として扱うため、「AがBを倒した」と「BがAを倒した」の区別がつかなくなる。言語理解に必要な語順情報が完全に失われる。

Q2: RoPEがなぜ現在の主流なのか?

RoPEは相対位置を回転行列で表現するため、学習時のコンテキスト長を超えた推論(外挿)が比較的容易である。NTK-aware ScalingやYaRNと組み合わせることで、4Kトークンで学習したモデルを128K以上に拡張できる実績がある。

Q3: 絶対位置と相対位置、どちらが優れている?

一概には言えないが、長文処理や汎化性能では相対位置エンコーディングが優位とされる。絶対位置は実装が簡単で計算コストも低いが、学習時の最大長を超える入力への対応が困難である。