← 用語辞典に戻る

位置エンコーディングとは(いちえんこーでぃんぐ(Positional Encoding))

Self-Attentionは、系列中のどのトークンとどのトークンが関連するかを計算する仕組みですが、それ自体には「どのトークンが何番目にあるか」という順序の情報が含まれていません。単語の並びをシャッフルしても、Attentionの計算結果はシャッフルに対応する形でそのまま入れ替わるだけで、本質的には区別がつかない性質(置換不変性)を持っています。

そこでオリジナルのTransformer論文では、各位置(1番目、2番目…)ごとに異なる周期のsin・cos関数を組み合わせたベクトル(位置エンコーディング)を用意し、各トークンの表現に足し合わせるという方法が提案されました。次元ごとに異なる周波数を使うことで、近い位置どうしは似たベクトルに、遠い位置どうしは異なるベクトルになるようにしています。

位置エンコーディングを加えることで、近くの単語への注意が強まるといった局所的な効果は見られますが、意味的な関連性(例えば代名詞がどの名詞を指すか)まで作り出すわけではありません。順序の情報と意味的な関連付けは、別の役割を担っています。

用語辞典の一覧に戻る