《Vision Transformer with Deformable Attention》论文翻译

原文链接:https://doi.org/10.1109/cvpr52688.2022.00475

author={Zhuofan Xia and Xuran Pan and Shiji Song and Li Erran Li and Gao Huang}

一、介绍

        Transformer最初是为了处理自然语言处理任务而提出的。最近,它在计算机视觉领域展示了巨大的潜力。先锋工作Vision Transformer(ViT)通过堆叠多个Transformer块处理非重叠的图像块(即视觉标记)序列,构建了一种无卷积的图像分类模型。与卷积神经网络(CNN)相比,基于Transformer的模型具有更大的感受野,能够更好地建模长距离依赖关系,已被证明在大量训练数据和模型参数的情况下表现出色。然而,视觉识别中冗余的注意力机制是把双刃剑,存在多个缺点。具体来说,每个查询块需要关注的键的过多数量导致了高计算成本和慢收敛,同时增加了过拟合的风险。

        为了避免过度的注意力计算,现有的研究工作[6, 11, 26, 36, 43, 49]采用精心设计的高效注意力模式来降低计算复杂性。在这些方法中,Swin Transformer [26]采用基于窗口的局部注意力,限制注意力在局部窗口内,而Pyramid Vision Transformer (PVT) [36]则通过下采样键和值特征图来节省计算。尽管这些方法有效,但手工设计的注意力模式是与数据无关的,可能并非最佳选择。这可能导致相关的键/值被忽略,而不重要的键/值却被保留。

        理想情况下,我们希望给定查询的候选键/值集能够灵活并适应每个输入,从而缓解手工稀疏注意力模式的问题。实际上,在卷积神经网络的文献中,学习可变形感受野的卷积滤波器已被证明在基于数据的选择性关注更有信息的区域方面非常有效[9]。最显著的工作是可变形卷积网络(Deformable Convolution Networks)[9],在许多具有挑战性的视觉任务上取得了显著的成果。这激励我们在视觉Transformer中探索可变形注意力模式。然而,这一思想的简单实现会导致不合理的高内存/计算复杂度:可变形偏移所带来的开销与补丁的数量呈平方关系。因此,尽管一些近期的研究[7, 46, 54]探讨了Transformer中的可变形机制,但由于计算成本高,没有将其视为构建强大骨干网络的基本构件,如DCN。相反,它们的可变形机制要么应用于检测头[54],要么用作预处理层以对后续骨干网络进行补丁采样[7]。

        在本文中,我们提出了一种简单而高效的可变形自注意力模块,基于此构建了一个强大的金字塔骨干网络,命名为可变形注意力Transformer(Deformable Attention Transformer, DAT),用于图像分类和各种密集预测任务。与可变形卷积网络(DCN)为整个特征图的不同像素学习不同的偏移量不同,我们建议学习少量与查询无关的偏移量组,以将键和值移动到重要区域(如图1(d)所示)。这一设计基于观察[3, 52],即全局注意力通常对不同查询产生几乎相同的注意力模式。该设计具有线性空间复杂度,并为Transformer骨干网络引入了可变形注意力模式。

        具体来说,对于每个注意力模块,首先生成参考点作为均匀网格,这些网格在输入数据中保持一致。然后,偏移网络以查询特征为输入,为所有参考点生成相应的偏移量。通过这种方式,候选键/值被移动到重要区域,从而增强了原始自注意力模块的灵活性和效率,以捕捉更多有信息的特征。

        总结而言,我们的贡献如下:我们提出了首个可变形自注意力骨干网络,用于视觉识别,其中数据依赖的注意力模式提供了更高的灵活性和效率。在ImageNet [10]、ADE20K [51]和COCO [25]上的大量实验证明,我们的模型在图像分类的top-1准确率上比竞争基线(包括Swin Transformer)提高了0.7,在语义分割的mIoU上提高了1.2,在目标检测的框AP和掩码AP上均提高了1.1。对小物体和大物体的优势更加明显,差距达到2.1。

DAT与其他Vision Transformer模型和CNN模型中的DCN的比较。红色星星和蓝色星星表示不同的查询,而具有实线边界的掩码表示查询所涉及的区域。在数据不可知的方式:(a)ViT [12]对所有查询采用完全注意。(b)Swin Transformer [26]使用分区窗口注意。以数据相关的方式:(c)DCN [9]为每个查询学习不同的变形点。(d)DAT学习所有查询的共享变形点。

