当前位置:   article > 正文

Swin Transformer——披着CNN外皮的transformer,解决多尺度序列长问题

Swin Transformer——披着CNN外皮的transformer,解决多尺度序列长问题

image.png

题目:Swin Transformer: Hierarchical Vision Transformer using Shifted Windows

Swin Transformer: Hierarchical Vision Transformer using Shifted Windows》作为2021 ICCV最佳论文,屠榜了各大CV任务,性能优于DeiT、ViT和EfficientNet等主干网络,已经替代经典的CNN架构,成为了计算机视觉领域通用的backbone

1.概述

Transformer应用到图像领域主要有两大挑战:

  • 视觉实体变化大,在不同场景下视觉Transformer性能未必很好——多尺度问题
  • 图像分辨率高,像素点多,Transformer基于全局自注意力的计算导致计算量较大——tokens序列长度问题

针对上述两个问题,我们提出了一种包含Shifted Window操作,具有层级设计Swin Transformer
:::warning
Shifted Window操作包括不重叠的local window,和重叠的cross-window connection不重叠的local window将注意力计算限制在一个窗口中,一方面能引入CNN卷积操作的局部性,另一方面能节省计算量重叠的cross-window connection是在计算局部窗口的自注意后,对窗口进行移动,再重新划分,使不同窗口的像素产生联系(为了避免非正常的联系,引入了掩码操作)。
具有层级设计:引入卷积的思想,窗口内的所有query patch共享相同的key set,相对于VIT,降低了计算的复杂度(与图片大小成平方->线性);类比于pooling操作,本文设计了patch merging操作,解决了多尺度问题。
:::
image.png

2.主要内容

主体架构

image.png

shifted window:

image.png

Swin transformer block

image.png

patch merging:间隔采样+降维操作

image.png

shifted window后的mask细节:

image.png
平移后会带来一个问题:patch大小不一致且数量与上一个窗口(4个)不同,如上图第一张。

  • cyclic shift:将A,B,C,D区域进行平移,再划分为4块,解决大小、数量不一致问题。
  • masked MSA:将不需要的自注意力设置为0,通过矩阵计算进行掩码。
计算复杂度的衡量

image.png

消融实验:shifted window和相对位置编码

image.png

3.结论

**Swin Transformer 的这些特性使其与广泛的视觉任务兼容,**包括图像分类(ImageNet-1K 的 87.3 top-1 Acc)和 密集预测任务,例如 目标检测(COCO test dev 的 58.7 box AP 和 51.1 mask AP)和语义分割(ADE20K val 的 53.5 mIoU)。它的性能在 COCO 上以 +2.7 box AP 和 +2.6 mask AP 以及在 ADE20K 上 +3.2 mIoU 的大幅度超越了 SOTA 技术,证明了基于 Transformer 的模型作为视觉主干的潜力。分层设计和移位窗口方法也证明了其对全 MLP 架构是有益的。

4.思考

  • swin transformer可以说,是披着CNN外皮的transformer,思想来源于CNN,但架构是transformer。
  • 可以作为一种通用的backbone。
声明:本文内容由网友自发贡献,转载请注明出处:【wpsshop】
推荐阅读
相关标签
  

闽ICP备14008679号