ICCV 2021 | 视觉Transformer中的相对位置编码

点击下方卡片,关注“CVer”公众号

AI/CV重磅干货,第一时间送达

本文转载自:将门创投

相对位置编码(RelativePosition Encoding)能够显式地对Transformer输入序列中,任意两个Tokens的位置关系进行建模。近来,中山大学与微软亚洲研究院的研究人员回顾了先前相对位置编码的相关工作,针对Vision Transformer,提出了简单且轻量的二维相对位置编码。在不需要调整任何训练超参数的情况下,该论文提出的二维相对位置编码能给图像分类的DeiT模型[1]和目标检测的DETR模型[2],分别带来1.5% Top-1 Acc和1.3% mAP的稳定性能提升(在ImageNet-1K[4]和MSCOCO[5]数据集上)。同时,这篇论文分析了位置编码中影响性能的关键因素,给出了针对Vision Transformer中相对位置编码设计的指导性建议。

工作亮点:

·不需要调整任何训练超参数,即插即用,提升模型精度

·分析了二维相对位置编码的关键因素,得到多条启发性结论

·高效地实现了二维相对位置编码及其CUDA加速版本

论文链接:

https://houwenpeng.com/publications/iRPE.pdf

代码链接:

https://github.com/microsoft/AutoML

https://github.com/microsoft/Cream/tree/main/iRPE

一、简介

在Transformer模型[1,2,6,7,8]中,相对位置编码显式地对任意两个Token的位置关系进行建模,提高了模型的表征能力。它的有效性在自然语言处理领域得到了充分证明[14,15,16,17,18]。然而,在计算机视觉领域,讨论相对位置编码的工作比较少[9,10,11,12,13]且存在不同的观点。由于图像可视为二维的序列,如何将一维相对位置编码推广到二维相对位置编码,解决方案仍不清晰。本篇论文提出了四种二维相对位置编码的映射方式,同时分析了Vision Transformer中影响二维相对位置性能的关键因素,得到了以下有趣的发现

1. 不需要调整训练的超参数,相对位置编码能给图像分类和目标检测的Vision Transformers模型带来显著的精度提升;

2. 相对位置的方向信息在图像分类、目标检测任务中有着重要作用;

3. 输入相关的相对位置编码比输入无关的相对位置编码更有效;

4. 组合不同嵌入特征上的相对位置编码,能够进一步提升模型的表征能力;

5. 在图像分类任务中,相对位置编码可以完全替代绝对位置编码,因为图像分类不需要预测物体的位置,相对位置编码能够让模型更关注局部信息;在目标检测任务中,相对位置编码能提高模型精度,但绝对位置编码是必须的,因为相对位置编码不能提供物体定位所需的绝对位置信息。

二、方法

Transformer模型的核心是Self-Attention,加入了相对位置编码的Self-Attention可以表示为:

ICCV 2021 | 视觉Transformer中的相对位置编码_第1张图片

其中,x是输入序列特征,z是输出序列特征, α是e的Softmax输出。三个蓝色的标量p分别是加在查询向量Q、键向量K和值向量V上的相对位置编码。和输入有关的相对位置编码可称为"contextual"型式; 相对位置编码也可以作为QK相似度的偏差项b,和输入无关,可称为"bias"型式

在图像任务中,下标i和j对应图像上的两个二维坐标,因此相对位置i - j是一个二维向量。

在应用相对位置编码时,Vision Transformer要比自然语言处理多考虑两个问题:1) 由于图像像素是稠密的,Vision Transformer的Token数量比较大,导致二维相对位置i- j的取值范围很广。如何减少位置编码带来的计算量和参数量?2)在映射二维相对位置到特定相对位置编码时,是否需要考虑二维相对位置的方向性?

对于第一个问题,作者引入了从实数域映射到有限的整数域的“分段索引函数”,这个函数可以针对 “相对距离越小的编码越重要”的性质进行建模,在相对距离较小的位置分配更多可学习的参数,靠近0的部分呈线性,远离0的部分呈对数。通过调整函数的三个系数,改变分段点位置、值域范围以及对数部分的分配。图2对比了分段下标函数和截断下标函数,在相同大小的值域下,分段下标函数仍然能细分较远距离(|x| > 5)的相对位置编码。 

ICCV 2021 | 视觉Transformer中的相对位置编码_第2张图片

ICCV 2021 | 视觉Transformer中的相对位置编码_第3张图片

利用“分段索引函数”多对一的映射性质,将多个相对位置映射到同一个编码,减少了相对位置编码带来的参数量。

对于第二个是否考虑方向性的问题,作者提出了两种无方向性的映射方法和两种有方向性的映射方法。两种无方向性的映射方法分别为欧式距离Euclidean(公式20)和量化Quantization(公式21):

其中 是“分段下标函数”,quant是量化函数,I(i, j)是一个整数下标,指向位置为(x_i, y_i)的Token和位置为(x_j, y_j)的Token的相对位置编码。图6可视化了这两种方法以中心为参考点的映射,不考虑相对方向,同样相同距离的相对位置的位置编码相同。

