1. one-hot编码
每个词都引入一个位置信息
![](https://pcv.oss-cn-shanghai.aliyuncs.com/wp-content/upload/2024/06/image-1.png)
2. 标准位置编码
来源于transform paper,embeding向量交替用sin和cos编码
![](https://pcv.oss-cn-shanghai.aliyuncs.com/wp-content/upload/2024/06/image-2.png)
![](https://pcv.oss-cn-shanghai.aliyuncs.com/wp-content/upload/2024/06/image-3.png)
3. 旋转位置编码
2021年提出,GitHub – ZhuiyiTechnology/roformer: Rotary Transformer
在位置编码上删除了绝对位置嵌入,编码的过程实际就是给query向量乘以一个旋转矩阵。
编码空间在复平面,我们用欧拉公式:
![](https://pcv.oss-cn-shanghai.aliyuncs.com/wp-content/upload/2024/06/image-5.png)
f_{q,k}(x_m,m)=R^d_{\Theta,m}W_{q,k}x_m\\ \Theta=\{\theta_i=10000^{-2(i-1)/d},\ \ \ i=[1,2,...d/2]\}
R为旋转矩阵,下图针对二维情况:
![](https://pcv.oss-cn-shanghai.aliyuncs.com/wp-content/upload/2024/06/image-4.png)
Sin/Cos的绝对位置编码具有周期性,而以RoPE为代表的相对位置编码具有远程衰减的特性,随着两个向量之间距离越近,它们内积越大,否则内积越低,这个特性可以增强模型的拓展性和参数鲁棒性。