Positional Encoding(位置符号化)PE
Positional Encoding は、Transformer の入力埋め込みに位置情報を付与する仕組みです。Self-Attention 自体は順序を持たないため、絶対位置・相対位置を別途符号化して足し込むか乗算する必要があります。
詳細解説
Positional Encoding(位置符号化、ポジショナルエンコーディング)は、Self-Attention が順序情報を本質的に持たないという欠点を補うために、トークン埋め込みに位置情報を付与する仕組みです。Vaswani らの原論文では、次元 i に対して周期 10000^(2i/d_model) の sin/cos 関数値を加算する正弦波エンコーディング(sinusoidal PE)が用いられ、外挿性と相対距離の表現性を両立しました。BERT・GPT-2 は学習可能な絶対位置埋め込み(learned absolute PE)を採用し、シンプルですが学習時の最大長を超える系列に弱いという課題があります。これに対し相対位置エンコーディング(T5 の relative attention bias、Transformer-XL など)は2トークン間の相対距離のみを符号化し、長さ外挿性に優れます。近年の主要 LLM では Query・Key を回転行列で変換する RoPE(Rotary Position Embedding、Llama/Mistral/GPT-NeoX で採用)と、アテンションスコアに位置依存バイアスを加える ALiBi(MPT/BLOOM で採用)が二大勢力で、いずれも長コンテキスト拡張(YaRN・NTK-aware scaling など)との相性が良いとされています。
実装例 / 使い方
- 01原論文では sin/cos 関数による正弦波エンコーディングを使用しました
- 02BERT は学習可能な絶対位置埋め込みを採用しています
- 03Llama・Mistral・GPT-NeoX は RoPE(回転位置埋め込み)を採用しています
関連する用語
Self-Attention(自己注意機構)
SASelf-Attention は、入力系列の各トークンが同じ系列内の他のトークンとの関連度を計算する仕組みです。Query・Key・Value の3行列に射影し...
Transformer
Transformer (トランスフォーマー) は 2017 年 Google 論文で発表された深層学習アーキテクチャで、Self-Attention 機構を核...
RoPE(回転位置埋め込み)
RoPERoPE(Rotary Position Embedding)は、Query・Key を2次元ペアごとに回転行列で変換することで位置情報を埋め込む手法です。相対...
ALiBi(線形バイアス位置符号化)
ALiBiALiBi(Attention with Linear Biases)は、位置埋め込みを使わずアテンションスコアに距離に比例したバイアスを加算する手法です。学習...
Context window
Context window (コンテキストウィンドウ) は、LLM が一度に処理できる入力 + 出力の最大トークン数です。Claude 4 系は 200K〜1...
Positional Encoding(位置符号化)を、実際に活用する
用語の意味は分かった。次は実装。EXBANK の無料診断で、貴社で具体的にどう活用できるかをご提案します。
営業時間 平日10-18時 / 通常24時間以内に返信
