摘要核心
1.本文提出一种可以适用于多种任务的backbone->swin transformer
2.Transformer迁移到CV中有两点挑战->物体尺度不一,图像分辨率大
3.为了解决尺度不一的问题,Swin Transformer使用了分层的结构(Pyramid)
4.为了能够在高分辨率上运行,Swin Transformer限制了attention的计算范围
5.Swin Transformer在多种任务上取得了非常好的性能
SRA的问题
Q与K的感受野不一样,而且空间复杂度还是0(n2),只是限制了常数项,在224800等常用输入尺寸下总复杂度可以接受,但是继续放大会有困难。
W-MSA
Swin Transformer使用window multiscale self attention,将attention的计算限制在同一个窗口内,使得复杂度降到了O(n)
W-MSA的问题
显然这样硬性的限制会丢失全局信息,限制模型能力,因此需要一个跨Window的操作,增强window间的交互:
SW-MSA的加速方法
Naive版本
可以通过padding的方式将window的尺寸变一样,在mask掉其他值,这样就可以直接调用原本的方法了
Cyclic-shift
可以通过padding的方式将window的尺寸变一样,在mask掉其他值,这样就可以直接调用原本的方法了
这里的相对位置编码是对每个window内的patch写死的,是不可学习的
CNN与Trans的异同
Inductive Bias
直译为归纳偏置
归纳->总结,也就是从现存的例子中找到一些比较通用的规则偏置->选择偏好。
整理在一起可以理解为:在面对一些特定问题的时候,我们认为模型应该会有哪些特点会比较容易work,因此而做出的一系列对模型的人为限制
比如图像处理中,每个位置的信息与周围的信息相关,因此设计出conv。
比如NLP中,认为输出的结果与单词的先后顺序相关,因此设计出RNN。
CNNs的假设及奇怪性质
Pixel只与周围Pixel相关->局部连接->Conv固定大小空间平移不变性 ->权重共享
为什么常见的conv都是奇数大小的?
为什么深层的Feature Map难以理解?
为什么从ImageNet迁移到肿瘤分类仍然有不错的性能?