二、相关工作

Transformer视觉骨干网络。

        自从ViT [12]的引入以来,改进工作[6, 11, 26, 28, 36, 43, 49]主要集中在学习多尺度特征以应对密集预测任务和高效的注意力机制。这些注意力机制包括窗口注意力[11, 26]、全局标记[6, 21, 32]、聚焦注意力[43]以及动态标记大小[37]。最近,基于卷积的方法也被引入到视觉Transformer模型中。其中一些研究致力于通过卷积操作补充Transformer模型,以引入额外的归纳偏置。CvT [39]在标记化过程中采用卷积,并利用步幅卷积来降低自注意力的计算复杂性。带卷积前缀的ViT [41]提出在早期阶段加入卷积,以实现更稳定的训练。CSwin Transformer [11]采用基于卷积的位置信息编码技术,并在下游任务中显示出改进。这些基于卷积的技术有可能在DAT的基础上进一步提升性能。

可变形卷积和注意力。

        可变形卷积[9, 53]是一种强大的机制,能够根据输入数据关注灵活的空间位置。最近,它已被应用于视觉Transformer中[7, 46, 54]。可变形DETR [54]通过为每个查询选择少量键来改善DETR [4]的收敛性,这一方法建立在卷积神经网络(CNN)骨干之上。然而,其可变形注意力并不适合用于特征提取的视觉骨干,因为键的不足限制了表示能力。此外,可变形DETR中的注意力来自简单学习的线性投影,且键在查询标记之间并未共享。DPT [7]和PS-ViT [46]构建了可变形模块来细化视觉标记。具体来说,DPT提出了一种可变形补丁嵌入方法,用于在不同阶段细化补丁,而PS-ViT则在ViT骨干之前引入了一种空间采样模块以改善视觉标记。然而,它们都未将可变形注意力纳入视觉骨干网络。相比之下,我们的可变形注意力采用了一种强大而简单的设计,学习一组在视觉标记之间共享的全局键,可以作为各种视觉任务的通用骨干网络。我们的方法也可以视为一种空间自适应机制,这在多项研究中已被证明有效[16, 38]。

三、Deformable Attention Transformer

1.Preliminaries

        我们首先回顾最近的视觉Transformer的注意力机制。以平坦化的特征映射x ∈ RN×C作为输入,具有M个头部的多头自注意(MHSA)块被公式化为:

        其中,σ(·)表示softmax函数,d =C/M是每个头部的尺寸。z(m)表示从第m个注意头输出的嵌入,q(m),k(m),v(m)∈ RN×d分别表示查询,键和值嵌入。Wq,Wk,Wv,Wo ∈ RC×C是投影矩阵。为了构建Transformer块,通常采用具有两个线性变换和GELU激活的MLP块来提供非线性。使用规范化层和标识快捷方式,第l个Transformer块被公式化为

其中LN是层归一化[1]。

