We present Neighborhood Attention (NA), the first efficient and scalable sliding-window attention mechanism for vision. NA is a pixel-wise operation, localizing self attention (SA) to the nearest neighboring pixels, and therefore enjoys a linear time and space complexity compared to the quadratic complexity of SA. The sliding-window pattern allows NA's receptive field to grow without needing extra pixel shifts, and preserves translational equivariance, unlike Swin Transformer's Window Self Attention (WSA). We develop NATTEN (Neighborhood Attention Extension), a Python package with efficient C++ and CUDA kernels, which allows NA to run up to 40% faster than Swin's WSA while using up to 25% less memory. We further present Neighborhood Attention Transformer (NAT), a new hierarchical transformer design based on NA that boosts image classification and downstream vision performance. Experimental results on NAT are competitive; NAT-Tiny reaches 83.2% top-1 accuracy on ImageNet, 51.4% mAP on MS-COCO and 48.4% mIoU on ADE20K, which is 1.9% ImageNet accuracy, 1.0% COCO mAP, and 2.6% ADE20K mIoU improvement over a Swin model with similar size. To support more research based on sliding-window attention, we open source our project and release our checkpoints at: https://github.com/SHI-Labs/Neighborhood-Attention-Transformer.
翻译:我们提出邻里注意(NA ), 这是第一个高效且可缩放的视觉滑窗口关注机制 。 NA 是一种像素操作, 将自我关注( SA) 定位到最近的相邻像素上, 因此与SA 的二次复杂度相比, 具有线性的时间和空间复杂性。 滑动窗口模式允许NA 的接收场在不需要额外像素转移的情况下成长, 并保存翻译上的变异性, 不像 Swin 变换器的窗口自我关注( WSA ) 。 我们开发了 NATTEN ( 重度关注扩展), 一种具有高效 C++ 和 CUDA 内核的 Python 软件包, 使NA 运行速度比 Swin的 WSA 速度快40 % 。 我们进一步展示了 Nighbborh 关注变异( NAT) 的一个新的等级变异性设计, 提升了图像分类和下游视效果。 NAT 的实验结果在图像网络上达到83.2 上达到最高1 的精确度 20, CO 和 CUA 类似的 Sliver- KA- ASlodeal- k MIO 的 m4, 在 MIO 上, 在 MIO/ mA/ mADADO 上, 在 MI 上, 在 MAB 上, 在 S- K 上, 在 SMAB 上, 在 MAB 4 MAB MAB 4 上, 在 SA 上, 在 SA 4 上, 在 SA SA 上, 在 SA 上, 在 MAB 上, 在 上, 在 SMAB MAB 上, 在 上, 在 4 上, 在 上, 在 上, 在 上, 在 4 4 上, 在 上, 在 上, 在 上, 在 MAB 上, 在 MAB MAB 4 上, 在 上, 在 4 上, 在 SA 上, 在 上, 在 MA 4 4 4 4 4 4 4 4 4 4 SA 4 SA SA SA SA MA