旋转位置编码RoPE

1. one-hot编码

每个词都引入一个位置信息

2. 标准位置编码

来源于transform paper,embeding向量交替用sin和cos编码

3. 旋转位置编码

2021年提出,GitHub – ZhuiyiTechnology/roformer: Rotary Transformer

在位置编码上删除了绝对位置嵌入,编码的过程实际就是给query向量乘以一个旋转矩阵。

编码空间在复平面,我们用欧拉公式:

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为旋转矩阵,下图针对二维情况:

Sin/Cos的绝对位置编码具有周期性,而以RoPE为代表的相对位置编码具有远程衰减的特性,随着两个向量之间距离越近,它们内积越大,否则内积越低,这个特性可以增强模型的拓展性和参数鲁棒性。

发表评论