点击上方
“
小白学视觉
”,选择加"
星标
"或“
置顶
”
重磅干货,第一时间送达
![](http://mmbiz.qpic.cn/mmbiz_jpg/ow6przZuPIENb0m5iawutIf90N2Ub3dcPuP2KXHJvaR1Fv2FnicTuOy3KcHuIEJbd9lUyOibeXqW8tEhoJGL98qOw/640?wx_fmt=jpeg&wxfrom=5&wx_lazy=1&wx_co=1&random=0.06099626313838602&random=0.19593402232432267&random=0.018960187953106944&random=0.9118751247692567&random=0.540719464288469&random=0.803805689309403)
题目:CrossFormer++: A Versatile Vision Transformer Hinging on Cross-Scale Attention
CrossFormer++: 基于跨尺度注意力的多功能视觉Transformer
作者:Wenxiao Wang; Wei Chen; Qibo Qiu; Long Chen; Boxi Wu; Binbin Lin; Xiaofei He; Wei Liu
摘要
虽然不同尺度的特征在视觉输入中具有感知重要性,但现有的视觉Transformer尚未显式利用这些特征。为此,我们首先提出了一种跨尺度视觉Transformer,即CrossFormer。它引入了跨尺度嵌入层(CEL)和长短距离注意力(LSDA)。一方面,CEL将每个标记与不同尺度的多个补丁混合,为自注意力模块本身提供跨尺度特征。另一方面,LSDA将自注意力模块分为短距离和长距离部分,这不仅减少了计算负担,还保留了标记中的小尺度和大尺度特征。此外,通过对CrossFormer的实验,我们观察到影响视觉Transformer性能的另外两个问题,即自注意力图的扩展和幅度爆炸。因此,我们进一步提出了渐进组大小(PGS)范式和幅度冷却层(ACL)来分别缓解这两个问题。结合PGS和ACL的CrossFormer称为CrossFormer++。大量实验表明,CrossFormer++在图像分类、目标检测、实例分割和语义分割任务上均优于其他视觉Transformer。
关键词
-
图像分类
-
目标检测
-
语义分割
-
视觉Transformer
I. 引言
基于Transformer的视觉骨干在许多计算机视觉任务中取得了巨大成功,例如图像分类、目标检测、语义分割等。与卷积神经网络(CNN)相比,视觉Transformer通过引入自注意力模块,实现了长程依赖,从而赋予模型更高的容量。
Transformer需要一个标记序列(例如,词嵌入)作为输入。为了使这一要求适应典型的视觉任务,大多数现有的视觉Transformer通过将输入图像拆分为等大小的补丁来生成标记。例如,可以将224×224的图像拆分为56×56个4×4大小的补丁,并通过线性层嵌入这些补丁以生成标记序列。在某个Transformer内部,自注意力用于构建任意两个标记之间的交互。因此,自注意力模块的计算或内存成本为
,其中
是标记序列的长度。对于视觉输入来说,这样的成本太高,因为它的标记序列比NLP任务的标记序列长得多。因此,最近提出的视觉Transformer开发了多种替代方案(例如,Swin将自注意力限制在一个小的局部区域而不是全局区域)来以较低的成本近似原始自注意力模块。
尽管上述视觉Transformer取得了进展,但它们在利用不同尺度的视觉特征方面仍然面临挑战,而多尺度特征对于许多视觉任务非常重要。特别是,一张图像通常包含许多不同大小的对象,为了全面理解图像,模型需要提取不同尺度(即不同范围和大小)的特征。现有的视觉Transformer由于两个原因无法处理上述情况:
-
这些模型的输入标记是由等大小的补丁生成的。尽管理论上这些补丁有机会提取任何尺度的特征,只要补丁大小足够大,但实际上很难保证它们能够自动学习适当的多尺度特征。
-
一些视觉Transformer(如Swin)将注意力限制在一个小的局部区域,放弃了长程注意力。
在本文中,我们提出了一种跨尺度嵌入层(CEL)和一种长短距离注意力(LSDA),以从两个角度填补跨尺度的空白:
跨尺度嵌入层(CEL)
遵循PVT,我们也为设计的Transformer采用了金字塔结构,这自然地将视觉Transformer模型分为多个阶段。CEL出现在每个阶段的开始,接收上一阶段的输出(或输入图像)作为输入,并使用多个不同尺度的核(例如4×4或8×8)采样补丁。然后,通过嵌入和连接这些补丁来构建每个标记。通过这种方式,我们强制一些维度(例如,来自4×4补丁)仅关注小尺度特征,而其他维度(例如,来自8×8补丁)则有机会学习大尺度特征,从而生成具有显式跨尺度特征的标记。
长短距离注意力(LSDA)
我们主张视觉输入需要短距离和长距离注意力,因此提出了LSDA。特别地,我们将自注意力模块分为短距离注意力(SDA)和长距离注意力(LDA)。SDA构建邻近嵌入之间的依赖关系,而LDA负责远距离嵌入之间的依赖关系。SDA和LDA在连续的CrossFormer层中交替出现,这不仅减少了自注意力模块的成本,还保持了短距离和长距离注意力。
动态位置偏差(DPB)
此外,遵循之前的工作,我们为标记的位置表示采用相对位置偏差(RPB)。相对位置偏差(RPB)仅支持固定的图像/组大小。然而,许多视觉任务(如目标检测)的图像大小是可变的,我们的架构中的组大小也是如此。为了使RPB更加灵活,我们进一步引入了一个可训练模块,称为动态位置偏差(DPB),它接收两个标记的相对距离作为输入,并输出它们的位置偏差。DPB模块在训练阶段进行端到端优化,几乎不增加成本,但使RPB适用于可变组大小。
凭借上述三个模块,我们将我们的架构命名为CrossFormer,并设计了四个不同深度和通道的变体。尽管这些变体表现出色,但我们也发现CrossFormer的进一步扩展并未带来持续的准确性提升,甚至出现了下降。为此,我们分析了每一层的输出(即自注意力图和MLP),并观察到另外两个影响模型性能的问题,即自注意力图的扩展和幅度爆炸。因此,我们进一步提出了渐进组大小(PGS)和幅度冷却层(ACL)来缓解这些问题。
渐进组大小(PGS)
在自注意力图方面,我们观察到浅层的标记总是关注自身周围的标记,而深层的标记则几乎平均关注所有其他标记。这一现象表明,视觉Transformer的表现类似于CNN,即分别在浅层提取局部特征,在深层提取全局特征。如果为所有阶段采用固定的组大小,这将阻碍模型的性能。因此,我们建议从浅层到深层逐步扩大组大小,并在此指导下实施手动设计的组大小策略。尽管这是一种简单的策略,但PGS实际上是一种通用范式。我们希望展示其重要性,并呼吁其他研究人员探索更自动化和自适应的组大小策略。
幅度冷却层(ACL)
在视觉Transformer中,激活的幅度随着层数的加深而显著增长。例如,在CrossFormer-B中,第22层的最大幅度是第1层的300倍。层间巨大的幅度差异使训练过程不稳定。然而,我们也发现我们提出的CEL可以有效抑制幅度。考虑到在CrossFormer中添加更多CEL有些繁琐,我们设计了一个类似CEL但更轻量级的层,称为幅度冷却层(ACL)。ACL插入到一些CrossFormer块后面,以冷却幅度。
我们通过引入PGS和ACL改进了CrossFormer,生成了CrossFormer++,并提出了四个新变体。对四个下游任务(即图像分类、目标检测、语义分割和实例分割)的大量实验表明,CrossFormer++在所有这些任务上均优于CrossFormer和其他现有的视觉Transformer。
以下章节组织如下:第二节将介绍背景和相关工作。然后,我们将在第三节回顾CrossFormer及其CEL、LSDA和DPB。PGS、ACL和CrossFormer++将在第四节详细介绍。随后将在第五节展示实验。最后,我们将在第六节给出结论和未来工作。
III. CrossFormer
CrossFormer的整体架构如图1所示。遵循以前的工作,CrossFormer也采用了金字塔结构,这自然地将Transformer模型分为四个阶段。每个阶段由一个跨尺度嵌入层(CEL,第三节A)和几个CrossFormer块(第三节B)组成。CEL接收上一个阶段的输出(或输入图像)作为输入,并通过嵌入层生成跨尺度标记。在此过程中,CEL(除了第一个阶段)将嵌入数量减少为四分之一,同时将其维度加倍以形成金字塔结构。然后,在CEL后设置几个CrossFormer块,每个块涉及长短距离注意力(LSDA)和动态位置偏差(DPB)。最后阶段后是一个专门的头(例如图1中的分类头),用于特定任务。
A. 跨尺度嵌入层(CEL)
跨尺度嵌入层(CEL)用于生成每个阶段的输入标记。图3以第一个CEL为例,它位于第一个阶段之前。它接收图像作为输入,然后使用四个不同尺寸的核采样补丁。四个核的步幅保持相同,因此生成相同数量的标记。每个嵌入通过嵌入和连接这四个补丁来构建。在实践中,采样和嵌入的过程可以通过四个卷积层完成。
对于跨尺度标记,一个问题是如何设置每个尺度的嵌入维度。一种直观的方法是均等分配维度。以一个96维的标记和四个核为例,每个核输出一个24维的向量,并通过连接这些向量得到一个96维的标记。然而,卷积层的计算预算与
成正比,其中
和
分别表示核大小和输入/输出维度(假设输入维度等于输出维度)。因此,给定相同的维度,大核比小核消耗更大的预算。为了控制CEL的总预算,我们为大核使用较低的维度,而为小核使用较高的维度。图3在其子表中提供了具体的分配规则,并给出了一个96维的例子。与均等分配维度相比,我们的方案节省了很多计算成本,但并未显著影响模型的性能。其他阶段的跨尺度嵌入层也以类似方式工作。如图1所示,第二、三、四阶段的CEL使用两个不同的核(2×2和4×4)。此外,为了形成金字塔结构,第二、三、四阶段的CEL的步幅设置为2×2,以将嵌入数量减少到四分之一。
B. CrossFormer块
每个CrossFormer块由一个长短距离注意力模块(即LSDA,涉及短距离注意力(SDA)模块或长距离注意力(LDA)模块)和一个多层感知机(MLP)组成。如图1(b)所示,SDA和LDA在不同块中交替出现,动态位置偏差(DPB)模块在SDA和LDA中都起作用,用于获取嵌入的位置表示。遵循之前的视觉Transformer,每个块中使用残差连接。
1) 长短距离注意力(LSDA)
我们将自注意力模块分为两部分:短距离注意力(SDA)和长距离注意力(LDA)。对于SDA,所有
相邻嵌入被分组在一起。图2(a)给出了一个
的例子。对于输入大小为
的LDA,嵌入以固定间隔
进行采样。例如在图2(b)中(
),所有带红色边框的嵌入属于一个组,带黄色边框的嵌入属于另一个组。LDA组的高度或宽度计算为
(即在此示例中
)。在分组嵌入后,SDA和LDA都在每个组内使用原始自注意力。因此,自注意力模块的内存/计算成本从
减少到
。
值得注意的是,LDA的有效性也得益于跨尺度嵌入。具体来说,我们绘制了组成两个嵌入的所有补丁。如图2(b)所示,这两个嵌入的小尺度补丁是非相邻的,因此在没有上下文的帮助下很难判断它们之间的关系。换句话说,如果这些嵌入仅由小尺度补丁(即单尺度特征)构成,那么很难建立它们之间的依赖关系。相反,相邻的大尺度补丁提供了足够的上下文来连接这两个嵌入,从而使长距离跨尺度注意力更容易计算和更有意义。
2) 动态位置偏差(DPB)
相对位置偏差(RPB)通过向注意力中添加偏差来指示嵌入的相对位置。形式上,具有RPB的LSDA注意力图变为:
其中
分别表示自注意力模块中的查询、键和值。
是一个常数归一化因子,
是RPB矩阵。在之前的工作中,
,其中
是一个固定大小的矩阵,
是第
和第
个嵌入之间的坐标距离。显然,图像/组大小在
超过
的大小时受到限制。相反,我们提出了一个基于MLP的模块,称为DPB,用于动态生成相对位置偏差,即
DPB的结构如图2(c)所示。其非线性变换由三层全连接层、层归一化和ReLU组成。DPB的输入维度为2,即
,中间层的维度设为
,其中
是嵌入的维度。输出
是一个标量,编码了第
和第
个嵌入之间的相对位置特征。DPB是一个可训练的模块,与整个Transformer模型一起优化。它可以处理任何图像/组大小,而无需担心
的边界。
在附录中,我们证明了如果图像/组大小是固定的,DPB等效于RPB。在这种情况下,我们可以在测试阶段将训练好的DPB转换为RPB。我们还提供了在图像/组大小可变时DPB的高效
实现(在正常情况下的复杂度为
,因为
)。
C. CrossFormer的变体
表I列出了CrossFormer的四个图像分类变体的详细配置。为了重新使用预训练权重,其他任务(例如目标检测)使用的模型除了可能使用不同的
和
外,骨干网与分类任务相同。具体来说,除了与分类相同的配置外,我们还测试了
,
, 和
,以适应较大图像的检测(和分割)模型的前两个阶段。值得注意的是,组大小或间隔(即
或
)不影响权重张量的形状,因此预训练在ImageNet上的骨干网可以轻松微调到其他任务,即使它们使用不同的
或
。
IV. CrossFormer++
在本节中,我们提出了渐进组大小(PGS)范式,以适应视觉Transformer逐渐扩展的组大小。此外,还提出了一种幅度冷却层(ACL)来缓解幅度爆炸问题。PGS和ACL插入到CrossFormer中,生成了改进版本,称为CrossFormer++。
A. 渐进组大小(PGS)
现有工作探索了原始ViTs的机制,发现ViTs甚至在早期层也偏好全局注意力,这与CNN的工作方式不同。然而,具有金字塔结构的视觉Transformer采用较小的补丁作为输入,求助于组自注意力,可能与原始ViTs的工作方式不同。我们以CrossFormer为例,计算其平均注意力图。具体来说,某个组的注意力图可以表示为:
其中
分别表示批次大小、头的数量和组大小。这意味着总共有
个标记,每个标记的注意力图大小为
。图像
、头
和位置
处的标记的注意力图表示为: