当前位置:   article > 正文

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. 可逆性: 给定 可以反解出

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/小舞很执着/article/detail/807888
推荐阅读
相关标签
  

闽ICP备14008679号