ポジショナルエンコーディングとは?
ぽじしょなるえんこーでぃんぐ
ポジショナルエンコーディングとは、Transformerモデルがトークンの順序情報を学習できるように、各単語の位置を数値ベクトルとして埋め込む手法です。
ポジショナルエンコーディング(Positional Encoding)とは、自然言語処理モデルの主流であるTransformerアーキテクチャにおいて、入力トークン(単語や文字の断片)の「文中での位置」情報をモデルに与えるための技術です。
Transformerの中核であるSelf-Attentionは、入力トークン間の関係を並列に計算しますが、この仕組み自体は順序を考慮しません。つまりそのままでは「猫が魚を食べた」と「魚が猫を食べた」を区別できません。そこで各トークンの埋め込みベクトルに位置情報を付加することで、モデルが語順を把握できるようにするのがポジショナルエンコーディングです。
代表的な実装方式として以下のものがあります。
- 固定式(絶対位置):元の論文「Attention Is All You Need」で提案されたサイン・コサイン関数を用いる方式
- 学習式:位置ごとのベクトルをデータから学習するBERTなどで使われる方式
- 相対位置エンコーディング:トークン間の相対的な距離を表現するRoPEなどの新しい方式
近年の大規模言語モデル(LLM)では、長文脈への対応力を高めるためにRoPE(Rotary Position Embedding)などの進化した手法が広く採用されています。ポジショナルエンコーディングの設計はモデルの性能に直結する重要な要素です。
使い方・例文
AIエンジニアがTransformerベースのモデルを設計・解説する際、「どうやって語順を学習させるか」という文脈でポジショナルエンコーディングが中心的なテーマになります。
この用語をシェア
最終更新: