旋转位置编码
旋转位置编码具有良好的外推性,即模型在预测时可以处理比训练时更长的序列。
想要获得良好的外推性,必须使用相对位置编码。Transformer使用的是绝对位置编码,外推性不强。
那么,如何使用绝对位置编码来实现相对位置编码呢?
推导过程
欧拉公式:$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
下面这是极简的证明: