Swin Transformer: 论文十问&回答

论文:Swin Transformer: Hierarchical Vision Transformer using Shifted Windows.
链接:

文章目录

    • Q1:论文试图解决什么问题?
    • Q2:这是否是一个新的问题?
    • Q3:这篇文章要验证一个什么科学假设?
    • Q4:有哪些相关研究?如何归类?谁是这一课题在领域内值得关注的研究员?
    • Q5:论文中提到的解决方案之关键是什么?
    • Q6:论文中的实验是如何设计的?
    • Q7:用于定量评估的数据集是什么?代码有没有开源?
    • Q8:论文中的实验及结果有没有很好地支持需要验证的科学假设?
    • Q9:这篇论文到底有什么贡献?
    • Q10:下一步呢?有什么工作可以继续深入?

Q1:论文试图解决什么问题?

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

Q2:这是否是一个新的问题?

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

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

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

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

  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网络的有效性。

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

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

Q6:论文中的实验是如何设计的?

在三个最典型的视觉任务:图像分类、检测和分割中,替换以前的骨干网络,考察在相同计算代价和复杂度情况下,性能是否有增益。设计了三个层次的实验:

  1. 系统级和state-of-the-art比较;
  2. 骨干网络级比较。骨干网络是否对于各种主流框架都有用?
  3. 消融实验验证核心设计的有效性。

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

  • 三个任务分别采用最主流的评测集ImageNet-1K,COCO和ADE20K。
  • 代码进行了开源: https://github.com/microsoft/Swin-Transformer

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

论文设计了三个层次的实验来验证有效性:

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

Q9:这篇论文到底有什么贡献?

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

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

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

你可能感兴趣的:(transformer,深度学习,计算机视觉)