本报告旨在介绍一篇题为”Swin Transformer: Hierarchical Vision Transformer Using Shifted Windows”的学术论文。该文发表于2021年的IEEE/CVF International Conference on Computer Vision (ICCV)。作者团队主要来自Microsoft Research Asia(MSRA),包括Ze Liu, Yutong Lin, Yue Cao, Han Hu, Yixuan Wei, Zheng Zhang, Stephen Lin, Baining Guo。部分作者来自中国科学技术大学、西安交通大学和清华大学,并在MSRA实习。通讯联系人为Han Hu。
学术背景与研究动机
本研究的核心科学领域是计算机视觉,特别是视觉任务的骨干网络架构设计。长期以来,卷积神经网络因其优异的性能而主导了该领域。然而,在自然语言处理领域取得巨大成功的Transformer架构,因其强大的长距离依赖建模能力,吸引了研究者将其引入视觉领域。尽管ViT等早期工作展示了Transformer在图像分类上的潜力,但其直接应用于视觉任务仍面临两大核心挑战: 1. 尺度变化:视觉实体(如物体)的尺度变化范围远大于自然语言中的词语(Token),而标准的Transformer处理的是固定尺度的Token。 2. 分辨率过高:图像像素分辨率极高,尤其是在密集预测任务(如物体检测、语义分割)中,需要处理高分辨率特征图。传统的全局自注意力计算复杂度与图像尺寸的平方成正比,导致在高分辨率输入下计算开销巨大。
因此,本研究的目标是开发一个能够作为计算机视觉通用骨干网络的Transformer架构,使其像CNN一样,能够灵活处理各种视觉任务,同时克服上述挑战。
详细研究流程与方法
本研究提出了一种名为Swin Transformer(Shifted windows Transformer)的新型视觉Transformer架构。其核心创新在于层级式结构和移动窗口自注意力机制。整个研究流程主要围绕该架构的设计、实现与验证展开。
1. Swin Transformer 架构设计 * 层级式特征构建:不同于ViT产生单一低分辨率特征图,Swin Transformer模仿CNN的设计思想,构建了层次化的特征图。网络从小的图像块(Patch,如4x4像素)开始,通过“Patch Merging”层在深层逐渐合并相邻的小块,从而形成类似CNN的金字塔特征图(例如H/4×W/4, H/8×W/8, H/16×W/16, H/32×W/32)。这使得Swin Transformer能够自然地与现有的特征金字塔网络、U-Net等用于密集预测的先进技术兼容。 * 移动窗口自注意力(Shifted Window based Self-Attention):为解决全局自注意力的二次复杂度问题,Swin Transformer将自注意力计算限制在非重叠的局部窗口内。每个窗口包含固定数量的图像块(如MxM个,默认为7x7),这使得计算复杂度与图像尺寸呈线性关系。然而,仅在固定窗口内计算自注意力会阻碍窗口间的信息交互。为此,研究者提出了移动窗口策略:在连续的Transformer块中,交替使用常规窗口划分和沿对角线方向移动(⌊M/2⌋, ⌊M/2⌋)个像素的窗口划分(如图2所示)。这种策略在保持非重叠窗口计算效率的同时,引入了跨窗口的连接,显著增强了模型的建模能力。 * 高效批处理计算:移动窗口划分会导致窗口数量增加且部分窗口尺寸变小。为实现高效计算,论文提出了一种循环移位(cyclic shift) 结合掩码(masking) 的批处理计算方法(如图4所示),确保批处理的窗口数量与常规划分一致,从而在实际硬件上实现了低延迟。 * 相对位置偏置(Relative Position Bias):在计算自注意力时,Swin Transformer为每个注意力头引入了一个可学习的相对位置偏置项(公式4),这比使用绝对位置嵌入或完全不用位置编码取得了更好的性能。 * 模型变体:研究者定义了四种不同规模的模型变体(Swin-T, Swin-S, Swin-B, Swin-L),其模型大小和计算复杂度分别约为ResNet-50(DeiT-S)、ResNet-101、ViT-B/DeiT-B和2倍于ViT-B的规模,便于与现有骨干网络进行公平比较。
2. 实验验证流程 * 研究任务与数据集:研究在三个核心视觉任务上系统评估了Swin Transformer的性能: 1. 图像分类:使用ImageNet-1K数据集(128万训练图像,1000类),并在更大规模的ImageNet-22K(1420万图像,2.2万类)上进行预训练后微调。 2. 物体检测与实例分割:使用COCO 2017数据集,在多种先进检测框架(如Cascade Mask R-CNN, ATSS, RepPoints v2, Sparse R-CNN, HTC++)中替换骨干网络进行测试。 3. 语义分割:使用ADE20K数据集(150个语义类别,2.5万图像),采用UPerNet框架进行评估。 * 对比基准:主要与两类骨干网络进行对比:一是基于CNN的先进模型,如ResNe(X)t、RegNet;二是基于Transformer的模型,特别是ViT和DeiT。对于ViT/DeiT,由于它们缺乏层级特征,研究者遵循之前的工作为其添加反卷积层以构建特征金字塔,以确保对比的公平性。 * 消融实验:为验证核心设计元素的有效性,研究者进行了系统的消融研究,重点评估了移动窗口策略、不同位置编码方式以及不同自注意力计算方法对三个任务性能的影响。 * 效率评估:不仅报告了精度指标(如Top-1准确率、AP、mIoU),还测量了模型的理论计算量(FLOPs)和在V100 GPU上的实际吞吐量(FPS),以评估其速度-精度权衡。
主要研究结果
1. 图像分类结果: * 在常规ImageNet-1K训练设置下,Swin Transformer在相似复杂度下显著超越了DeiT。例如,Swin-T达到81.3%的Top-1准确率,超过DeiT-S(79.8%)1.5个百分点。Swin-B在224x224和384x384输入下分别达到83.5%和84.5%,同样优于DeiT-B。 * 在ImageNet-22K预训练后微调至ImageNet-1K的设置下,Swin-B和Swin-L分别取得了86.4%和87.3% 的Top-1准确率。其中,Swin-B以更低的计算量(47.0G vs 55.4G FLOPs)和相当的推理速度,取得了比ViT-B/16(84.0%)高2.4个百分点的优异性能。
2. 物体检测与实例分割结果: * 在多个检测框架下,Swin Transformer都带来了显著的性能提升。例如,在Cascade Mask R-CNN框架下,Swin-T比ResNet-50在COCO验证集上提升了+4.2 Box AP和+3.6 Mask AP。 * 与具有相似模型大小和计算复杂度的ResNeXt101-64x4d相比,Swin-B带来了+3.6 Box AP和+3.3 Mask AP的显著增益。 * 与通过反卷积构建层级特征的DeiT-S相比,Swin-T在模型参数量相近(86M vs 80M)的情况下,取得了+2.5 Box AP和+2.3 Mask AP的更高精度,并且推理速度更快(15.3 FPS vs 10.4 FPS)。 * 在采用改进的HTC++框架并利用ImageNet-22K预训练模型进行多尺度测试后,Swin-L在COCO test-dev数据集上取得了58.7 Box AP 和 51.1 Mask AP 的卓越性能,分别超越当时的最佳方法+2.7 Box AP(Copy-Paste)和+2.6 Mask AP(Detectors),确立了新的技术标杆。
3. 语义分割结果: * 在ADE20K数据集上,Swin-S比DeiT-S高出+5.3 mIoU,比ResNet-101高出+4.4 mIoU。 * 使用ImageNet-22K预训练的Swin-L模型在ADE20K验证集上取得了53.5 mIoU,超越了此前基于Transformer的最佳模型SETR(50.3 mIoU)达+3.2 mIoU,再次刷新了纪录。
4. 消融实验结果: * 移动窗口:使用移动窗口的Swin-T相比不使用移动窗口(仅用常规窗口划分)的版本,在ImageNet-1K分类、COCO检测和ADE20K分割上分别带来了+1.1% Top-1 Acc、+2.8 Box AP/+2.2 Mask AP和+2.8 mIoU的提升,验证了其建立跨窗口连接的有效性。 * 相对位置偏置:相对位置偏置比绝对位置嵌入或不使用位置编码在所有任务上表现更优。值得注意的是,加入绝对位置嵌入会略微损害密集预测任务的性能。 * 效率对比:论文提出的循环移位实现方法比朴素的填充(padding)方法在Swin-T上带来了13%的速度提升。更重要的是,基于移动窗口的自注意力计算在硬件上比基于滑动窗口的自注意力方法(无论是朴素实现还是核函数实现)快数倍至数十倍,同时保持了相当的建模能力。
结论与研究价值
本研究成功提出了Swin Transformer,一个兼具层级结构和线性计算复杂度的通用视觉骨干网络。它有效解决了Transformer适应视觉任务时面临的尺度变化和高分辨率计算瓶颈。通过在图像分类、物体检测、实例分割和语义分割等多个核心视觉任务上取得全面领先的性能,Swin Transformer有力地证明了基于Transformer的模型可以作为强大的视觉骨干网络,其性能甚至超越了经过长时间优化和架构搜索的CNN模型。
该研究的价值在于: 1. 科学价值:为计算机视觉领域提供了一个新的、强大的基础模型范式,推动了视觉与自然语言处理在模型架构上的统一趋势。作者相信这种统一的架构有助于促进视觉与文本信号的联合建模以及跨领域知识的深度共享。 2. 应用价值:Swin Transformer可直接作为骨干网络替换现有视觉任务(如图像分类、目标检测、分割)框架中的CNN,带来显著的性能提升,具有广泛的实用前景。 3. 方法论创新:移动窗口自注意力机制不仅效率高,而且被证明对纯MLP架构也有益处,启发了后续研究。
研究亮点与创新
其他有价值内容
论文还提供了详细的架构图、公式推导、训练设置细节(如优化器、学习率策略、数据增强)以及丰富的参考文献,为后续研究者复现和深入理解该工作提供了充分的信息。代码和模型已在GitHub上开源,促进了相关研究的快速发展。