← 返回函数库
位置编码

正弦位置编码

PE(pos, 2i) = sin(pos / 10000^(2i/d))

原版 Transformer 的位置编码。用不同频率的正余弦,让模型感知相对位置,且能外推到训练时没见过的更长序列。

参数

名称类型说明
posint序列中的位置 (0..L-1)
iint维度索引 (0..d/2)
dint编码维度

Python 实现

下面是教学用的最小实现,目的是让你看懂原理。生产中请用 PyTorch / TensorFlow 的高性能 op。

python

同类函数