【超越Swin、ConvNeXt】最新注意力Neighborhood Attention Transformer (NAT)全文翻译

paper:https://arxiv.org/abs/2204.07143

code:https://github.com/SHI-Labs/Neighborhood-Attention-Transformer

目录

Abstract

1. Introduction

2. Related works

2.1. Multi-Headed self attention

2.2. Vision Transformer

2.3. Models using local attention

2.4. Recent Convolutional models

3. Method

3.1. Neighborhood Attention

3.2. Complexity analysis

3.3. Implementation

3.4. Neighborhood Attention Transformer

4. Experiments

4.1. Classification

4.2. Object Detection

4.3. Semantic Segmentation

4.4. Ablation study

4.5. Saliency analysis

5. Conclusion

Abstract

我们提出了Neighborhood Attention Transformer (NAT) ,这是一个高效、准确和可扩展的分层转换器,在图像分类和下游视觉任务中都能很好地工作。它建立在Neighborhood Attention(NA)的基础上,这是一种简单而灵活的注意力机制,将每个查询的接受域定位到其最近的相邻像素。NA是自注意力的一种局部化,并随着接受野大小的增加而接近它。它在触发器和内存使用上也等同于Swin Transformer的移位窗口注意力,在给定相同的可接受视野大小的情况下,同时限制较少。此外,NA包括局部感应偏置,从而消除了对像素移位等额外操作的需要。在NAT上的实验结果是有竞争力的,NAT-TINY在ImageNet上达到了83.2%的TOP-1准确率,仅用了4.3个GFLOPS和28M参数,在MS-COCO上达到了51.4%的MAP,在ADE20k上达到了48.4%。我们将在以下网址开放我们的检查点、培训脚本、配置和CUDA内核:https://github.com/SHILabs/Neighborhood-Attention-Transformer

【超越Swin、ConvNeXt】最新注意力Neighborhood Attention Transformer (NAT)全文翻译

图 1:Self Attention、Shifted Window Self Attention 和我们的 Neighborhood Attention 中的感受野示意图。 Self Attention 对每个查询tokens具有相同的最大接受域。 Shifted Window Self Attention 将输入划分为子窗口并执行自注意,然后是另一层,转移到输入,注意屏蔽了移位像素(灰色区域)。 Neighborhood Attention 自适应地将感受野定位到每个tokens周围的邻域,引入局部归纳偏差,而不需要额外的操作。

  1. Introduction

卷积神经网络(CNN)多年来一直是跨越不同应用的计算机视觉模型的事实架构。AlexNet在ImageNet上展示了它们的用处,其他许多人也纷纷效仿,推出了VGG、ResNet和最近的EfficientNet等架构。另一方面,Transformers最初是作为自然语言处理(NLP)的基于注意力的模型提出的,试图利用语言的顺序结构。它们是BERT和GPT建造的基础,它们仍然是NLP最先进的建筑。

在2020年末,视觉转换器(VIT)被提出作为一种图像分类器,该分类器仅使用在嵌入的图像块空间上操作的Transformer编码器,主要用于大规模训练。随后出现了许多其他方法,试图提高数据效率,最终使这种类似Transformer的模型成为ImageNet-1k分类的最新技术(不需要对其他大型数据集,如JFT-300M进行预培训)。这些高性能的基于注意力的方法都是基于Transformers的,它最初是为了语言处理而设计的。自我注意具有相对于嵌入维度的线性复杂性(不包括线性投影),但关于记号数量的二次复杂性。在视觉范围内,令牌的数量通常与图像分辨率呈线性相关。因此,在严格使用自我注意的模型中,较高的图像分辨率会导致复杂性和内存使用量的二次增加,例如VIT。这一直是阻碍这种模型容易应用于下游视觉任务的问题之一,例如:对象检测和语义分割,其中图像分辨率通常比分类大得多。另一个问题是,卷积受益于归纳性偏见,如局部性、平移等差和二维邻域结构,而点积自注意力从定义上讲是一种全局的一维操作。虽然视觉变压器中的MLP层是局部的,且在平移上是等变的,但其余的感应偏差必须通过大量数据或先进的训练技术和增强来学习。

