Facebook新作NAT:具有局部归纳偏置的Transformer
-
Facebook新作NAT:具有局部归纳偏置的Transformer
NAT将每个query的感受野设定为其一个邻域区域,通过叠加操作和分层结构从而实现感受野逐步增大,并具有局部归纳偏置性能。
论文标题:Neighborhood Attention Transformer
论文地址:https://arxiv.org/pdf/2204.07143.pdf
代码地址:https://github.com/SHI-Labs/Neighborhood-Attention-Transformer
摘要
- 引出问题: ViT的计算量是具有二次复杂度的,过高的复杂度和计算量大大影响下游视觉任务。另外,ViT中的自注意力操作是一个全局操作,其归纳偏置能力较差,必须通过大量数据来弥补。
- 论文提出了Neighborhood Attention(NA),NA是一个局部化的自注意力机制,将query tokens限制一个邻近的区域内,很好的控制了平移不变性和平移等方差。
- 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。
算法
整体模型结构如上图所示。
- 对输入图像进行两次重叠卷积操作来生成分辨率大小1/4的输入嵌入。
- 通过四个层次的不同分辨率level自注意力操作,每层最后进行下采样操作(3×3卷积),减小分辨率,增加通道数。
由上可知,论文中最突出的创新点是每层中的NAT模块。接下来进行介绍。
NAT block
如图4右图所示,NAT模块与多头自注意力模块很相似,主要区别是使用了NA模块来代替了全局自注意力操作。
NA模块主要受卷积操作中的局部性启发。NA模块中,每个query只查询其邻域区域的key和value(如上图所示),这与卷积操作很相似。当邻域区域为整张特征图时,NA模块就等同于全局自注意力模块了。公式表示如下:
其中,ρ(i,j)\rho(i, j)ρ(i,j)表示点(i,j)(i, j)(i,j)的一个邻域,可以通过Raster-Scan Sliding Window操作产生,这与卷积操作类似;Bi,jB_{i, j}Bi,j表示相对位置偏差。
NA模块的计算复杂度相对于图像分辨率是呈线性关系。
另外,与卷积操作有所不同的是,但滑动窗口操作到图像边缘时,NA模块没有使用padding操作,具体操作如下图所示:
这种操作能够使邻域大小扩展到全局时,与全局自注意力操作保持一致。
实验
分类实验
目标检测和实例分割
语义分割
消融实验
可视化分析
-
Alice简单介绍下本篇原创分享人咚咚桑,哈工大在读博士一枚,研究大方向为计算机视觉,大家有任何学习疑问,请尽情扔到留言区,咚咚桑会不定时出没,为大家答疑哈!
近期咚咚桑埋头啃读CVPR 2022系列论文,已经在咱们社区发布了多篇笔记干货,这里贴个地址,方便大家回看:
商汤-上交CVPR2022新作 | U2PL:基于伪标签的半监督语义分割算法
CVPR2022 | Mask Transfiner:基于Transformer的高精度实例分割
北大CVPR 2022 Oral新作 | Video K-Net:视频全景分割模型
FAIR CVPR2022新作 | DVT:用于视频的可变形Transformer
百度-中科院CVPR 2022 Oral新作 | MixFormer:窗口特征和通道特征融合
NUS和字节跳动CVPR 2022 Oral新作 | SSA:基于多尺度特征提取的全新Transformer主干模型
更多技术文章,可进入咚咚桑的个人主页围观哦,也可关注私聊,线上交流经验心得~