NISHIO Hirokazu[日本語][English]

Positional Encoding

Transformer image https://arxiv.org/pdf/1706.03762.pdf

要するにi個の回転する単位ベクトルで、それぞれの回転周期は

  • 回転周期$2\pi$: $\sin(pos), \cos(pos)$
  • 回転周期 $10000 \cdot 2\pi$: $\sin(pos / 10000), \cos(pos / 10000)$ の間を等比級数的に刻んだものになっている

位置の概念を数直線的に捉えてしまいがちだが、これは位置を循環する値として表現している。だから無限に長い系列があると必ず「同じ位置」が繰り返すのだが、その周期が十分長いならば実用上の問題はない。地表だって実際は循環しているのに日常生活では直交座標だと思ってるしね。

  • #回転エンコーディング

入力に対してconcatするのではなく、足し合わせてしまうのだが、それで良いらしい。


(C)NISHIO Hirokazu / Converted from Markdown (ja)
Source: [GitHub] / [Scrapbox]