因此,采用了局部注意力模块来缓解这一问题。Swin是第一批基于局部自我关注的分层视觉转换器之一。它的设计和改变窗口的自我关注使得它可以很容易地应用于下游任务,因为它们使它在计算上可行,同时也通过注入额外的偏差提高了性能。HaloNet还研究了局部注意块,并发现局部注意块和卷积的组合产生了最佳性能,这是因为在记忆需求和翻译等变性之间进行了最佳权衡。

在本文中,我们提出了邻域注意(NA),并在其上建立了邻域注意转换器(NAT),以达到跨视觉任务的竞争性结果。NA是点积自我注意的本地化,将每个查询标记的接受域限制在关键字值对中其相应标记周围的固定大小的邻域内。较小的区域会引起更多的地方关注,而较大的区域会产生更多的全局关注。这种设计能够以平衡平移不变性和等变性的方式控制感受野。我们的努力受到卷积的局部性质以及它们如何产生更多有利于视觉任务的局部归纳偏差的启发。 它不同于将自注意力应用于局部窗口(Swin),可以将其视为与内容相关内核的卷积。

总而言之,我们的主要贡献是:

1.提出 Neighborhood Attention(NA):一种简单而灵活的视觉注意机制,它将每个表征的接受场定位到其邻域。我们在复杂性和内存使用方面将该模块与自注意力、窗口自我注意和卷积进行了比较。

2.介绍了 Neighborhood Attention Transformer(NAT),它是一种由邻域关注层层次组成的高效、准确、可扩展的层次化转换器。每一级之后都会进行下采样操作,从而将空间大小减少一半。类似的设计可以在最近的许多基于注意力的模型中看到,例如Swin和Focus Transformer。与这些模型不同,NAT使用小核重叠卷积进行嵌入和下采样,而不是非重叠卷积。与Swin等现有技术相比,NAT还引入了一组更高效的体系结构配置。

3.展示了NAT在图像分类和下游视觉任务中的有效性,包括对象检测和语义分割。我们观察到,NAT不仅可以超越Swin Transformer,而且可以超越新的卷积竞争者。我们的NAT-TINY模型在ImageNet上只需4.3 GFLOPS和28M参数就可以达到83.2%的TOP-1准确率,在MS-COCO上可以达到51.4%的边界框mAP,在ADE20k上可以达到48.4%的多尺度mIoU,这为这种简单和小型Transformer模型创造了新的技术水平。

【超越Swin、ConvNeXt】最新注意力Neighborhood Attention Transformer (NAT)全文翻译

图 2:Neighborhood Attention 与 self attention 的 query-key-value 结构示意图(针对单个像素)。 自注意力允许每个tokens关注所有其他tokens,而邻域注意力将每个tokens的接受域定位到其周围的邻域。 这与 Swin中现有的窗口注意力机制不同,后者将自我注意力划分为子窗口。 窗口自注意力和邻域注意力都具有相对于分辨率的线性计算成本和内存使用,而不是自注意力的二次成本和内存。 然而,邻域注意力具有额外的优势,即直接将每个像素限制在其邻域内,无需额外的计算成本,因此不需要额外的移位操作来引入跨窗口交互。 邻域注意力也不限于处理可被窗口大小整除的输入,如窗口注意力。

在这一节中,我们简要回顾了多头自注意(MHSA)机制,并回顾了一些著名的视觉转换器和类似transformer的架构,以及一些值得注意的基于局部注意力的视觉转换器,以及最近的CNN为基于注意力的模型提供了最新的基线。

2.1. Multi-Headed self attention

Vaswani等人对点状产品的注意程度进行了定义。作为对查询和一组键-值对的操作。计算查询和键的点积,并对其进行缩放。Softmax应用于输出,以归一化关注权重,然后应用于这些值。它可以表达为:

【超越Swin、ConvNeXt】最新注意力Neighborhood Attention Transformer (NAT)全文翻译

其中,

【超越Swin、ConvNeXt】最新注意力Neighborhood Attention Transformer (NAT)全文翻译是关键维度。

多头注意也是由Vaswani等人提出的。这相当于以不同的嵌入方式多次应用点积注意函数,从而形成”注意头”。根据定义,自注意力接受一个输入序列,并将其用作查询和键-值对。

