位置符号化(Positional Encoding)
概要
位置符号化は、Transformer において トークンの位置情報をモデルに明示的に与える ための仕組みです。LSTM など従来のアーキテクチャは入力を逐次処理するため位置情報が自然に保持されますが、Transformer はすべての計算を並列に行うため、位置情報を明示的に補う必要があります。Attention 機構だけでは語順を区別できないため、位置符号化が不可欠です。
なぜ必要か
- Seq2Seq の LSTM は逐次処理のため、順序が暗黙に保たれていた
- Transformer は系列内の全要素を並列に処理するため、そのままでは「単語の順序」を区別できない
- そこで、各位置に対応する情報を埋め込みに加える
主な方式
| 方式 | 略称 | 概要 |
|---|---|---|
| 絶対位置埋め込み | Absolute Position Embedding | 各絶対位置に対応するベクトルを加算(オリジナル Transformer) |
| 線形バイアスによるアテンション | ALiBi(Attention with Linear Biases) | アテンションスコアに距離に応じた線形バイアスを加える |
| ロータリー位置埋め込み | RoPE(Rotary Position Embedding) | 埋め込みを回転させて相対位置を表現。多くの現代 LLM で採用 |
| 位置符号化なし | NoPE(No Positional Encoding) | 明示的な位置符号化を用いない構成 |
RoPE や ALiBi は、学習時より長い系列への外挿(ロングコンテキスト対応)にも関わる重要な技術です。
Transformer 内での位置づけ
入力 → 埋め込み層(Embedding Layer)→ 位置符号化 → マルチヘッド Attention → … という流れで、埋め込み直後に適用されます。
関連ページ
参考資料
- つくりながら学ぶ!LLM自作入門(4章 アーキテクチャと学習目的)
- Vaswani, A., et al. (2017). “Attention Is All You Need.”