超越Swin、ConvNeXt!PAIR提出NAT:相邻注意力Transformer

2022 年 4 月 26 日 CVer

点击下方卡片,关注“CVer”公众号

AI/CV重磅干货,第一时间送达

转载自:集智书童
Neighborhood Attention Transformer
论文:https://arxiv.org/abs/2204.07143
代码(刚刚开源):
https://github.com/SHI-Labs/Neighborhood-Attention-Transformer

本文提出了Neighborhood Attention Transformer(NAT),NAT是一种集高效、准确和可扩展的分层Transformer,Neighborhood Attention是一种简单而灵活的Self Attention机制,它将每个query的感受野扩展到其最近的邻近像素,并随着感受野的增大而接近Self-Attention

在FLOPs和内存使用方面,与相同的感受野大小带有Shifted Window Attention的Swin-Transformer相同,但是NAT受到的约束更少。

此外,NA还包含了局部归纳偏差,这消除了的额外操作,如像素移动。

NAT-Tiny在ImageNet上达到83.2%的Top-1精度,只有4.3 GFLOPs和28M参数,在MS-COCO上的mAP为51.4%,ADE20k上的mIoU为48.4%。

1事出缘由

自2020年以来,学术界已经提出很多关于Vision Transformer的架构和方法,也有很多关于高效Transformer的工作被提出。但是,不管是标准的ViT还是高效的ViT,虽然其中的Self Attention相对于嵌入维度具有线性复杂度(不包括线性投影),但相对于Token数量却具有二次复杂度。而Token的数量通常又与图像分辨率呈线性相关。因此,更高的图像分辨率将会带来复杂度和内存的二次增长。

对于ViT的应用来说,这是一个很严峻的问题,因为过高的复杂度和计算量会影响模型应用于下游的视觉任务,如目标检测和语义分割,因为这些任务中图像分辨率通常比分类大得多。

另一个问题是,卷积的性能大多受益于归纳偏差,如局部性平移等方差二维邻域结构,而 dot-product Self Attention是一个全局的操作。虽然Vision Transformer中的MLP层具有具有局部性平移不变性,但其余的归纳偏差必须通过大量数据或炼丹技术和增强来弥补。

因此,有研究便采用Local attention modules来减轻这个问题。Swin-Transformer是第一个基于Local attention的分层Vision TransformerSwin-Transformer层次结构设计和Shifted-Window Self Attention使其可以比较容易地应用到下游任务,同时也通过注入的额外偏差提高了性能。HaloNet探索了另一种Local Attention Block,并发现将Local Attention Block卷积结合起来可以获得最佳性能,因为该组合操作在内存使用平移不变性之间进行了最佳权衡。

基于以上描述,作者在本文中提出Neighborhood Attention(NA),并在此基础上构建Neighborhood Attention Transformer(NAT),在跨视觉任务上实现了具有竞争性的结果。

NA是dot-product Self Attention的一种局部化,将每个query token的感受野限制在key-value pair中对应token周围的一个固定大小的邻域内。较小的感受野带来更多的局部信息,而较大的感受野带来更多的全局信息。这种设计使感受野能够很好的控制平移不变性平移等方差的平衡。

NA是受到卷积的局部性的启发,以及它们如何产生更多有利于视觉任务的局部性归纳偏差。它不同于将Self Attention应用于Local Windows(Swin),可以将其视为与Content-Dependant Kernel的卷积。

2主要贡献

  1. Neighborhood Attention(NA):一种简单、灵活的视觉注意力机制,它将每一个Token的感受野定位到Token的邻域。并将该模块的复杂性和内存使用量与Self AttentionWindow Self Attention和卷积进行了比较。

  2. 构建了Neighborhood Attention Transformer(NAT),一种由Neighborhood Attention组成的高效、准确、可扩展的新型分层Transformer。每一层之后都进行下采样操作,将空间大小减少一半。类似的设计可以在许多最近的基于注意力的模型中看到,如Swin和Focal Transformer。与那些模型不同,NAT利用小内核重叠卷积来嵌入和下采样,而不是非重叠卷积。与Swin等现有技术相比,NAT还引入了一组更有效的体系结构配置。

  3. 展示了NAT在图像分类和下游视觉任务(包括目标检测和语义分割)中的有效性。作者观察到NAT的性能不仅优于Swin Transformer,还优于ConvNeXt。NAT-Tiny模型在ImageNet上仅用4.3 GFLOPs和28M参数就能达到83.2%的top-1精度,在MS-COCO上达到51.4%的Box mAP,在ADE20k上达到48.4%的多尺度mIoU,为这种简单、小规模的Transformer模型创造了水平。