给定一个输入

【超越Swin、ConvNeXt】最新注意力Neighborhood Attention Transformer (NAT)全文翻译,其中【超越Swin、ConvNeXt】最新注意力Neighborhood Attention Transformer (NAT)全文翻译是令牌数,【超越Swin、ConvNeXt】最新注意力Neighborhood Attention Transformer (NAT)全文翻译是嵌入维度,对于注意力权重,该操作的复杂度为【超越Swin、ConvNeXt】最新注意力Neighborhood Attention Transformer (NAT)全文翻译,空间复杂度为【超越Swin、ConvNeXt】最新注意力Neighborhood Attention Transformer (NAT)全文翻译

2.2. Vision Transformer

Dosovitski等人提出了一种基于Transformer的图像分类器,该分类器仅由Transformer编码器和图像标记器VisionTransformer组成。以前的工作,如DETR,探索了一种CNN和Transformer模型的混合检测方法。另一方面,VIT提出了一种只依赖于单个非重叠卷积层(修补和嵌入)的模型。VIT主要是在私有JFT-300M数据集上进行预培训,并被证明在许多基准测试中表现优于最先进的CNN。然而,也有人补充说,当VIT在中等规模的数据集,如ImageNet-1k和ImageNet-21k上进行预培训时,它不再取得有竞争力的结果。这归因于缺乏CNN固有的归纳偏见,作者认为,大规模训练胜过了这一偏见。虽然这在中等规模的训练中有效地证明了VIT的劣势,但它提供了经验证据,表明基于变形金刚的模型在较大范围内的表现优于CNN。VIT为更多的视觉转换器和一般的基于注意力的模型铺平了道路,随后它被转移到中等规模的学习,甚至是在更小的数据集上进行小规模学习。

Touvron等人通过探索数据效率,扩展了对Vision Transformers的研究。他们的数据效率图像转换器模型的表现明显好于VIT,只需很少的架构更改,并通过使用先进的增强和培训技术。

他们通过引入蒸馏标记和硬蒸馏损失来探索通过注意力传递知识。至于教师模式的选择,他们既探索了基于Transformer的模型,也探索了CNN。研究表明,卷积教师模式可以更显著地提高成绩,因为它可以说转移了Deit所缺乏的归纳偏见。他们的实验突出了基于Transformer的图像分类器在中型数据区域的真正潜力,同时也激励了更多的人利用他们的训练技术。

【超越Swin、ConvNeXt】最新注意力Neighborhood Attention Transformer (NAT)全文翻译

图3:ImageNet-1k分类性能与计算,气泡大小代表参数数量。 NAT在分类方面优于Swin和 ConvNeXt,FLOP更少,参数数量相似。

2.3. Models using local attention

移位窗口(Swin)注意力是由Liu等人提出的。作为最早的基于窗口的自注意机制之一。该机制对输入特征映射进行分区,并将自注意力分别应用于每个分区。这种操作具有更好的复杂性,并且可以并行化。在这些所谓的窗口关注之后是移位的窗口关注,其应用相同的操作,但是在窗口划分阶段之前具有像素的移位,以便在仍然保持效率的同时引入跨提取的窗口的连接。此外,将相对位置偏差添加到关注权重中,作为先前模型使用的一次性位置嵌入的替代。此外,提出的模型Swin Transformer生成金字塔状的特征地图,降低了空间维度,同时增加了深度。多年来,这种结构一直普遍用于CNN,这就是为什么Swin可以很容易地与其他网络集成,以便应用于下游任务,如检测和分段。在ImageNet-1k分类中,Swin在卷积老师的帮助下表现优于Deit。此外,Swin Transformer是MSCOCO测试集上目标检测的最先进方法,直到最近还是ADE20K上语义分割的最先进方法。

Vaswani等人提出blocked local attention,包括3个阶段:blocking、haloing和attention。输入的要素特征图被分块成不重叠的子集,用于查询。然后,提取大小相等的相邻块(晕圈),这些块将用作键和值。然后通过自我关注发送提取的查询和键值对。 这种注意力机制内置于 HaloNet 中,并且被证明在降低成本和提高性能方面都很有效,尤其是在与网络中更多的卷积层结合使用时。作者认为,根据定义,自注意力保留了平移等变,他们的局部注意通过放松这种等价性而改善了速度和记忆之间的权衡,同时不会大大降低感受野。

