【模型架构】Swin Transformer: Hierarchical Vision Transformer using Shifted Windows

论文介绍了SwinTransformer,一种利用移动窗口和PatchMerging解决视觉Transformer在多尺度和高分辨率问题的方法。实验结果显示,它在物体检测和语义分割任务上优于传统CNN,预示着Transformer可能成为视觉领域的主流模型。
摘要由CSDN通过智能技术生成

论文链接: Swin Transformer: Hierarchical Vision Transformer using Shifted Windows
代码链接: https://github.com/microsoft/Swin-Transformer
作者: Ze Liu,Yutong Lin,Yue Cao,Han Hu,Yixuan Wei,Zheng Zhang,Stephen Lin,Baining Guo
第一单位: Microsoft Research Asia

一、研究背景

Motivation:
ViT的提出证明了在NLP领域中“大杀四方”的Transformer结构同样可以应用于视觉领域,但是ViT的工作仅在分类任务上表现较好,真正应用在下游任务上还存在2大挑战:
(1)多尺度问题——图像中物体大大小小、不同语义目标有不同尺寸;
(2)图像分辨率问题——分辨率过大的图像转换序列计算复杂度非常大。
文章的贡献:
针对问题一,提出移动窗口学习特征,降低了计算复杂度,同时shift操作让窗口之间有了交互,变相达到全局建模能力。
针对问题二,借鉴CNN的池化操作设计了Patch Merging操作,把相邻的小patch合并成一个大的patch,扩大了模型的感受野。
在这里插入图片描述基于滑动窗口、具有层级设计的Transfomer

二、整体架构

设计思路:考虑设计一个像CNN的Transformer

整体模型采用层次化设计,共有4个Stage。除了第一个stage外,每个stage都会先通过 Patch Merging 层缩小特征图的分辨率,达到多尺度下采样的目标,像CNN一样逐层扩大感受野。
每个Swin计算Block实际由2个Transformer模块组成,先进行一个基于窗口的多头自注意力,再进行一个基于移动窗口的多头自注意力,达到窗口和窗口之间的相互通信。
在这里插入图片描述可调整的超参数:c向量维度+stage的block number

三、核心方法

3.1 移动窗口

ViT处理的特征都是固定16倍下采样得到的单一尺寸,是低分辨率的,并不适合下游的密集预测任务。同时,它的自注意力始终在最大的窗口上进行,复杂度和图像尺寸平方倍增长。
在小窗口计算自注意力,可以解决计算复杂度高的问题,由于小窗口是固定大小的,所以计算复杂度和图片大小仅呈线性增长关系 —— 这里借鉴了CNN的先验知识,Locality Inductive bias,即局部归纳偏置。
在这里插入图片描述移动窗口操作

与图示不同,默认上,Swin-T中1个窗口=7*7=49个patch。每个patch是基本的元素单元,而每个红色框是一个计算单元,也就是计算窗口。
所谓的shift操作就是往右下方方向整体移动2个patch,新的特征图再划分成四宫格,就有左图的9个窗口了。这样的好处是各个窗口有重叠部分,通过自注意力计算可以信息交互,让每个窗口的patch注意到其他窗口的信息。

3.2 Patch Merging

在这里插入图片描述CNN中的池化操作,本质是对数据的降维,也扩大了卷积的感受野

在这里插入图片描述
Patch Merging操作

计算方法:
假设4*4的图像,取出间隔1个的像素点(因为要下采样2倍),然后concat、view、LayerNorm操作,再通过Linear降维,最后reshape后可以得到一个长宽减半,而通道数增加2倍的特征图。
实现结果:
特征图的size减少2倍,而channel增加2倍,达到了多尺度下采样的作用。

四、实验细节

4.1 提高移动窗口的计算效率

在这里插入图片描述
使用masking掩码方法

如图所示,作者发现,在窗口移动后,会由4个窗口变成9个窗口,计算复杂度提升2倍多。
因此考虑移位填充,重新变成四宫格。但是又引入了一个新的问题,移动后改变了图像的语义信息,计算自注意力不合理。
因此设计掩码模板, 让自注意力后的权重矩阵与模板相加,导致原本不相关的注意力权重变小,这样经过softmax后就变成0了,直观上就像被“遮盖”掉了。完成后注意还需要循环移位来还原。
在这里插入图片描述
设计掩码模板

4.2 不用绝对位置编码,而是用相对位置编码

添加图片注释,不超过 140 字(可选)实验发现用相对位置编码会更好
在这里插入图片描述
在这里插入图片描述
Step1: 计算相对位置;
Step2: 对相对位置进行编码;

优势: 1. 可处理变长输入序列; 2. 对平移不变性的模式识别能力较强;

五、实验结果

在这里插入图片描述
分类任务 ImageNet-1K
在这里插入图片描述
检测任务 COCO数据集
在这里插入图片描述不同方法的最优情况比较

在这里插入图片描述
分割任务 ADE20K

分析:
在COCO数据集上,检测效果相比当时最优的模型AP提升了2.7,分割AP提升了2.6个点;
在ADE20K数据集上高出当时最优的模型mIoU指标3.2个点。

六、实验总结

这一工作通过证明Transformer可以在重要的物体检测(区域级别识别任务)和语义分割(像素级别识别任务)评测集上相比此前所有的卷积网络方法取得显著提升,来让学界和业界意识到Transformer模型将会取代卷积网络,成为视觉骨干网络的新主流。

  • 24
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值