Deformable Attention学习笔记

提出了一种名为Deformable Attention Transformer的新模型,该模型能够以数据依赖的方式选择自注意中的键对和值对的位置,提高了模型对相关信息的关注度,同时减少了计算成本。此模型在图像分类和密集预测任务上表现优异。

Deformable Attention学习笔记

Vision Transformer with Deformable Attention

Abstract

Transformer 最近在各种视觉任务中表现出卓越的表现。大的(有时甚至是全局的)接受域使Transformer模型比CNN模型具有更高的表示能力。然而,单纯扩大接受野也会引起一些问题。一方面,在ViT中使用密集注意力会导致过多的内存和计算成本,特征会受到超出感兴趣区域的无关部分的影响。另一方面,PVT或Swin Transformer中采用的稀疏注意是数据不可知的,可能会限制建模远程关系的能力。为了解决这些问题,我们提出了一种新的Deformable 自注意模块,该模块以数据依赖的方式选择自注意中的键对和值对的位置。这种灵活的方案使自我注意模块能够专注于相关区域,并捕捉到更多的信息特征。在此基础上,我们提出了Deformable 注意变压器,一个具有Deformable 注意的通用骨干模型,用于图像分类和密集预测任务。大量的实验表明,我们的模型在综合基准测试中取得了持续改进的结果。代码可从https://github.com/LeapLabTHU/DAT获得。

1. Introduction

最初引入Transformer[34]是为了解决自然语言处理任务。近年来在计算机视觉领域显示出了巨大的潜力[12,26,36]。先锋工作Vision Transformer [12] (ViT)堆叠多个Transformer块,以处理不重叠的图像补丁(即可视标记)序列,导致了图像分类的无卷积模型。与CNN的同类模型相比[18,19],基于transformer的模型具有更大的接受域,并擅长于建模远程依赖关系,这被证明在大量训练数据和模型的情况下能够获得更好的性能模型参数。然而,视觉识别中过多的注意是一把双刃剑,存在诸多弊端。具体来说,每个查询补丁要参加的键的数量过多会产生较高的计算成本和较慢的收敛速度,并增加过拟合的风险。

为了避免过度的注意力计算,已有的研究[6,11,26,36,43,49]利用精心设计的有效注意力模式来降低计算复杂度。Swin Transformer[26]采用了基于windows的本地注意限制局部窗口的注意,而金字塔视觉转换器(PVT)[36]下采样键和值特征映射以节省计算。虽然有效,但手工制作的注意力模式与数据无关,可能不是最佳的。很可能相关的键/值被删除,而不太重要的键/值仍然保留。

理想情况下,人们会期望给定查询的候选键/值集是灵活的,并且能够适应每个单独的输入,这样手工制作的稀疏注意模式中的问题就可以得到缓解。事实上,在cnn的文献中,学习卷积滤波器的Deformable 接受场已被证明在数据依赖的基础上有选择地关注信息更多的区域[9]是有效的。最著名的工作,变形卷积网络[9],在许多具有挑战性的视觉任务中产生了令人印象深刻的结果。这促使我们在Vision Transformers中探索一种Deformable 注意模式。然而,这种想法的幼稚实现导致了不合理的高内存/计算复杂度:由Deformable 偏移引入的开销是补丁数量的二次函数。因此,尽管最近的一些工作[7,46,54]研究了Vision Transformers中Deformable 机构的思想,但由于计算成本高,没有一项工作将其作为构建像DCN这样强大的骨干网的基本构件。相反,它们的变形机制要么被采用在检测头[54]中,要么被用作预处理层,为后续骨干网[7]采样补丁。

本文提出了一种简单、高效的Deformable 自注意模块,并在该模块上构造了一个强大的金字塔骨架——Deformable 注意变压器(DA T),用于图像分类和各种密集预测任务。与DCN对整个特征图中的不同像素学习不同的偏移量不同,我们建议学习几组查询不可知偏移量,以将键和值转移到重要区域(如图1(d)所示),这是基于[3,52]中的观察,即对于不同的查询,全局注意通常会导致几乎相同的注意模式。这个设计既保持了线性的空间复杂性,又引入了变形的注意模式到Transformer的主干。具体来说,对于每个注意模块,参考点首先生成为统一的网格,这些网格在输入数据中是相同的。然后,偏移网络以查询特征为输入,为所有参考点生成相应的偏移量。通过这种方式,候选键/值被转移到重要的区域,从而以更高的灵活性和效率增强了原始的自我注意模块,以捕获更多信息的特征。

image-20221118212343580

综上所述,我们的贡献如下:我们提出了视觉识别的第一个Deformable 自我注意中枢,其中数据依赖的注意模式具有较高的灵活性和效率。在ImageNet[10]、ADE20K[51]和COCO[25]上的大量实验表明,我们的模型始终优于包括Swin Transformer在内的竞争基线,在图像分类的前1精度上有0.7的差距,在语义分割的mIoU上有1.2的差距,在盒AP和掩码AP的对象检测上有1.1的差距。在小对象和大对象上的优势更明显,差距为2.1。

2. Related Work

Transformer vision backbone