Yang等人提出了Focal Attention,这是一种基于窗口的机制,将细粒度的注意力限制在局部周围的令牌上,同时将粗粒度的注意力应用于更远的tokens。 与 Swin一样,Focal Transformer也利用了可以无缝连接到检测和分割头的层次结构。

2.4. Recent Convolutional models

Liu等人最近提出了一个受Swin等模型影响的新CNN架构,名为ConvNeXt。这些模型不是基于注意力的,它们在不同的视觉任务中表现优于Swin。自那以后,这项工作成为CNN公平比较卷积模型和基于注意力的模型的新基准。

我们提出了邻域注意,它的设计是将接受域定位到每个查询周围的一个窗口,因此不需要像Swin使用的循环移位这样的额外技术。我们提出了一种具有这种注意机制的分层变形金刚模型,称为邻域注意转换器,并与Swin在图像分类、目标检测和语义分割方面的性能进行了比较。

  1. Method

在这一部分,我们介绍Neighborhood Attention,自注意力的一种局部化(见公式1)考虑可视化数据的结构。与自注意力相比,这不仅降低了计算成本,而且引入了类似于卷积的局部感应偏差。此操作使用邻域大小L,该大小至少会将每个像素设置为仅关注其周围的1个像素邻域(创建一个3×3正方形窗口)。我们还证明了当邻域大小达到其最大值(即输入的大小)时,该定义等于自注意力。因此,如果邻域大小超过或匹配特征图大小,则在相同输入的情况下,邻域注意力和自我注意力将具有相同的输出。然后我们介绍我们的模型 Neighborhood Attention Transformer (NAT),它使用这种新机制而不是自我注意。 此外,NAT 采用类似于 Swin的多级分层设计,这意味着特征图在级别之间进行下采样,而不是一次全部下采样。 然而,与 Swin 不同的是,NAT 使用重叠卷积来下采样特征图,而不是非重叠(修补)的。 这会导致计算和参数略有增加,我们通过提出计算成本较低的新配置来弥补这一点。

3.1. Neighborhood Attention

受卷积如何引入邻域偏差和局部性的启发,我们引入了邻域注意。 这种机制旨在允许特征图中的每个像素只关注其相邻像素。 由于邻域取决于大小,我们的新机制也将如此。

【超越Swin、ConvNeXt】最新注意力Neighborhood Attention Transformer (NAT)全文翻译

图4:我们的模型NAT及其分层设计的概述。该模型从卷积下采样器开始,然后移动到4个顺序级别,每个级别由多个NAT块组成,它们是类似Transformer的编码器层。 每层由多头邻域注意力(NA)、多层感知器(MLP)、每个模块之前的层范数(LN)和跳过连接组成。 在各个级别之间,特征图被下采样到其空间大小的一半,而它们的深度则加倍。这简化了后续层的计算,并允许通过特征金字塔更容易地转移到下游任务。至于分类,我们只是在最后一层的高度和宽度上应用平均池化。

我们用

【超越Swin、ConvNeXt】最新注意力Neighborhood Attention Transformer (NAT)全文翻译表示像素在【超越Swin、ConvNeXt】最新注意力Neighborhood Attention Transformer (NAT)全文翻译处的邻域,它是最接近【超越Swin、ConvNeXt】最新注意力Neighborhood Attention Transformer (NAT)全文翻译的像素的一组固定长度的索引。对于大小为【超越Swin、ConvNeXt】最新注意力Neighborhood Attention Transformer (NAT)全文翻译的邻域,【超越Swin、ConvNeXt】最新注意力Neighborhood Attention Transformer (NAT)全文翻译。因此,单个像素上的邻域关注度可以定义如下:

【超越Swin、ConvNeXt】最新注意力Neighborhood Attention Transformer (NAT)全文翻译

其中