2.Deformable Attention

        现有分层视觉变换器的下采样技术,特别是PVT [36]和Swin Transformer [26],试图解决过度关注的挑战。前者会导致严重的信息丢失,而后者的移位窗口注意力则导致感受野的增长速度显著减慢,限制了对大型对象的建模潜力。因此,需要一种数据依赖的稀疏注意力来灵活地建模相关特征,从而引出最初在 DCN [9] 中提出的可变形机制。然而,简单地将 DCN 实现到 Transformer 模型中并非易事。在 DCN 中,特征图上的每个元素都单独学习其偏移量,其中在H×W×C特征图上的 3 x 3 可变形卷积的空间复杂度为 9HWC 。如果直接将相同的机制应用到注意力模块中,空间复杂度将急剧上升至 Nq​Nk​C,其中 Nq​,Nk​分别是查询和键的数量,通常与特征图大小 HW 具有相同的尺度,带来近似二次复杂度。尽管 Deformable DETR [54] 通过在每个尺度上设置较少的键数量(即 Nk​=4)并作为检测头有效地工作,从而成功地减少了此开销,但在主干网络中使用如此少的键进行注意力会导致不可接受的信息损失(详见附录中的比较)。与此同时,文献 [3, 52] 中的观察结果表明,不同查询在视觉注意模型中具有相似的注意力图。因此,我们选择了一种更简单的解决方案,为每个查询共享移位的键和值,以实现高效的权衡。

        具体来说,我们提出了可变形注意力,在特征图中重要区域的指导下,有效地建模 token 之间的关系。这些重点区域由多个组的变形采样模式确定,并由多个组管理。每个模式表示特征图中的一组可变形采样点,以跨越不同尺度捕获依赖性。

        从特征图中采样的特征被传递给键和值的投影,以生成变形的键和值。最后,标准的多头注意力被应用于将查询与采样键关联起来,并从变形后的值中聚合特征。此外,变形点的位置提供了更强大的相对位置偏差,以促进变形注意力的学习,这将在后续部分中讨论。

        这是我们的变形注意机制的一个例子。(a)给出了可变形注意的信息流。在左侧部分,一组参考点均匀地放置在要素图上,其偏移量通过偏移网络从查询中获知。然后根据变形点从采样特征中投影出变形的关键帧和值,如右图所示。通过计算变形点的相对位置偏差,增强了输出变换特征的多头注意力。我们只展示了4个参考点,以便清楚地介绍,事实上在真实的实施中还有更多的点。(b)显示了偏移生成网络的详细结构,用特征图的大小标记。

变形注意力模块。 如图 2(a) 所示,给定输入特征图 x∈RH×W×C,生成一个均匀的点网格 p∈RHG×WG×2 作为参考点。具体来说,网格大小通过因子 r 从输入特征图大小下采样,HG=H/r、WG​=W/r。参考点的值是线性分布的二维坐标 {(0,0),…,(HG−1,WG−1)},然后根据网格形状 HG×WG​ 将其归一化到范围 [−1,+1],其中 (−1,−1)表示左上角,(+1,+1) 表示右下角。为了获得每个参考点的偏移量,将特征图线性投影到查询 token q=xWq,然后输入到轻量级子网络 θoffset(⋅)中以生成偏移量 Δp=θoffset(q)。为稳定训练过程,我们通过预设的因子 s来缩放 Δp 的幅度,以生成更大的偏移值,即 Δp←stanh⁡(Δp)。然后使用调整后的参考点对特征图进行索引,获得采样特征。作为键和值,然后是投影矩阵:

k˜和˜v分别表示变形的键和值嵌入。具体来说,我们将采样函数φ(·; ·)设置为双线性插值以使其可微:

其中g(a,b)= max(0,1 - |a −b|)和(rx,ry)索引z∈RH×W×C上的所有位置。由于g仅在最接近(px,py)的4个积分点上为非零,因此简化了等式(1)。(8)到4个位置的加权平均值。与现有方法类似,我们对q,k,v执行多头注意,并采用相对位置偏移R。注意力头的输出被公式化为:

其中φ(B; R)∈ RHW×HGWG对应于先前工作[26]中的位置嵌入,但有几个修改。详细信息将在本节稍后进行解释。每个头部的特征被连接在一起并通过Wo投影以得到如等式(3)所示的最终输出z。如前所述,采用子网络来生成偏移,该子网络消耗查询特征并分别输出参考点的偏移值。考虑到每个参考点覆盖一个局部 s×s 区域(其中 s 是最大的偏移范围),生成网络还需要具备局部特征的感知能力,以学习合理的偏移。因此,我们将子网络实现为两个卷积模块,并使用非线性激活函数,如图 2(b) 所示。输入特征首先通过一个 5×5 深度卷积来捕获局部特征。然后,使用 GELU 激活和 1×1卷积以获得 2D 偏移。值得注意的是,在 1×1卷积中移除了偏置项,以缓解所有位置的强制位移。

偏移组。 为了增加变形点的多样性,我们遵循与 MHSA 类似的方式,将特征通道分成 G 个组。每组特征使用共享的子网络生成相应的偏移值。在实际应用中,注意力模块中的头数 M设置为偏移组大小 G 的倍数,确保多个注意力头分配给一组变形后的键和值。

