赞
踩
©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. 可逆性: 给定 可以反解出
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。