【超越Swin、ConvNeXt】最新注意力Neighborhood Attention Transformer (NAT)全文翻译【超越Swin、ConvNeXt】最新注意力Neighborhood Attention Transformer (NAT)全文翻译的线性投影,类似于等式1. 【超越Swin、ConvNeXt】最新注意力Neighborhood Attention Transformer (NAT)全文翻译表示相对位置偏差,根据其相对位置添加到每个注意力权重中。该操作可以进一步扩展到所有像素【超越Swin、ConvNeXt】最新注意力Neighborhood Attention Transformer (NAT)全文翻译,从而产生一种局部注意力的形式。但是,如果函数【超越Swin、ConvNeXt】最新注意力Neighborhood Attention Transformer (NAT)全文翻译将每个像素映射到所有像素(L2 等于特征图大小),这将等同于自注意(带有额外的位置偏差)。这是因为当邻域边界超出输入大小时,【超越Swin、ConvNeXt】最新注意力Neighborhood Attention Transformer (NAT)全文翻译将包括所有可能的像素。结果,【超越Swin、ConvNeXt】最新注意力Neighborhood Attention Transformer (NAT)全文翻译【超越Swin、ConvNeXt】最新注意力Neighborhood Attention Transformer (NAT)全文翻译,并且通过去除偏置项,方程1 是派生出来的。Neighborhood Attention在计算上很简易。它的复杂性相对于分辨率是线性的,不像self attention是二次的。此外,它的复杂性也与邻域大小成线性关系。【超越Swin、ConvNeXt】最新注意力Neighborhood Attention Transformer (NAT)全文翻译将一个像素映射到一组相邻像素,可以通过类似于卷积的光栅扫描滑动窗口操作轻松生成。每个像素都简单地映射到一组相邻像素及其本身。图2显示了此操作的说明。对特征图中的每个像素重复此操作。对于不能居中的角像素,邻域被扩展以保持感受野大小。这是一个关键的设计选择,当邻域大小向特征图分辨率增长时,它允许【超越Swin、ConvNeXt】最新注意力Neighborhood Attention Transformer (NAT)全文翻译泛化到自我关注。扩展邻域是通过简单地继续选择与原始像素最近的L2相邻像素来实现的。例如,对于【超越Swin、ConvNeXt】最新注意力Neighborhood Attention Transformer (NAT)全文翻译,每个查询最终都会有9个键值像素围绕它(一个3×3的网格,查询位于中心)。对于角像素,邻域是另一个3×3网格,但查询不位于中心。图6展示了这一想法。

3.2. Complexity analysis

Neighborhood Attention与基于窗口的自注意力机制(例如Swin)具有相同数量的FLOP。我们将在本小节中进行复杂性分析并讨论它们的内存使用情况。我们还提出了一个复杂性分析,将邻域注意力与卷积进行比较,表明它涉及的操作更少,但使用的内存更多。为简单起见,我们排除了注意力头,并使用单头注意力。请注意,我们将邻域和窗口大小表示为L,以避免与其他符号混淆。

给定形状为H×W×C的输入特征图,其中C是通道数,H和W分别是特征图的高度和宽度,QKV线性投影的成本为

【超越Swin、ConvNeXt】最新注意力Neighborhood Attention Transformer (NAT)全文翻译,和selfattention, Swin’s window self attention, and neighborhood attention的是相同的。

Swin将 queries, keys, values划分为形状为L×L×C的

【超越Swin、ConvNeXt】最新注意力Neighborhood Attention Transformer (NAT)全文翻译窗口,然后在每个窗口上应用 self attention,这将花费【超越Swin、ConvNeXt】最新注意力Neighborhood Attention Transformer (NAT)全文翻译,简化为【超越Swin、ConvNeXt】最新注意力Neighborhood Attention Transformer (NAT)全文翻译。 形状为【超越Swin、ConvNeXt】最新注意力Neighborhood Attention Transformer (NAT)全文翻译的注意力权重的内存消耗因此为【超越Swin、ConvNeXt】最新注意力Neighborhood Attention Transformer (NAT)全文翻译

在 NA 中,每个query

