Transformer升级之路:二维位置的旋转式位置编码

©PaperWeekly 原创 · 作者 | 苏剑林

单位 | 追一科技

研究方向 | NLP、神经网络

在之前的文章 Transformer 升级之路:博采众长的旋转式位置编码中我们提出了旋转式位置编码 RoPE 以及对应的 Transformer 模型 RoFormer。由于笔者主要研究的领域还是 NLP,所以本来这个事情对于笔者来说已经完了。但是最近一段时间,Transformer 模型在视觉领域也大火,各种 Vision Transformer(ViT)层出不穷,于是就有了问题:二维情形的 RoPE 应该是怎样的呢?

咋看上去,这个似乎应该只是一维情形的简单推广,但真实情况却远比我们想象中复杂,本文就对此做一个分析,从中深化我们对 RoPE 的理解。

二维RoPE

什么是二维位置?对应的二维 RoPE 又是怎样的?它的难度在哪里?在这一节中,我们先简单介绍二维位置,然后直接给出二维 RoPE 的结果和推导思路,在随后的几节中,我们再详细给出推导过程。

1.1 二维位置

在 NLP 中,语言的位置信息是一维的,换句话说,我们需要告诉模型这个词是句子的第几个词;但是在 CV 中,图像的位置信息是二维的,即我们需要告诉模型这个特征是在第几行、第几列。这里的二维指的是完整描述位置信息需要两个数字,并不是指位置向量的维数。

有读者可能想:简单展平后当作一维的处理不行吗?确实不大行,比如一个 的 feature map,位置 展平后就变成了 ,而位置 展平后就分别变成了 ,两者与 的差分别是 h 和 1。然而,按照我们直观的认识, 它们与 的距离应该是一样的才对,但是展平后却得到了不一样的 h 和 1,这未免就不合理了。

所以,我们需要专门为二维情形设计的位置编码,不能简单地展平为一维来做。

1.2 标准答案

经过后面的一番推导,得到二维 RoPE 的一个解为:

其中这个解很容易理解,它是两个一维 RoPE 组成的分块矩阵,实现上它就是将输入向量分为两半,一半施加 x 的一维 RoPE,一半施加 y 的一维 RoPE。由此形式我们也不难类比三维、四维等位置的 RoPE。

矩阵 (1) 是一个正交矩阵,它满足两个关键性质:

1. 相对性: 即 ,也正是由于这个性质,RoPE 才具有通过绝对位置实现相对位置的能力;

2. 可逆性: 给定 可以反解出

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值