SwinTransformer

Swin Transformer: Hierarchical Vision Transformer using Shifted Windows

一个用了移动窗口的层级式的Vision Transformer

摘要

​ 这篇文章提出了一个新的视觉转换器,叫做Swin转换器,这个转换器能够作为一个通用的计算机视觉的骨干。在使转换器从语言适应到到视觉领域的过程中,挑战来源于两领域的差别。比如,与文本的字相比,视觉物体在规模上大的变化及图像像素的高分辨率。为了解决这些差别,我们提出了一个应用移动窗口计算的层级转换器。这个移动窗口的方法带来了很大的效率通过限制自我关注的计算为一个不重叠的局部窗口并允许跨窗口间的连接。这个层级级转换器能够在不同尺寸上灵活的建模,并且对图像尺寸有线性的计算复杂度。Swin转换器的这些特性使得它在处理大变化的视觉任务包括具有很大的竞争力。它的性能超过了前沿的,展示了基于转换器的模型作为视觉核心的潜力。

论文速读

1.论文试图解决什么问题?

​ 论文试图提出一种新的基于Transformer的视觉骨干网络(几乎所有计算机视觉任务均需要的基本图像特征提取步骤),希望这一骨干网络能真正超越此前主流的卷积神经网络,成为视觉骨干网络的新主流,从而能和自然语言处理(Transformer是该领域主流骨干网络)有统一的建模。

2.这是否是一个新问题?

​ 不是一个新问题。无需卷积,基于Transformer中自注意模块搭建的视觉骨干网络两年前即有研究(以同期的Swin原作者团队做的Local Relation Networks和Transformer原作者团队所做的SASA为相关先驱工作),但是这些工作由于硬件实现不太友好,没有得到主流的关注。最近谷歌的ViT模型,在图像分类上取得了很好的效果,而且运行速度较快,但是不适合于其他密集识别任务。

3.这篇文章要验证一个什么科学假设?

  1. Transformer有可能取代传统的卷积网络,成为计算机视觉的新骨干网络。
  2. 由于图像和文本特点的不同,将层次性、局部性和平移不变性等先验引入Transformer网络结构设计能帮助在视觉任务中取得更好的性能。

4.有哪些相关研究?如何归类?谁是这一课题在领域内值得关注的研究员?

  1. 此前主流的视觉骨干网络是基于卷积的网络,由于其基本性,它们的进展很大程度推动了视觉整体的发展。经典的骨干网络包括:AlexNet, GoogleNet, VGGNet, ResNet, DenseNet等等;
  2. 基于自注意模块(Transformer的基本单元)的视觉骨干网络。先驱的工作包括本文原作者团队做的Local Relation Networks(ICCV19)和Transformer原作者团队所做的SASA (NeurIPS2019);
  3. 将注意力模块应用于各种视觉问题,与卷积形成互补。本文原作者团队做了一系列相关工作,广泛应用于图像分类、物体检测、语义分割等重要的视觉问题。其它较有影响力的工作包括Facebook何恺明团队的NL-Net以及Facebook的DETR检测器;
  4. 基于Transfomer整体网络结构的视觉骨干网络。先驱工作是谷歌的ViT网络,利用海量数据在图像分类上取得了很好的性能。此后Facebook的DeiT在中等规模数据上证明了ViT网络的有效性。

5.论文中提到的解决方案之关键是什么?

​ 解决方案:将层次性、局部性和平移不变性等先验引入Transformer网络结构设计。

image-20220218203802494

image-20220218203809604

​ 核心创新:==移位窗口(shifted window)==设计: 1)自注意的计算在局部的非重叠窗口内进行。这一设计有两方面的好处,一是复杂度从此前的和图像大小的平方关系变成了线性关系,也使得层次化的整体结构设计、局部先验的引入成为可能,二是因为采用非重叠窗口,自注意计算时不同query会共享同样的key集合,从而对硬件友好,更实用。 2)在前后两层的Transformer模块中,非重叠窗口的配置相比前一层做了半个窗口的移位,这样使得上一层中不同窗口的信息进行了交换。 相比于卷积网络以及先驱的自注意骨干网络(Local Relation Net和SASA)中常见的滑动窗(Sliding window)设计,这一新的设计牺牲了部分平移不变性,但是实验发现平移不变性的部分丢失不会降低准确率,甚至以为正则效应效果更好。同时,这一设计对硬件更友好,从而更实用而有希望成为主流。

image-20220218203830323

image-20220218203858348

6.论文中的实验是如何设计的?

​ 在三个最典型的视觉任务:图像分类、检测和分割中,替换以前的骨干网络,考察在相同计算代价和复杂度情况下,性能是否有增益。设计了三个层次的实验:1、系统级和state-of-the-art比较;2、骨干网络级比较。骨干网络是否对于各种主流框架都有用?3、消融实验验证核心设计的有效性。

7.用于定量评估的数据集是什么?代码有没有开源?

​ 三个任务分别采用最主流的评测集ImageNet-1K,COCO和ADE20K。

​ 代码进行了开源, https://github.com/microsoft/Swin-Transformer

8.论文中的实验及结果有没有很好地支持需要验证的科学假设?

​ 论文设计了三个层次的实验来验证有效性:1、系统级和state-of-the-art比较。在COCO物体检测和ADE20K语义分割评测集上,分别比此前最好的方法显著高出2.7个点(mAP)和3.5个点(mIoU);2、骨干网络级比较。主要做了物体检测的实验,在4种主流物体检测器和不同模型大小情况下,只替换骨干网络,比相同复杂度的CNN网络高出3.5-4.5个点。ADE20K语义分割上,相比于此前的骨干网络,也普遍有3-5个点的提升;3、核心设计有效性的验证,包括移位窗口设计,相对位置先验项的重要性,与滑动窗口和其它稀疏自注意算法的比较。分别在三个任务上验证了有效性。

9.这篇论文到底有什么贡献?

  1. 认知贡献。此前谷歌的ViT引起了一些关注,但学界和业界普遍认为Transformer骨干网络还有很远的路要走才能替代卷积网络成为主流。这一工作通过证明Transformer可以在重要的物体检测(区域级别识别任务)和语义分割(像素级别识别任务)评测集上相比此前所有的卷积网络方法取得显著提升,来让学界和业界意识到Transformer模型将会取代卷积网络,成为视觉骨干网络的新主流。
  2. 工程贡献。这一工作中的诸多设计有望长期成为视觉领域的默认做法,包括移位窗口的设计,相对位置偏置项,和此前完全不一样的训练recipe等等。

10.下一步呢?有什么工作可以继续深入?

​ 移位窗口的设计对NLP是否同样适用? Transformer能否scale up? Transformer如何使CV和NLP有机结合起来? Transformer能将视觉推向一个什么样的高度?

  • 1
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值