【超越Swin、ConvNeXt】最新注意力Neighborhood Attention Transformer (NAT)全文翻译将有key 【超越Swin、ConvNeXt】最新注意力Neighborhood Attention Transformer (NAT)全文翻译 和value 【超越Swin、ConvNeXt】最新注意力Neighborhood Attention Transformer (NAT)全文翻译,大小均为L×L×C,这意味着计算注意力权重的成本是【超越Swin、ConvNeXt】最新注意力Neighborhood Attention Transformer (NAT)全文翻译,类似于斯温。 注意力权重也将是 【超越Swin、ConvNeXt】最新注意力Neighborhood Attention Transformer (NAT)全文翻译的形状,因为每个 H × W queries都涉及到【超越Swin、ConvNeXt】最新注意力Neighborhood Attention Transformer (NAT)全文翻译个keys。 因此,存储注意力权重所需的内存也将与Swin, 【超越Swin、ConvNeXt】最新注意力Neighborhood Attention Transformer (NAT)全文翻译相同。

至于卷积,计算成本为

【超越Swin、ConvNeXt】最新注意力Neighborhood Attention Transformer (NAT)全文翻译,存储输出的内存使用量仅为【超越Swin、ConvNeXt】最新注意力Neighborhood Attention Transformer (NAT)全文翻译。 虽然卷积更节省内存,但它们的复杂度与通道呈二次方关系,与窗口大小(L×L)呈线性关系。 通过解决L>1时2D卷积的复杂性和2D邻域注意力之间的不等式,可以得出结论,随着通道数量的增加,后者的增长速度比前者慢。 特别是对于L=3,NA对于所有C>3都更有效,实际上通常是这种情况。 对于L≥5,NA对所有C>1都更有效。因此,可以得出结论,在实际场景中,2D的NA的计算复杂度低于2D卷积,而仅会因QKV投影而增加内存使用量。

【超越Swin、ConvNeXt】最新注意力Neighborhood Attention Transformer (NAT)全文翻译

表1:self attention、patched self attention、neighbor attention 和卷积之间在输入大小方面的计算成本和内存消耗比较。 我们将其与卷积进行比较,因为可以将邻域注意力视为具有动态内核的卷积。

3.3. Implementation

主要的深度学习库中不存在精确复制邻域注意力甚至提取相邻像素的操作。 有一种操作组合可以创建邻域,但它们的效率非常低且消耗内存。 因此,我们为邻域注意力的不同组件编写了自定义 CUDA内核。 我们在附录A中介绍了不同实现的详细信息.

3.4. Neighborhood Attention Transformer

NAT使用2个连续的3 × 3卷积以2 × 2的步幅嵌入输入,导致空间大小为输入大小的1/4。 这类似于使用带有4 × 4补丁的补丁和嵌入层,但它使用重叠卷积而不是非重叠卷积。 另一方面,使用重叠卷积会增加成本,并且两个卷积会产生更多参数。 但是,我们通过重新配置模型来处理这个问题,从而实现更好的权衡。

NAT由4个级别组成,每个级别后跟一个下采样器(最后一个除外)。 下采样器将切割空间大小减半,同时将通道数加倍。 我们使用具有2 × 2步幅的3 × 3卷积,而不是Swin使用的2 × 2非重叠卷积(补丁合并)。 由于分词器下采样了4倍,我们的模型生成大小为

【超越Swin、ConvNeXt】最新注意力Neighborhood Attention Transformer (NAT)全文翻译【超越Swin、ConvNeXt】最新注意力Neighborhood Attention Transformer (NAT)全文翻译【超越Swin、ConvNeXt】最新注意力Neighborhood Attention Transformer (NAT)全文翻译【超越Swin、ConvNeXt】最新注意力Neighborhood Attention Transformer (NAT)全文翻译的特征图。 这种变化是由以前成功的CNN结构推动的,它允许更容易地将预训练模型转移到下游任务。 它还受到其他基于分层注意力的方法的近期成功的推动,例如 PVT 、ViL、Swin Transformer和 Focal Transformer。此外,我们在训练更大的模型时利用LayerScale 来保持稳定性。图4展示了整个网络架构的示意图。我们在表 2中总结了不同的NAT变体及其主要区别。

【超越Swin、ConvNeXt】最新注意力Neighborhood Attention Transformer (NAT)全文翻译