自引入ViT[12]以来,改进[6,11,26,28,36,43,49]的重点是学习密集预测任务的多尺度特征和有效的注意机制。这些注意机制包括窗口注意[11,26]、全局令牌[6,21,32]、集中注意[43]和动态令牌大小[37]。最近,基于卷积的方法被引入到Vision Transformer模型中。其中,已有研究侧重于用卷积运算对变压器模型进行补充,引入额外的归纳偏差。CvT[39]在令牌化过程中采用了卷积,并利用stride卷积降低了自注意的计算复杂度。带卷积梗[41]的ViT提出在早期增加卷积,以达到更稳定的训练。CSwin Transformer[11]采用了基于卷积的位置编码技术,并显示了对下游任务的改进。许多基于卷积的技术可以应用在DAT之上,以进一步提高性能。

Deformable CNN and attention

Deformable 卷积[9,53]是一种处理以输入数据为条件的灵活空间位置的强大机制。最近,它已被应用于视觉变压器[7,46,54]。Deformable DETR[54]通过为CNN骨干网顶部的每个查询选择少量键来提高DETR[4]的收敛性。它的变形注意力不适合用于特征提取的视觉主干,因为缺少键限制了表示能力。此外,在Deformable DETR中的注意力来自简单的学习线性投影和键不在查询令牌之间共享。DPT[7]和PS-ViT[46]构建Deformable 模块来优化可视标记。具体来说,DPT提出了一种Deformable 补丁嵌入来改进跨阶段的补丁,PS-ViT在ViT主干之前引入了一个空间采样模块,以改进可视化令牌。它们都没有将Deformable 注意力纳入视觉中枢。相比之下,我们的变形注意力需要一个强大而简单的设计来学习一组视觉标记之间共享的全局键,并可被采用为各种视觉任务的一般主干。我们的方法也可以看作是一种空间自适应机制,已经在各种著作中被证明是有效的[16,38]。

3. Deformable Attention Transformer

3.1. Preliminaries

我们首先回顾最近的Vision Transformers中的注意机制。取一个扁平化的特征映射x∈RN×Cx∈R^{N×C}xRN×C作为输入,M个头的多头自注意块(MHSA)可表示为

image-20221119091632652

其中σ(·)为softmax函数,d = C/M为每个头的尺寸。z(m)表示第m个注意头的嵌入输出,q(m),k(m),v(m)∈RN×dq^{(m)}, k^{(m)}, v^{(m)}∈R^{N×d}q(m)k(m)v(m)RN×d分别表示查询、键和值的嵌入。Wq,Wk,Wv,Wo∈RC×CW_q, W_k, W_v, W_o∈R^{C×C}Wq,Wk,Wv,WoRC×C为投影矩阵。为了构建一个Transformer块,通常采用具有两个线性转换和一个GELU激活的MLP块来提供非线性。

通过归一化层和标识快捷方式,第l个Transformer块被表述为

image-20221119093200663

LN是层归一化[1]。

3.2. Deformable Attention

现有的分级视觉变压器,特别是PVT[36]和Swin变压器[26]试图解决过度关注的挑战。前者的下采样技术导致严重的信息丢失,后者的注意力转移导致接受域的增长非常缓慢,这限制了建模大型对象的潜力。因此,需要依赖数据的稀疏注意来灵活建模相关特征,导致DCN[9]首先提出了变形机制。然而,简单地在Transformer模型中实现DCN不是一个简单的问题。在宽带,每个元素特征映射学习其单独补偿,一个3×3的可变形的卷积地图上一个W×H×C特性的空间复杂性9HWC .如果我们直接应用相同的注意机制模块,空间复杂度将大大NqNkCN_qN_kCNqNkC, Nq、NkN_q、N_kNqNk查询和钥匙的数量,通常有相同的尺度特性HW地图大小,将大约四次的复杂性。尽管变形DETR[54]通过在每个刻度上设置较低数量的Nk=4N_k = 4Nk=4的键来设法减少这种开销,并作为检测头工作得很好,但由于不可接受的信息丢失,它不如在骨干网中处理这么少的键(参见附录中的详细比较)。同时,文献[3,52]的观察发现,不同的查询在视觉注意模型中具有相似的注意地图。因此,我们选择一个更简单的解决方案,为每个查询共享移位的键和值,以实现有效的折衷

具体而言,我们提出了在特征图中重要区域的指导下,利用变形注意有效地建模标记之间的关系。这些聚焦区域由多组变形采样点确定,这些采样点由偏移网络从查询中学习到。我们采用双线性插值的方法对特征进行采样然后将采样的特征输入到键和值投影中,得到变形的键和值。最后,应用标准的多头注意对采样键进行查询,并从变形值中聚合特征。此外,变形点的位置提供了更强大的相对位置偏差,以促进变形注意的学习,这将在接下来的章节中讨论。

image-20221119093911195

Deformable attention module

如图2(a)所示,给定输入特征映射x∈RH×W×Cx∈R^{H×W ×C}xRH×W×C,生成一个由点p∈RHG×WG×2p∈R^{H_G×W_G×2}pR

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值