旋转位置编码
Swift Lv6

旋转位置编码具有良好的外推性,即模型在预测时可以处理比训练时更长的序列。

想要获得良好的外推性,必须使用相对位置编码。Transformer使用的是绝对位置编码,外推性不强。

pos

那么,如何使用绝对位置编码来实现相对位置编码呢?

推导过程

欧拉公式:$e^{i x}=\cos x+i \sin x$

其中,$m$ 就是位置下标,$\theta_j=10000^{-2(j-1) / d}, j \in[1,2, \ldots, d / 2]$,跟transformer基本一致。

https://zhuanlan.zhihu.com/p/642884818

下面这是极简的证明:

prove


参考

Powered by Hexo & Theme Keep
Unique Visitor Page View