Rethinking and Improving Relative Position Encoding for Vision Transformer: ViT中的位置编码

发布时间 2023-12-18 10:43:26作者: InunI

Rethinking and Improving Relative Position Encoding for Vision Transformer

* Authors: [[Kan Wu]], [[Houwen Peng]], [[Minghao Chen]], [[Jianlong Fu]], [[Hongyang Chao]]


初读印象

comment:: (iRPE)提出了专门用于图像的相对位置编码方法,code:Cream/iRPE at main · microsoft/Cream (github.com)

动机

注意力机制中,输入特征的顺序并不会影响注意力计算,也就是说注意力操作是对位置不敏感的。nlp中常用1维位置编码,而在图像中需要提出二维的位置编码。

  • 绝对位置编码:每个位置都有一个单独的编码向量。
  • 相对位置编码:用两个位置之间的关系在查找表之中得到对应的编码向量。

方法

  • 创新点:
    • 为了研究编码是否可以独立于输入嵌入,引入两种相对位置模式:偏置和上下文。
    • 引入分段函数以进行位置编码。

统一公式

Pasted image 20221024145247其中\(e_{ij}\)是query_i和key_j之间的相关性,\(b_{ij}\)是二维相对位置编码。* 偏执模式:
Pasted image 20221024154920

\(r_{ij}\)是一个可学习的标量

  • 上下文模式:

Pasted image 20221024155009Pasted image 20221024155018


Pasted image 20221024155027\(r_{ij}\)是可学习的向量。#### 分段指标函数(Piecewise Index Function)

Pasted image 20221024151132

其中[·]代表四舍五入;sign(x)中x大于0为1,小于0为-1,等于0为0;\(\alpha\)是分界点;\(\beta\)控制输出区间,\(\gamma\)控制对数部分的曲率。

Pasted image 20221024152311能够通过相对距离分配不同级别的注意力。#### 2D相对位置计算

Euclidean method

是一种无向的方法。
计算两个点之间的欧式距离并将其投影到对应编码空间。
偏置\(r_{ij}\)
Pasted image 20221024155730

Pasted image 20221024155721

\(P_{I(i,j)}\)表示将\(I{(i,j)}\)投影到可学习的标量或者向量上。将\(P_{I(i,j)}\)看作一个桶,用于存储相对位置权重。桶的数量为\(2\beta + 1\)

Quantization method

是一种无向的方法。
欧氏距离在临近点时会被映射到同一个距离,如相对距离(1,0)=1和(1,1)=1.41都会被四舍五入成1,所以多加一个quant映射如下
Pasted image 20221024194539其中Pasted image 20221024194659

Cross method

是一种有向的方法,分别在水平方向和垂直方向上编码,然后将他们相加:
Pasted image 20221024211106其中\(p^\hat{x}\)\(p^\hat{y}\)都是可学习的标量或向量,桶的数量为\(2\times(2\beta+1)\)

Product Method

有向方法,使用二维编码

Pasted image 20221024230447

Pasted image 20221024230506其中\(P_{I^\hat{x}(i,j),I^\hat{y}(i,j)}\)为可学习的标量或向量,桶的数量为\((2\beta+1)^2\)。### 表现
有向强于无向,语义强于偏置。
Pasted image 20221025114046

启发

用可学习的参数来代替人工设置的位置编码,拥有更好的学习效果,而且实现起来也更简单。