位置エンコーディングは、深層学習におけるトランスフォーマーアーキテクチャの基本的な構成要素です。トランスフォーマーは入力シーケンスを逐次的ではなく並列に処理するため、本来は順序の感覚を持ちません。位置エンコーディングは、各トークンの埋め込みにそのシーケンス内での位置を表す独自の信号を追加し、モデルが単語の順序や距離を理解できるようにします。この技術は、2017年の画期的な論文「Attention Is All You Need」で導入され、大規模言語モデルやその他のシーケンス処理システムにとって不可欠なものとなっています。
核となるアイデアは、トークンがトランスフォーマーのアテンション層に入る前に、入力埋め込みを修正することです。シーケンス内の各位置に対して、その位置のインデックスを符号化するベクトルが生成されます。このベクトルはトークン埋め込みに加算され、意味情報と位置情報の両方を運ぶ結合表現を生成します。アテンションメカニズムは、これらの位置信号を使用して、相対的な距離に基づいてトークン間の関係を計算できます。
正弦波エンコーディング
元のトランスフォーマー論文では、正弦波による位置エンコーディング方式が提案されました。位置posと次元iについて、エンコーディング値は次のようになります:
- PE(pos, 2i) = sin(pos / 10000^(2i/d_model))
- PE(pos, 2i+1) = cos(pos / 10000^(2i/d_model))
ここでd_modelは埋め込み次元です。この選択にはいくつかの望ましい特性があります。サイン関数とコサイン関数は有界な範囲の値を生成し、各位置のエンコーディングは決定的です。さらに重要なのは、位置間の線形関係により、モデルが相対位置を容易に学習できることです。任意の固定オフセットkに対して、PE(pos+k)はPE(pos)の線形関数として表現できます。この特性は、アテンションメカニズムがトレーニング中に見られたシーケンスよりも長いシーケンスに一般化するのに役立ちます。
周波数は次元に沿って減少し、低次元は急速に振動し、高次元はゆっくりと振動します。これにより、脳が空間情報を符号化する方法と同様のマルチスケール表現が作成されます。元の著者らは、学習可能なパラメータを必要とせず、理論上任意の長さのシーケンスを処理できるため、この方法を選択しました。
学習された位置埋め込み
正弦波エンコーディングの代替案は、トレーニング中に位置埋め込みを学習することです。このアプローチでは、各位置インデックスに学習可能なベクトルが割り当てられ、これらのベクトルはモデルの残りの部分と一緒に最適化されます。モデルはタスクに最も適した位置表現を学習します。
学習された埋め込みは、初期のトランスフォーマー実装で使用され、元のBERTモデルも含まれます。これらは、モデルが特定のデータ分布にエンコーディングを適応させることができるため、柔軟性を提供します。ただし、トレーニング時に定義された最大シーケンス長に制限され、追加のパラメータが必要です。非常に長いシーケンスの場合、メモリコストが大きくなる可能性があります。
正弦波エンコーディングと学習エンコーディングの両方が広く採用されています。GPTバリアントなどの多くの現代モデルは学習埋め込みを使用し、元のトランスフォーマーなどの他のモデルは正弦波を使用します。研究によると、両方の方法は多くのタスクで同等に機能しますが、学習された埋め込みは実装の単純さから好まれることがよくあります。
トランスフォーマーアーキテクチャにおける役割
トランスフォーマーアーキテクチャでは、位置エンコーディングは入力段階で適用されます。入力トークンはまず、学習された埋め込み行列を介して埋め込みに変換されます。次に、位置エンコーディングベクトルがトークン埋め込みに要素ごとに加算されます。この結合ベクトルは、マルチヘッドアテンション層を通過します。
アテンションメカニズムは、入力からクエリ、キー、バリューベクトルを計算します。位置情報はこれらの計算に影響を与え、モデルが相対位置に基づいてトークンにアテンションを向けることを可能にします。例えば、文の中で、モデルは動詞がその主語にアテンションを向けるべきことを学習できます。主語はしばしば数位置離れています。
位置エンコーディングがないと、トランスフォーマーは入力を単語の袋として扱い、すべての順序情報を失います。これにより、言語モデリングや翻訳などのタスクが不可能になります。位置エンコーディングは、トランスフォーマーをシーケンシャルデータに効果的にした重要な革新です。
バリエーションと改善
元の提案以来、位置エンコーディングの多くのバリエーションが開発されてきました。注目すべきバリアントの1つは、絶対位置ではなくトークン間の距離を符号化する相対位置エンコーディングです。Transformer-XLやT5などのモデルで導入されたこのアプローチは、より長いシーケンスにうまく一般化でき、より解釈可能です。
もう1つのバリアントは、LLaMAやPaLMなどのモデルで使用される回転位置エンコーディング(RoPE)です。RoPEは、位置に基づいてクエリベクトルとキーベクトルに回転行列を適用し、相対情報を保持しながらモデルがより長いシーケンスに外挿できるようにします。この方法は、最近の大規模言語モデルで人気があります。
他のアプローチには、距離に基づいてアテンションスコアに線形バイアスを追加するALiBi(Attention with Linear Biases)や、T5などのモデルで使用される学習された相対バイアスがあります。これらの方法は、明示的な位置埋め込みの必要性を排除し、アーキテクチャを簡素化することがよくあります。
大規模言語モデルへの応用
位置エンコーディングは、すべての現代の大規模言語モデルに不可欠です。GPT-3、GPT-4、Claude、Geminiなどのモデルは、一貫性があり文脈に適したテキストを生成するために位置情報に依存しています。エンコーディング方法の選択は、モデルが長いドキュメント、コード、その他の構造化データを処理する能力に影響を与える可能性があります。
例えば、OpenAIのGPTモデルは学習された位置埋め込みを使用し、Google DeepMindのChinchillaやGopherは回転エンコーディングを使用します。より長いコンテキストウィンドウへの傾向は、より効率的でスケーラブルな位置エンコーディング方法の研究を促進しています。
位置エンコーディングは、画像、音声、テキストを処理するマルチモーダルモデルでも役割を果たします。ビジョントランスフォーマーでは、空間レイアウトを維持するために画像パッチに位置エンコーディングが追加されます。音声認識では、時間的順序をモデル化するのに役立ちます。
理論的および実践的考慮事項
理論的な観点から、位置エンコーディングは、シーケンス順序に関する事前知識をモデルに注入する帰納的バイアスの一種です。正弦波エンコーディングの相対位置を線形に表現する能力は、主要な理論的利点です。ただし、学習された埋め込みはより複雑な位置関係を捉えることができると主張する研究者もいます。
実践的には、エンコーディングの選択はトレーニングの安定性とパフォーマンスに影響します。正弦波エンコーディングは固定されており、追加のパラメータを必要としないため、過学習を減らすことができます。学習された埋め込みはより柔軟ですが、効果的にトレーニングするにはより多くのデータが必要になる場合があります。
もう1つの考慮事項は外挿、つまりトレーニング中に見られたシーケンスよりも長いシーケンスを処理する能力です。正弦波エンコーディングは理論上任意の長さに外挿できますが、実際にはアテンションメカニズムは未知の長さに苦労することがよくあります。学習された埋め込みは、固定された最大長に対して定義されているため、まったく外挿できません。これにより、外挿を改善するRoPEやALiBiなどの方法の研究が動機付けられています。
将来の方向性
位置エンコーディングの研究は進化し続けています。長いコンテキストモデルへの需要が高まる中、数十万または数百万トークンのシーケンス内の位置を効率的に符号化する新しい方法が開発されています。階層的位置エンコーディングや連続表現などの技術が探求されています。
Mambaやその他の状態空間モデルなどの最近のモデルは、明示的な位置エンコーディングを必要としないアテンションの代替案を提案しています。ただし、トランスフォーマーは依然として支配的であり、位置エンコーディングは重要な研究分野であり続けています。
2025年現在、この分野はより適応的でデータ駆動型の位置表現に向かっていますが、2017年に導入された基本概念は依然として基礎となっています。
結論
位置エンコーディングは、トランスフォーマーがシーケンシャルデータを処理できるようにする、シンプルでありながら強力な技術です。トークン埋め込みに順序情報を注入することで、モデルが言語、コード、その他の順序付けられたデータを理解できるようにします。正弦波エンコーディングと学習エンコーディングの両方が効果的であることが証明されており、進行中の研究はこれらの方法を洗練し続けています。位置エンコーディングを理解することは、現代の人工知能と機械学習を研究する人にとって不可欠です。