3本文方法

Self Attention相比,Neighborhood Attention不仅减少了计算成本,而且引入了类似于卷积的局部归纳偏差。该操作适用于邻域大小L,当每个像素最小时,它只关注自身周围的1个像素邻域(创建一个3×3方形窗口)。

作者还表明,当邻域大小达到最大值(即输入的大小)时,Neighborhood Attention等于Self Attention。因此,如果邻域大小超过或匹配feature map的大小,在相同的输入下,Neighborhood AttentionSelf Attention的输出是相等的。

此外,NAT利用了一个多级分层设计,类似于Swin-Transformer,这意味着特征映射在级别之间被向下采样,而不是一次性全部采样。然而,与Swin-Transformer不同的是,NAT使用重叠卷积来向下采样特征映射,而不是不重叠的映射。这略微增加了计算量和参数,作者也通过提出计算成本较低的配置来弥补这一点。

3.1 Neighborhood Attention

Neighborhood Attention主要是受卷积如何引入邻域偏差和局部性的启发。Neighborhood Attention的目的是允许特征图中的每个像素只关注其相邻的像素。由于邻域依赖于size,因此Neighborhood Attention机制也是如此。

表示 处的一个像素的邻域,它是最接近 的像素的一个固定长度的索引集。对于大小为 。因此,在单个像素上的Neighborhood Attention可以定义如下:

其中,其中Q、K、V是X的线性投影, 为相对位置偏差,根据相对位置将其添加到每个注意力权重中。这个操作可以进一步扩展到所有像素 ,从而形成一种局部注意力的形式。

然而,如果 函数将每个像素映射到所有像素,这将等同于Self Attention(带有额外的位置偏差)。这是因为当邻域边界超过输入大小时, 将包括所有可能的像素。结果, ,通过去除偏置项,推导出Self Attention的表达形式:

Neighborhood Attention在计算上是很廉价的。它的复杂性相对于分辨率是线性的,不像Self Attention是二次的。此外,其复杂度也与邻域大小呈线性关系。 函数将一个像素映射到一组相邻的像素,可以很容易地通过Raster-Scan Sliding Window操作产生,原理类似于卷积。

图2

每个像素被简单地映射到一组相邻的像素和自身。图2展示了该操作的示例。对特征图中的每个像素重复此操作。对于不能居中的角像素,扩展邻域以保持感受野的大小。这是一个关键的设计选择,它允许NA随着邻域大小向特征图分辨率增长而一般化到Self Attention

图6

扩展邻域是通过简单持续选择L2中最接近原始邻域的像素来实现的。例如,对于L=3,每个query将以围绕它的9个key-value像素结束(query位于中心的3×3网格)。

对于角像素,邻域是另一个3×3网格,但query没有定位在中心。图6展示了这个想法的说明。

通过上表可以看出,Neighborhood Attention的复杂度和内存消耗和Swin相同。

3.2 Neighborhood Attention Transformer

NAT通过使用2个连续的3×3卷积(stride=2)来嵌入输入,进而产生输入空间大小1/4的输入。这类似于使用patch和4×4 patch的嵌入层,但它使用的是重叠卷积而不是非重叠卷积

另一方面,使用重叠卷积会增加成本,而2次卷积会引入更多的参数。然而,作者通过重新配置模型来处理这个问题,这将产生更好的权衡。

NAT由4个level组成,每个level后面都链接一个下采样器(最后一个除外)。下采样器将空间大小减少了为原来的一半,而通道数量增加了一倍。这里下采样使用的是3×3卷积(stride=2)。由于tokenizer的降采样倍数为4倍,因此模型生成了大小为H/4×W/4、H/8×W/8、H/16×W/16和H/32×W/32的特征图.使得NAT可以更容易地将预训练过的模型迁移到下游任务中。

图4

此外,在训练较大的模型时,使用LayerScale来提高稳定性。图4展示了整体网络架构的说明。在下表中总结了不同的NAT变体及其关键差异。

4实验结果

4.1 分类实验

4.2 目标检测

4.3 语义分割

4.4 可视化分析


上面论文PDF和代码下载