可变形相对位置偏置。 相对位置偏置编码了每个查询和键对之间的相对位置,从而在原始注意力中增加了空间信息。对于形状为 H×W的特征图,相对坐标位移在两个维度上分别位于 [−H,H]和 [−W,W]的范围内。在 Swin Transformer [26] 中,构建了一个相对位置偏置表 B^∈R(2H−1)×(2W−1),通过在两个方向上使用相对位移对该表进行索引,以获得相对位置偏置 B。由于我们的可变形注意力允许键的位置连续,因此我们在归一化范围 [−1,+1]内计算相对位移,并根据连续的相对位移对参数化的偏置表 B^∈R(2H−1)×(2W−1)进行插值 ϕ(B^;R)以覆盖所有可能的偏移值。

计算复杂度。 可变形多头注意力(DMHA)的计算成本与 PVT 或 Swin Transformer 中的注意力模块相似。唯一的额外开销来自用于生成偏移的子网络。整个模块的复杂度可以总结为:

其中 Ns=HGWG=HW/r2是采样点的数量。可以立即看出,偏移网络的计算成本相对于通道大小具有线性复杂度,这相对于注意力模块来说相对较小。例如,考虑用于图像分类的 Swin-T 模型的第三阶段,其中 H=W=14,Ns=49,C=384,单个块中注意力模块的计算成本为 79.63M FLOPs。当配备我们的可变形模块(k=5)时,额外的开销为5.08M Flops,仅占整个模块的6.0%。此外,通过选择较大的下采样因子r,复杂度将进一步降低,这使得它对具有更高分辨率输入的任务(如对象检测和实例分割)非常友好。

3.3. Model Architectures

我们将标准的 MHSA 替换为 Transformer 中的可变形注意力(Eq.(4)),并将其与 MLP(Eq.(5))结合,以构建一个可变形视觉 Transformer 模块。在网络架构方面,我们的模型——可变形注意力 Transformer(DAT)具有与 [7, 26, 31, 36] 相似的金字塔结构,这广泛适用于需要多尺度特征图的各种视觉任务。如图 3 所示,形状为 H×W×3 的输入图像首先通过一个步幅为 4 的 4×4非重叠卷积嵌入,然后通过归一化层获得 H/4×W/4×C的 patch 嵌入。为了构建层次化的特征金字塔,主干网络包含 4 个阶段,步幅逐步增加。在两个连续的阶段之间,有一个步幅为 2 的非重叠 2×2卷积,将特征图下采样以使空间尺寸减半并使特征维度加倍。

在分类任务中,我们首先对最后阶段输出的特征图进行归一化,然后采用具有池化特征的线性分类器来预测 logits。在目标检测、实例分割和语义分割任务中,DAT 作为集成视觉模型中的主干,以提取多尺度特征。我们为每个阶段的特征添加一个归一化层,然后将其输入到后续模块中,如目标检测中的 FPN [23] 或语义分割中的解码器。

我们在 DAT 的第三和第四阶段引入了连续的局部注意力和可变形注意力模块。特征图首先通过基于窗口的局部注意力处理,以在局部聚合信息,然后通过可变形注意力模块来建模局部增强 token 之间的全局关系。该注意力模块交替设计了局部和全局特征替换,以增强模型的表示能力,尤其是在 GLiT [5]、TNT [15] 和Point former [29]中共享类似的模式。由于前两个阶段主要学习局部特征,因此这些早期阶段的可变形注意力不太受欢迎。此外,前两个阶段中的键和值具有相当大的空间尺寸,这大大增加了可变形注意力中的点积和双线性插值的计算开销。因此,为了实现模型容量和计算负担之间的权衡,我们仅将可变形注意力置于第三和第四阶段,并采用Swin Transformer [26]中的移位窗口注意力,以便在早期阶段具有更好的表示。我们以不同的参数和FLOP构建了DAT的三种变体,以便与其他Vision Transformer模型进行公平的比较。我们通过在第三阶段堆叠更多的块并增加隐藏维度来改变模型大小。表1中报告了详细的体系结构。注意,DAT的前两个阶段还有其他设计选择,例如,我们在表7中显示了比较结果。

表7.不同阶段应用可变形注意的消融研究。意味着该阶段由连续的局部注意和可变形注意Transformer块组成。注意,我们的模型将所有局部和shiftwindow注意力的相对位置索引以及所有可变形注意力的参考网格点纳入参数计数中,这可能导致更高数量的参数。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值