Roformer:Enhanced Transformer with rotary position embedding

Roformer:Enhanced Transformer with rotary position embedding

Intorduction

最近位置编码在Transformer表现了高效性,它可以在训练中更好的监督不同位置的不同元素之间的依赖关系。作者提出了一种高效的利用位置信息的方法基于旋转位置编码(RoPE),该方法使用旋转矩阵对绝对位置进行编码,同时在自注意公式中加入显式相对位置依赖。

Method

首先给 q 、k引入绝对位置信息,假设q的位置为m,k的位置为n:
在这里插入图片描述
由于计算attention的方式是 q与k矩阵相乘,作者的想法是引入了绝对位置的信息的qm和kn 计算attention后(就是相乘后),他们的结果还可以显示的表示二者的相对位置,公式如下:
在这里插入图片描述
作者通过引入负数的方式来求解f(x),这里简单介绍一下复数的转换公式:
在这里插入图片描述
r 为复数值到原点的距离,theta为旋转角度。

然后带入到上面公式:
在这里插入图片描述
然后作者通过一些列的公式证明(证明过程省略),得到了二维情况下f(x)为:

在这里插入图片描述
也就是通过这个fx给 q、k引入绝对位置信息,通过attention操作后,还可以显示的表示他们的相对位置信息。
通过复数公式转换,把它写成矩阵形式:
在这里插入图片描述
由于矩阵乘法表示一个矩阵映射到另一个矩阵的空间变换,而上述矩阵则是对q进行了旋转操作,所以也叫做旋转位置编码。
写成高维度的形式为:
在这里插入图片描述
在这里插入图片描述

由于 0 比较多,会很浪费算力,所以把它写成下面的形式:
在这里插入图片描述

然后作者在θi的选择上,我们同样沿用了Sinusoidal位置编码的方案,即θi=10000−2i/d,它可以带来一定的远程衰减性。

Experiment

在这里插入图片描述

代码实现

私聊获取

Conclusion

从理论上来看,RoPE与Sinusoidal位置编码有些相通之处,但RoPE不依赖于泰勒展开,更具严谨性与可解释性;从预训练模型RoFormer的结果来看,RoPE具有良好的外推性,应用到Transformer中体现出较好的处理长文本的能力。此外,RoPE还是目前唯一一种可用于线性Attention的相对位置编码。

Reference

https://arxiv.org/pdf/2104.09864.pdf

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

HanZee

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值