后台回复:NAT,即可下载上述论文和代码


后台回复:CVPR2021,即可下载CVPR 2021论文和代码开源的论文合集

后台回复:ICCV2021,即可下载ICCV 2021论文和代码开源的论文合集

后台回复:Transformer综述,即可下载最新的3篇Transformer综述PDF


目标检测和Transformer交流群成立


扫描下方二维码,或者添加微信:CVer6666,即可添加CVer小助手微信,便可申请加入CVer-Transformer或者目标检测 微信交流群。另外其他垂直方向已涵盖:目标检测、图像分割、目标跟踪、人脸检测&识别、OCR、姿态估计、超分辨率、SLAM、医疗影像、Re-ID、GAN、NAS、深度估计、自动驾驶、强化学习、车道线检测、模型剪枝&压缩、去噪、去雾、去雨、风格迁移、遥感图像、行为识别、视频理解、图像融合、图像检索、论文投稿&交流、PyTorch、TensorFlow和Transformer等。


一定要备注:研究方向+地点+学校/公司+昵称(如Transformer或者目标检测+上海+上交+卡卡),根据格式备注,可更快被通过且邀请进群


▲扫码或加微信: CVer6666,进交流群


CVer学术交流群(知识星球)来了!想要了解最新最快最好的CV/DL/ML论文速递、优质开源项目、学习教程和实战训练等资料,欢迎扫描下方二维码,加入CVer学术交流群,已汇集数千人!


扫码进群

▲点击上方卡片,关注CVer公众号

整理不易,请点赞和在看

登录查看更多
0

相关内容

Attention机制最早是在视觉图像领域提出来的,但是真正火起来应该算是google mind团队的这篇论文《Recurrent Models of Visual Attention》[14],他们在RNN模型上使用了attention机制来进行图像分类。随后,Bahdanau等人在论文《Neural Machine Translation by Jointly Learning to Align and Translate》 [1]中,使用类似attention的机制在机器翻译任务上将翻译和对齐同时进行,他们的工作算是是第一个提出attention机制应用到NLP领域中。接着类似的基于attention机制的RNN模型扩展开始应用到各种NLP任务中。最近,如何在CNN中使用attention机制也成为了大家的研究热点。下图表示了attention研究进展的大概趋势。
CVPR2022 | Sparse Transformer刷新点云目标检测的SOTA
专知会员服务
23+阅读 · 2022年3月9日
专知会员服务
29+阅读 · 2021年7月30日
【CVPR2021】用Transformers无监督预训练进行目标检测
专知会员服务
55+阅读 · 2021年3月3日
当可变形注意力机制引入Vision Transformer
极市平台
1+阅读 · 2022年1月23日
Pale Transformer:新视觉ViT主干
CVer
0+阅读 · 2022年1月2日
国家自然科学基金
0+阅读 · 2013年12月31日
国家自然科学基金
0+阅读 · 2013年12月31日
国家自然科学基金
0+阅读 · 2012年12月31日
国家自然科学基金
0+阅读 · 2012年12月31日
国家自然科学基金
0+阅读 · 2012年12月31日
国家自然科学基金
0+阅读 · 2012年12月31日
国家自然科学基金
2+阅读 · 2011年12月31日
Arxiv
17+阅读 · 2022年2月23日
Arxiv
32+阅读 · 2022年2月15日
Arxiv
102+阅读 · 2021年6月8日
Arxiv
17+阅读 · 2021年3月29日
Arxiv
17+阅读 · 2021年1月21日
Arxiv
19+阅读 · 2020年12月23日
VIP会员
相关基金
国家自然科学基金
0+阅读 · 2013年12月31日
国家自然科学基金
0+阅读 · 2013年12月31日
国家自然科学基金
0+阅读 · 2012年12月31日
国家自然科学基金
0+阅读 · 2012年12月31日
国家自然科学基金
0+阅读 · 2012年12月31日
国家自然科学基金
0+阅读 · 2012年12月31日
国家自然科学基金
2+阅读 · 2011年12月31日
相关论文
Arxiv
17+阅读 · 2022年2月23日
Arxiv
32+阅读 · 2022年2月15日
Arxiv
102+阅读 · 2021年6月8日
Arxiv
17+阅读 · 2021年3月29日
Arxiv
17+阅读 · 2021年1月21日
Arxiv
19+阅读 · 2020年12月23日
Top
微信扫码咨询专知VIP会员