赞
踩
1. 为什么要做这个研究?
将Transformer的高性能迁移到视觉领域,解决CNN中对于全局信息特征提取的不足。将注意力计算限制在窗口中,引入CNN卷积操作的局部性,节省计算量。
2. 实验方法是什么样的?
Swin Transformer提出hierarchical Transformer,来构建不同尺度的特征金字塔,每一层使用移位窗口将self-attention计算限制在不重叠的局部窗口内,同时通过跨窗口连接增加不同窗口之间的信息交互。
3. 得到了什么结果?
在图像分类、分割任务上都取得了比较好的结果。
Swin Transformer可以作为计算机视觉的通用主干。将Transformer从自然语言转到视觉的挑战主要来自两个领域之间的差异,例如视觉实体的比例差异很大,图像中的像素与文本中的文字相比分辨率较高。因此,作者提出了一种hierarchical Transformer,其表示是用移位窗口计算的。移位窗口方案通过将self-attention计算限制在不重叠的局部窗口内,同时还允许跨窗口连接,带来了更高的效率。这种分层体系结构可以在不同尺度上建模,并且在图像大小方面的计算复杂度为 O ( N ) O(N) O(N)。Swin Transformer能够适应广泛的视觉任务,包括图像分类和密集预测任务,如目标检测和语义分割。代码和模型在 https://github.com/microsoft/Swin-Transformer。
视觉领域长期流行CNN,而自然语言处理(NLP)流行的架构则是Transformer,专为序列建模和转换任务而设计,关注数据中的长期依赖关系。本文试图扩展Transformer的适用性,使其可以作为计算机视觉的通用主干。
作者观察到将Transformer在语言领域的高性能转移到视觉领域的困难可以用两种模式之间的差异来解释。
针对上述两个问题,作者提出了一种包含滑窗操作、层级设计的Swin Transformer。它构建了分层特征映射,并且计算复杂度与图像大小成线性关系。如图1(a)所示,Swin Transformer从小块(用灰色勾勒)开始,逐渐合并更深的Transformer层中的相邻patch来构建分层表示。有了这些分层特征图,Swin Transformer模型可以方便地利用先进技术进行密集预测,例如特征金字塔网络(FPN) 或U-Net。线性计算复杂度是通过在分割图像的非重叠窗口(用红色标出)内局部计算self-attention来实现的。每个窗口中的patch数量是固定的,因此复杂度与图像大小成线性关系。这些优点使Swin Transformer适合作为各种视觉任务的通用主干,与以前基于Transformer的架构形成对比,后者产生单一分辨率的特征图,并且具有二次复杂度。
Swin Transformer的一个关键设计元素在于其连续的self-attention层之间的移动窗口分区,如图2所示。移动的窗口连接了前一层的窗口,提供了它们之间的连接,显著增强了建模能力(见表4)。这种策略在实际延迟方面也很有效:一个窗口内的所有 query patches共享相同的key集,这有利于硬件中的内存访问。
2.1 CNN and variants. 略
2.2 Self-attention based backbone architectures. 略
2.3 Self-attention/Transformers to complement CNNs. 略
2.4 Transformer based vision backbones. ViT。
图3给出了Swin Transformer架构的概述,展示了小型版本(SwinT)。首先将输入的RGB图像分割成不重叠的patches(类似ViT)。每个patch都被视作“token”,其特征为所有像素RGB值的串联。在这些patches上应用了经过修改的Swin Transformer blocks。为了产生分层表示,随着网络的深入,通过patch合并层来减少patch的数量。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。