Swin Transformer阅读笔记

Swin Transformer

使用了移动窗口的层级式的Vit(Hierarchical Vision Transformer using Shifted Windows)

总体来说:Swin Transformer想让Transformer像卷积神经网络一样,可以分为多个block,可以做层级式特征提取,从而提取得到的特征具有多尺度的概念。

1、Abstract

  • 难点:

1、尺度问题,eg:一张街景图片,有很多的车和行人,但是对于同一语义的行人、车,具有不同的尺度,这与NLP不同。

2、分辨率太大,不可能以像素点输入,要么使用特征图,要么使用Patch。

  • 解决:

使用Shifted windows。将自注意力计算限制到一个windows内,导致序列长度的大幅降低,其次通过移动操作,使得相邻窗口可以交互,所以上下文之间就有cross-window connection。达到了层级式建模能力。

  • 层级式结构的好处:

灵活,可以提供各个尺度的信息。而且由于使用了windows,所以计算量是随着image size线性增长,而非平方式增长。

2、Introduction

目的:想将Transformer变成一个通用的骨干网络框架

常用的检测、分割当中,有多尺寸的特征是至关重要的。但在Vit中,都是单一尺寸,16倍的下采样率,而且处理的图片也都是低分辨率的,对于目标密集的检测、分割任务可能不太适合。由于Vit的自注意力都是寻找每个patch和整幅图像的关系,所以其计算复杂度是随着图像尺寸平方倍的增长的。所以提出了Swin Transformer。

Swin Transformer是通过windows,计算windows之内的自注意力,只要窗口大小固定,其计算复杂度就是固定的,与图片大小呈线性关系。这也是用到了卷积神经网络的局部性的先验知识。

  • 如何生成多尺度特征?

卷积中是因为有池化操作。增大感受野。Swin Transformer也提出类似操作,使用了Patch merging。将很多小Patch合并为一个大Patch。

具有层次性

Swin Transformer阅读笔记_第1张图片

  • Shift windows

Swin Transformer阅读笔记_第2张图片

3、Conclusion

Swin Transformer,一个层级式的Transformer,计算复杂度与输入大小呈线性关系。

Swin Transformer阅读笔记_第3张图片

4、Method

4.1 Overall Architecture

Swin Transformer阅读笔记_第4张图片

  • Patch Partition/Linear Embedding(可以采用卷积操作实现)

Swin Transformer阅读笔记_第5张图片

  • Patch Merging

Swin Transformer阅读笔记_第6张图片

  • W-MSA

Swin Transformer阅读笔记_第7张图片

计算量差异

Swin Transformer阅读笔记_第8张图片

4.2 Shifted Window based Self-Attention

全局自注意力机制太贵了,所以使用了窗口自注意力

Swin Transformer阅读笔记_第9张图片

Swin Transformer阅读笔记_第10张图片

相对位置偏置

Swin Transformer阅读笔记_第11张图片

Swin Transformer阅读笔记_第12张图片

Swin Transformer阅读笔记_第13张图片

研究动机:想要一个层级式的Transformer,所以提出了Patch Merging结构,为了减少计算复杂度,争取做视觉里的密集预测任务,所以提出了窗口自注意力和移动窗口自注意力。

你可能感兴趣的:(论文阅读笔记,transformer,深度学习,人工智能)