专栏名称: 小白学视觉
本公众号主要介绍机器视觉基础知识和新闻,以及在学习机器视觉时遇到的各种纠结和坑的心路历程。
目录
相关文章推荐
邢者团队晚间解盘  ·  注意回踩 ·  8 小时前  
掌上春城  ·  突发坠机! ·  20 小时前  
美股投资网  ·  特斯拉今天为何再度重挫?2025.2.11 ·  2 天前  
51好读  ›  专栏  ›  小白学视觉

视觉Transformer的跨尺度创新:CrossFormer++的前沿探索

小白学视觉  · 公众号  ·  · 2024-07-02 10:05

正文

点击上方 小白学视觉 ”,选择加" 星标 "或“ 置顶

重磅干货,第一时间送达

题目: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由于两个原因无法处理上述情况:
  1. 这些模型的输入标记是由等大小的补丁生成的。尽管理论上这些补丁有机会提取任何尺度的特征,只要补丁大小足够大,但实际上很难保证它们能够自动学习适当的多尺度特征。
  2. 一些视觉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为例,计算其平均注意力图。具体来说,某个组的注意力图可以表示为:
其中 分别表示批次大小、头的数量和组大小。这意味着总共有 个标记,每个标记的注意力图大小为 。图像 、头 和位置 处的标记的注意力图表示为:






请到「今天看啥」查看全文