ICCV 2021 | 视觉Transformer中的相对位置编码_第4张图片

两种有方向性的映射方法分别为交叉Cross(公式22)和乘积Product(公式25):

ICCV 2021 | 视觉Transformer中的相对位置编码_第5张图片

ICCV 2021 | 视觉Transformer中的相对位置编码_第6张图片

图7可视化了这两种方法以中心为参考点的映射,它们考虑了相对方向,只有相对距离和方向都相同时,位置编码才会被共享。 

高效实现:由于“多个相对位置可以共享同一个位置编码”,当位置编码和输入有关时,可以先计算位置编码的值,再根据映射关系,将位置编码赋值给多个相对位置,这样计算量从O(n^2d) 降低到 O(nkd) , 其中n是Token的数量,k是共享的位置编码的数量,d是Token嵌入特征的长度。通过高效的实现,相对位置编码可以应用到高输入分辨率的任务。

三、实验

作者将二维相对位置编码加入到图像分类的DeiT模型[1]和目标检测的DETR模型[2],分别选用ImageNet-1K[4]和MSCOCO[5]数据集进行评估。首先分析了影响相对位置编码的关键因素,然后证明相对位置编码在图像上的有效性,和先前的相对位置编码工作进行比较,最后可视化编码权重。 

ICCV 2021 | 视觉Transformer中的相对位置编码_第7张图片

表1说明相对位置的方向信息是重要的(Cross、Product v.s.Euclidean、Quantization),与输入有关的相对位置编码比与输入无关的相对位置编码有更强的表征能力(Contextual v.s. Bias)。

ICCV 2021 | 视觉Transformer中的相对位置编码_第8张图片

表2分析了相对位置编码权重在不同Attention Head上共享对性能的影响。当相对位置编码与输入无关时,不共享的准确率比共享的更高;当相对位置编码与输入有关时,不共享的准确率和共享的接近,并且共享版本更节省参数。

ICCV 2021 | 视觉Transformer中的相对位置编码_第9张图片

图3说明当相对位置编码与输入有关时,被共享的位置编码权重数量从0增加到50时,带来的准确率提升开始饱和。

ICCV 2021 | 视觉Transformer中的相对位置编码_第10张图片

