3本文方法
在本节中,首先介绍Pale-Shaped Self-Attention(PS-Attention)及其高效的并行实现。然后,给出了Pale Transformer block的组成。最后,将描述Pale Transformer Backbone的总体架构和变体配置。
3.1 Pale-Shaped Attention
为了捕获从短期到长期的依赖关系,提出了Pale-Shaped Attention(PS-Attention),它在一个Pale-Shaped区域(简称pale)中计算自注意力。如图1(e)的粉色阴影所示,一个pale包含个交错的行和个交错的列,它覆盖了包含个Token的区域。
图1(e)
定义为pale size。给定一个输入特征图,首先将其分割成多个相同大小的pale ,其中。Pale的个数等于,可以通过填充或插补操作来保证。对于所有pale,相邻行或列之间的间隔是相同的。然后在每个pale中分别进行自注意力计算。如图1所示,PS-Attention的感受野比之前所有的局部自注意力机制都要广泛和丰富得多,能够实现更强大的上下文建模能力。
3.2 高效的并行实现
为了进一步提高效率,将上面提到的普通PS-Attention分解为行注意和列注意,它们分别在行Token组和列Token组内执行自注意力。
图2(c)
具体而言,如图2(c),首先将输入特征划分为两个独立的部分和,然后将其分为多个组,以便分别按行和列进行注意力计算。
其中,包含个的交错行,包含个的交错列。
然后,分别在每个行Token组和列Token组中执行自注意力。使用3个可分离的卷积层、、生成Query、Key和Value。
式中,、MSA表示多头自注意力。
最后,行方向和列方向的注意力输出沿着通道尺寸连接,得到最终的输出:
与PS-Attention在整个系统内的普通实现相比,这种并行机制具有较低的计算复杂度。此外,填充操作只需要确保能被整除,能被整除,而不是。因此,也有利于避免填充过多。
3.3 复杂度分析
给定尺寸为h×w×c的输入特征,Pale-size为,标准全局自注意力的计算复杂度为:
然而,本文提出的PS-Attention并行实现下的计算复杂度为:
由于始终保持不变,因此与全局算法相比,可以明显减轻计算量和内存负担。
3.4 Pale Transformer Block
图2(b)
如图2(b)所示,Pale Transformer Block由3个顺序部分组成,用于动态生成位置嵌入的条件位置编码(CPE),用于捕获上下文信息的PS-Attention模块,以及用于特征投影的MLP模块。第l块的传播可以表示为:
其中,LN(·)为层归一化。CPE被实现为一个简单的深度卷积,它在以前的工作中广泛使用,因为它兼容任意大小的输入。Eq.(7)中定义的PS-Attention模块是通过将Eq.(1)对Eq.(3)依次执行来构造的。Eq.(8)中定义的MLP模块由2个线性投影层组成,依次展开和收缩嵌入维数。
3.5 整体框架
图2(a)
如图2(a)所示,Pale Transformer通过遵循CNN和Transformer的设计,由四个层次级阶段组成,用于捕获多尺度特征。每个阶段包含一个Patch合并层和多个Pale Transformer Block。patch merge层的目标是对输入特征进行一定比例的空间下采样,并将通道维数扩展2倍以获得更好的表示能力。
为了便于比较,使用重叠卷积来进行Patch合并。其中,第一阶段空间下采样比为4,后三个阶段空间下采样比为2,分别采用7×7与stride=4的卷积和3×3与stride=2的卷积实现。Patch合并层的输出被输入到后续的Pale Transformer Block中,Token的数量保持不变。只需在最后一个块的顶部应用平均池化操作,以获得最终分类头的代表Token,该分类头由单个线性投影层组成。
具体变体如下:
4实验
4.1 消融实验
1、Pale-size的影响
4个阶段的Pale-size控制了上下文信息丰富度与计算成本之间的权衡。如表7所示,增加Pale-size(从1到7)可以持续提高所有任务的性能,而进一步增加到9不会带来明显的、持续的改进,但会带来更多的FLOPs。因此,默认情况下,对所有任务使用。
2、不同注意力对比
这里比较了3种PS-Attention的实现。普通的PS-Attention直接在整个Pale区域内进行自注意力计算,它可以近似为两种更有效的实现,顺序和并行。
顺序算法在连续块中交替计算行方向和列方向上的自注意力,而并行算法在每个块内并行执行行方向和列方向的注意力。如表8所示,并行PS-Attention在所有任务上都取得了最好的结果。作者将此归因于在普通的PS-Attention中,对于非方形输入大小的过多填充将导致轻微的性能下降。
为了直接比较PS-Attention与最相关的Axial-based Attention,分别用轴向自注意力和cross-shaped window self-attention替代了Pale-T的PS-Attention。如表8所示,PS-Attention明显优于这两种机制。
3、不同的位置嵌入
位置编码可以引入空间位置感知来实现自注意力的特征聚合,在Transformer中起着重要作用。本文比较了几种常用的位置编码方法,如无位置编码(no pos.)、绝对位置编码(APE)和条件位置编码(CPE)。如表9所示,CPE的性能最好。不使用任何位置编码将导致严重的性能下降,这证明了位置编码在Vision Transformer模型中的有效性。
4.2 ImageNet-1K分类
表2比较了Pale Transformer与最先进的CNN和Vision Transformer Backbone在ImageNet-1K验证集上的性能。在相同的计算复杂度下,与先进的CNN相比,Pale模型分别比RegNet模型好+3.4%、+2.6%和+2.0%。
与此同时,Pale Transformer的性能优于最先进的基于Transformer的Backbone,在类似型号尺寸和FLOPs下的所有变种中,其性能比最相关的CSWin Transformer高0.7%。
请注意,LV-ViT和VOLO,使用额外的MixToken增强和token丢失进行训练,似乎与本文方法相同。为了进行比较,在Pale模型上使用了这两种技巧,与lv-vi-s相比,Pale-T获得了+0.9%的增益,且计算成本更低。Pale-S和Pale-B分别达到85.0%和85.8%,比VOLO高出0.8%和0.6%。
4.1 COCO目标检测
如表3所示,对于目标检测Pale-T、Pale-S和Pale-B的目标检测box mAP分别为47.4、48.4和49.2,超过了之前的最佳水平CSWin Transformer +0.7,+0.5,+0.6。
此外,Pale Transformer变体在实例分割上也有一致的改进,分别比之前的最佳Backbone提高了+0.5、+0.5、+0.3 mask mAP。
5参考
[1].Pale Transformer:A General Vision Transformer Backbone with Pale-Shaped Attention