表 2:NAT 配置摘要。 所有模型都使用 7 × 7 的注意力邻域。 每个级别后尺寸和头部加倍,直到最后一级。

4. Experiments

我们通过对不同视觉任务(例如图像分类、对象检测和语义分割)进行实验来证明NAT的适用性和有效性。 我们还以Swin作为基线进行了Neighborhood Attention和NAT的消融实验。

4.1. Classification

我们在ImageNet-1k上训练了我们的变体,以便与其他基于变压器的卷积图像分类器进行比较。 该数据集仍然是为数不多的中等规模图像分类基准之一,包含大约128万张训练图像、5万张验证图像和10万张测试图像,分为1000个类别。 我们使用常用的timm包训练我们的模型,并使用类似作品中使用的常见增强和训练技术,例如 CutMix、Mixup、RandAugment和随机擦除。 我们遵循 Swin的精确训练配置(学习率、迭代余弦计划和其他超参数)。按照惯例,我们训练模型300个 epoch,其中20个预热学习率,其余的根据调度程序衰减,最后再做10个额外的冷却epoch。

【超越Swin、ConvNeXt】最新注意力Neighborhood Attention Transformer (NAT)全文翻译

表3:在224×224分辨率下的ImageNet Top-1验证准确性比较(无需额外数据或预训练)。

4.2. Object Detection

我们在MS-COCO上训练了Mask R-CNN和Cascade Mask RCNN,使用了在ImageNet上预训练的 NAT主干。 我们密切关注 Swin的训练设置,使用mmdetection,并使用相同的加速3×LR计划进行训练。 结果显示在表4和表5中。使用Mask R-CNN的NAT-Mini优于Swin-Tiny,而使用Cascade Mask R-CNN的性能略逊于它,同时具有明显更少的FLOP。NAT-Tiny的性能优于Swin和 ConvNeXt的同类产品,FLOPs也略少,同时具有Mask和Cascade Mask R-CNN。 与Swin和ConvNeXt对应的检测器相比,NAT-Small和NAT-Base可以达到相似水平的性能,同时明显更高效。

【超越Swin、ConvNeXt】最新注意力Neighborhood Attention Transformer (NAT)全文翻译

表4:在MS-COCO上使用MASK R-CNN的目标检测和实例分割性能。

【超越Swin、ConvNeXt】最新注意力Neighborhood Attention Transformer (NAT)全文翻译

表5:在MS-COCO上使用级联掩码R-CNN进行目标检测和实例分割的性能。

4.3. Semantic Segmentation

我们还在ADE20K上使用ImageNet预训练的NAT主干训练了UPerNet。与检测类似,我们遵循 Swin的配置来训练ADE20k,并使用mmsegmentation。此外,按照标准做法,输入图像在训练时随机调整大小并裁剪为512 × 512。ADE20K上的分割结果如表6所示。值得注意的是,NAT-Mini 优于Swin-Tiny,并且非常接近ConvNeXt-Tiny。NAT-Tiny明显优于ConvNeXt-Tiny,同时效率也略高一些。NAT-Small在单尺度性能上优于Swin-Small,同时匹配多尺度mIoU。 NAT-Base的性能与 SwinBase相当,但略低于ConvNeXt-Base。应该注意的是,与Swin和ConvNeXt对应的 NAT-Small和NAT-Base相比,它们的FLOP更少,而它们的性能在同一区域内。还值得注意的是,Swin 尤其遭受了更多的FLOP,甚至超出了原始差异,因为在该任务中输入的图像分辨率(512 × 512)不会导致可被7 × 7整除的特征图,Swin的窗口大小,这迫使模型在每次注意操作之前用零填充输入特征图以解决该问题。NAT不需要这个,因为任何大小的特征图都是兼容的。

【超越Swin、ConvNeXt】最新注意力Neighborhood Attention Transformer (NAT)全文翻译

表6:ADE20k上的语义分割性能。

4.4. Ablation study

