动机
- 相对位置编码在自然语言处理任务中被证明是有效的,而在视觉任务中更常见绝对位置编码,那么相对位置编码在视觉任务中是否有用?
- 如果有用,是哪些因素起到了作用?
贡献
- 验证了相对位置编码的有效性
- 验证了相对位置编码中不同因素起到的作用
方法
-
问题一:以前的相对位置编码都依赖于input embeddings,那么编码是否可以独立于输入
探究方法:设计了两种相对位置编码的模式,偏置模式(独立输入)和上下文模式(考虑与查询、键或值的交互)
- 偏置模式
- 偏置模式
rij为可学习标量,表示位置i和j之间的相对位置权重。
- 上下文模式,有多种变体
应用于q:
应用于q和k:
应用于v:
-
问题二:相对位置编码方向性的重要性
-
探究方法:设计了四种相对位置编码的计算方法,两种无向和两种有向
-
欧式距离法(无向)
-
量化法(无向):欧式距离法会把两个近邻映射到同一个索引中,假设近邻应该分开,采取了量化。做法是把欧氏距离法得到的实数映射到不同的整数。
-
交叉法(有向):分别计算水平方向和垂直方向上的编码,然后再汇总。
-
点乘法(有向)
-
-
其他创新点
- 提出分段索引函数与clip函数做对比
目的:把相对位置编码映射到一个有限集中;
功能:大大减少长序列的计算成本和参数量;
方法:基于假设近邻比远邻更重要,通过相对距离来分配注意力。
- 提出分段索引函数与clip函数做对比
实验
任务:图像分类、目标检测
数据集:ImageNet 、COCO2017
baseline:Deit、DETR
设置:将相对位置编码添加到所有自注意力层中。如果未指定,则仅在关键点上添加相对位置编码。
实验结果:
结论
- 1) 相对位置编码可在不同磁头之间共享,以节省参数。它能够在上下文模式下实现与非共享模式相当的性能。
- 2) 在图像分类任务中,相对位置编码可以代替绝对位置编码。然而,绝对位置编码对于目标检测任务是必要的,它需要预测目标的位置。
- 3)相对位置编码应考虑位置方向性,这对结构化二维图像具有重要意义。
- 4) 相对位置编码迫使变压器中的浅层更加关注局部面片。