表4说明在图像分类中,对于Vision Transformer模型,相对位置编码可以替代绝对位置编码(#7v.s. #12), 并且多个相对位置编码的组合能进一步提升模型的性能。

ICCV 2021 | 视觉Transformer中的相对位置编码_第11张图片

表5对比了不同的二维相对位置编码,本文提出的相对位置编码给DeiT-Ti/DeiT-S/DeiT-B[1] 分别带来了1.5%/1.0%/0.6%的Top-1准确率的提升,准确率比其他相对位置编码方法更高。 

ICCV 2021 | 视觉Transformer中的相对位置编码_第12张图片

表6验证了相对位置编码在目标检测任务上的有效性。相对位置编码能给DETR-ResNet50模型[2,3]带来1.3% mAP的提升(#6 v.s. #1),但是在目标检测中,相对位置编码不能替代绝对位置编码(#4 v.s. #1),原因是物体的定位需要的绝对位置信息。同时,“分段下标函数”比“截断函数(clip)”更有优势(#6 v.s. #5),证明高分辨率输入的任务中,“分段下标函数”能更好地分配共享的相对位置编码。

ICCV 2021 | 视觉Transformer中的相对位置编码_第13张图片

图5对二维相对位置编码的权重的可视化,发现相对位置编码注入了类似卷积的局部性归纳偏置,提高模型捕捉局部模式的能力。并且编码在浅层比在深层更关注局部区域。

四、结论

这篇论文回顾了现有的相对位置编码,并针对Vision Transformer模型提出了新的高效且轻量的二维相对位置编码,不需要调整原本训练超参数的情况下,在图像分类和目标检测任务上能带来显著的提升。这篇论文也带来了新的发现

1. 当相对位置编码和输入有关时,生成位置编码的权重可以在AttentionHead中共享;

2. 在图像分类任务中,相对位置编码可以代替绝对位置编码;但在目标检测等需要预测物体位置的任务中,绝对位置编码是需要的;

3. 在结构性的二维图像中,方向性是重要的。在设计相对位置编码时,需要考虑相对位置的方向;

4. 相对位置编码在模型浅层更关注局部模式。

References:

[1] Hugo Touvron,Matthieu Cord, Matthijs Douze, FranciscoMassa, Alexandre Sablayrolles, andHerv’e J’egou. Train-ing data-efficient image transformers & distillationthroughattention.arXiv preprint arXiv:2012.12877, 2020.

[2] Nicolas Carion,Francisco Massa, Gabriel Synnaeve, NicolasUsunier, Alexander Kirillov, andSergey Zagoruyko. End-to-end object detection with transformers. In ECCV, 2020.

[3] Kaiming He,Xiangyu Zhang, Shaoqing Ren, and Jian Sun.Deep residual learning for imagerecognition. In CVPR,2016.

[4] Jia Deng, WeiDong, Richard Socher, Li-Jia Li, Kai Li, and Li Fei-Fei. Imagenet: Alarge-scale hierarchical imagedatabase. In CVPR, 2009.

[5] Tsung-Yi Lin,Michael Maire, Serge Belongie, James Hays,Pietro Perona, Deva Ramanan, PiotrDoll ́ar, and C LawrenceZitnick. Microsoft coco: Common objects in context. InECCV, 2014.

[6] Ashish Vaswani,Noam Shazeer, Niki Parmar, Jakob Uszkoreit, Llion Jones, Aidan N Gomez, Łukasz Kaiser, andIllia Polosukhin. Attention is all you need. In NeurIPS, 2017.

[7] Jacob Devlin,Ming-Wei Chang, Kenton Lee, and Kristina Toutanova. Bert: Pre-training of deepbidirectional transformers for language understanding. arXiv preprintarXiv:1810.04805, 2018.

[8] AlexeyDosovitskiy, Lucas Beyer, Alexander Kolesnikov, Dirk Weissenborn, Xiaohua Zhai,Thomas Unterthiner, Mostafa Dehghani, Matthias Minderer, Georg Heigold, SylvainGelly, et al. An image is worth 16x16 words: Transformers for image recognitionat scale. ICLR, 2021.

[9] Xizhou Zhu,Dazhi Cheng, Zheng Zhang, Stephen Lin, and Jifeng Dai. An empirical study ofspatial attention mechanisms in deep networks. In ICCV, 2019.

[10] PrajitRamachandran, Niki Parmar, Ashish Vaswani, Irwan Bello, Anselm Levskaya, andJonathon Shlens. Standalone self-attention in vision models. arXiv preprintarXiv:1906.05909, 2019.

[11] Wang, H., Zhu,Y., Green, B., Adam, H., Yuille, A., & Chen, L. C. Axial-deeplab:Stand-alone axial-attention for panoptic segmentation. In ECCV, 2020.

[12] Xiangxiang Chu,Bo Zhang, Zhi Tian, Xiaolin Wei, and Huaxia Xia. Do we really need explicitposition encodings for vision transformers? arXiv preprint arXiv:2102.10882, 2021.

[13] AravindSrinivas, Tsung-Yi Lin, Niki Parmar, Jonathon Shlens, Pieter Abbeel, and AshishVaswani. Bottleneck transformers for visual recognition. arXiv preprintarXiv:2101.11605, 2021.

[14] Peter Shaw,Jakob Uszkoreit, and Ashish Vaswani. Self attention with relative positionrepresentations. ACL, 2018.

[15] Zihang Dai,Zhilin Yang, Yiming Yang, Jaime G Carbonell, Quoc Le, and Ruslan Salakhutdinov.Transformer-xl: Attentive language models beyond a fixed-length context. InACL, 2019.

[16] Zhilin Yang,Zihang Dai, Yiming Yang, Jaime Carbonell, Russ R Salakhutdinov, and Quoc V Le.Xlnet: Generalized autoregressive pretraining for language understanding.NeurIPS, 32, 2019.

[17] Zhiheng Huang,Davis Liang, Peng Xu, and Bing Xiang. Improve transformer models with betterrelative position embeddings. In EMNLP, 2020.

[18] Colin Raffel,Noam Shazeer, Adam Roberts, Katherine Lee, Sharan Narang, Michael Matena, YanqiZhou, Wei Li, and Peter J. Liu. Exploring the limits of transfer learning witha unified text-to-text transformer. JMLR, 2020.

Illustrastion by Murat Kalkavan from Icons8

-The End-

上述论文和代码下载

后台回复:iRPE,即可下载上述论文PDF和代码

后台回复:ICCV2021,即可下载ICCV 2021论文和代码开源的论文合集

后台回复:CVPR2021,即可下载CVPR 2021论文和代码开源的论文合集

后台回复:Transformer综述,即可下载最新的两篇Transformer综述PDF

CVer-Transformer交流群成立

扫码添加CVer助手,可申请加入CVer-Transformer 微信交流群,方向已涵盖:目标检测、图像分割、目标跟踪、人脸检测&识别、OCR、姿态估计、超分辨率、SLAM、医疗影像、Re-ID、GAN、NAS、深度估计、自动驾驶、强化学习、车道线检测、模型剪枝&压缩、去噪、去雾、去雨、风格迁移、遥感图像、行为识别、视频理解、图像融合、图像检索、论文投稿&交流、PyTorch和TensorFlow等群。

一定要备注:研究方向+地点+学校/公司+昵称(如Transformer+上海+上交+卡卡),根据格式备注,可更快被通过且邀请进群

ICCV 2021 | 视觉Transformer中的相对位置编码_第14张图片

▲长按加小助手微信,进交流群

▲点击上方卡片,关注CVer公众号

整理不易,请点赞和在看

你可能感兴趣的:(python,计算机视觉,机器学习,人工智能,深度学习)