为了评估每个不同组件与Swin Transformer相比的效果,我们对注意力模块、下采样器和配置进行了消融。注意消融如表7所示。Swin的窗口自我注意伴随着循环移位,它引入了窗口外交互。因为邻域注意力会为每个查询计算动态键值对,所以它不需要任何像素移动来操作。本研究中使用的模型配置遵循Swin-Tiny,96个通道分布在第一层的3个头上,每层加倍,每层2层,第三层除外,它有6层。我们的第二个消融是在模型本身上,我们从Swin-Tiny开始,并用重叠卷积替换修补的标记器和下采样器。此更改仅涉及使用两个具有2×2步幅的3×3卷积,而不是一个具有4×4步幅的4×4卷积,同时将下采样器从具有2×2步幅的2×2卷积更改为具有2×2步幅的3×3卷积同样的步伐。可以注意到,模型性能的准确度提高了不到0.5%,而参数和FLOP的数量也有显着增加。然后我们切换到我们的Tiny 配置,具有更少的头、更小的倒置瓶颈和更多的层。 这导致准确性提高了0.9% 以上,同时将参数和FLOP的数量减少到基线以下。 我们最终用NA切换注意力机制,并看到准确度提高了不到0.5%。 这与仅对注意力机制进行的研究一起表明,NA不仅在类似条件下更强大,而且通过重叠卷积在模型中引入更多的归纳偏差,它也会受到更显着的影响。

【超越Swin、ConvNeXt】最新注意力Neighborhood Attention Transformer (NAT)全文翻译

表 7:来自Swin的Neighborhood Attention与Window Self-Attention的消融研究。 这两种方法都可以在没有位置信息的情况下工作,但效果不佳。Shift仅适用于Swin,因为邻域注意力会为每个查询计算动态键值对。Swin结果直接来自原始论文。

【超越Swin、ConvNeXt】最新注意力Neighborhood Attention Transformer (NAT)全文翻译

表 8:以Swin-T为基线的NAT消融研究。 通过使用重叠卷积,以及我们的NAT设计提升,分类精度显着提高,同时导致比Swin-T更少的参数和FLOPS。 将SWSA与NA交换可使准确度提高近 0.5%。

4.5. Saliency analysis

为了进一步说明注意力机制和模型之间的差异,我们展示了来自ViT-Base、Swin-Base和NAT-Base的显着图。 我们从ImageNet验证集中选择了一些图像,通过三个模型发送它们,并根据输出创建显着图,如表5所示。所有图像都被正确预测(Bald Eagle、Acoustic Guitar、Hummingbird、Steam Locomotive) 除了预测舞台的ViT的原声吉他。 从这些显着的地图中,我们可以看到所有模型都具有相对较好的可解释性,尽管它们关注的领域略有不同。NAT在边缘检测方面似乎略胜一筹,我们认为这是由于我们在这项工作中提出的局部注意力机制,以及卷积标记器和下采样器。

【超越Swin、ConvNeXt】最新注意力Neighborhood Attention Transformer (NAT)全文翻译

图 5:所选 ImageNet 验证集图像的显着图,比较ViT-Base、Swin-Base和NAT-Base。 这些图像的基本事实分别是:白头鹰、原声吉他、蜂鸟和蒸汽火车。

  1. Conclusion

基于Transformer的视觉模型受到了计算机视觉研究界的极大关注,尤其是在引入ViT之后。一些工作侧重于数据效率,对架构进行了微小的更改,而其他工作则侧重于效率和对下游任务的可转移性 。在本文中,我们介绍了一种针对数据结构定位自注意力的替代方法,该方法为每个标记动态计算键值对,以及更高效的模型数据配置。这有助于创建一个模型,该模型既利用了注意力的力量,也利用了卷积的效率和归纳偏差。我们已经展示了这种模型在图像分类中的强大功能,其中它显着优于Swin Transformer和ConvNeXt。此外,我们已经证明它可以无缝地应用于下游任务,在这些任务中它也优于或与那些现有方法竞争。我们将在更大的NAT变体上进行实验,以及在未来版本中进行ImageNet-21k预训练。

Original: https://blog.csdn.net/m0_53232749/article/details/124442819
Author: 刘可乐呀
Title: 【超越Swin、ConvNeXt】最新注意力Neighborhood Attention Transformer (NAT)全文翻译

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/651562/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球