
这篇文章是何凯明在MAE之后关于纯transformer架构用于目标检测下游任务的探索,在MAE最后有所提及,之后还有一篇文章ViTDET一脉相承。对于VIT架构用于视觉任务带来了很多启发。

目标检测作为一个中心的下游任务经常用来测试预训练模型的性能,例如训练速度或者精度等。当新的架构如VIT出现时,目标检测任务的复杂性使得这种基准测试变得更加重要。事实上,一些困难(如架构不兼容、训练缓慢、内存消耗高、未知的训练公式等)阻碍了VIT迁移到目标检测任务研究。论文提出了使用VIT作为Mask RCNN backbone,实现了最初的研究目的:作者对比了五种VITs初始化,包括自监督学习方法、监督初始化以及较强的随机初始化baseline。
无监督/自监督深度学习是常用的预训练方法用来初始化模型参数,之后他们迁移到下游任务,例如图像分类和目标检测进行finetune。无监督算法的有效性常常使用下游任务的指标(精度度、收敛速度等)来衡量与baseline作一个比较,例如有监督预训练或者 从头训练的网络(不适用预训练).
视觉领域的无监督深度学习通常使用CNN模型,因为CNNs广泛用于大部分下游任务,因此基准原型很容易被定义,可以将使用CNN的无监督算法视为一种即插即用的参数初始化模型。
论文使用Mask RCNN框架评估ViT模型在目标检测和语义分割领域COCO数据集上的性能,对ViT作最小程度的修改,保留它的简单、灵活的特性。
论文给出了在Mask RCNN架构中使用VIT基础模型作为backbone的有效方法。这些方法在训练内存和时间上都可以被接受,同时没有使用太多复杂扩展的情况下实现了COCO的强大效果。

使用ViT 作为Mask RCNN 的backbone有两个问题:
针对第1点:
为了适应FPN的多尺度输入,对ViT中间层产生的feature map通过四个不同分辨率的模块进行上采样或者下采样产生多尺度特征,如上图所示绿色module,这四个模块之间的间隔都为
d
4
\frac{d}{4}
4d,
d
d
d是transformer blocks的数目,也就是等间隔划分。
针对第2点:
ViT中每一个self-attention计算具有
O
(
h
2
w
2
)
O(h^2w^2)
O(h2w2)的空间复杂度,以及把图像展开成不重叠的
h
×
w
h \times w
h×w的patches花费的时间。
在预训练的时候这种复杂度是可控的,因为一般图像大小为
224
×
224
224 \times 224
224×224,patch大小为
16
16
16,
h
=
w
=
14
h=w=14
h=w=14这是典型设置。但是在目标检测下游任务中,标准图像大小为
1024
×
1024
1024 \times 1024
1024×1024,这通常是预训练像素以及patch的20倍大,这么大的分辨率也是为了检测较大和较小目标所需要的。因此这种情况下,即使是以ViT-base作为Mask RCNN的backbone,在小批量和半精度浮点数的情况下通常也需要消耗20-30GB的GPU内存。
为了减少空间和时间复杂度,采用受限制的self-attention(也叫 windowed self-attention)(来源于attention is all you need ,没印象,要去查一下,第一印象是Swin的window attention)。将 h × w h \times w h×w的拼接图像划分为 r × r r \times r r×r个不重叠的窗口,在每个窗口单独计算self-attention。这种windowed self-attention 拥有 O ( r h 2 w 2 ) O(rh^2w^2) O(rh2w2)的空间和时间复杂度。设置 r 为全局自注意力的尺寸,典型值为14。(共有 h r × w r 个 w i n d o w s , 每 个 w i n d o w 拥 有 O ( r 2 ) 复 杂 度 \frac{h}{r} \times \frac{w}{r}个windows,每个window拥有O(r^2)复杂度 rh×rw个windows,每个window拥有O(r2)复杂度)。
这种做法的一个副作用就是window之间没有跨窗口信息交互,因此采用了一种混合方法,就像图中所示,包含4个全局自注意力模块,与FPN相吻合,这里也就是作者所说的添加额外部分使VIT产生多尺度特征。
https://github.com/facebookresearch/detectron2/blob/main/MODEL_ZOO.md #new-baselines-using-large-scale-jitter-and-longer-training-schedule

大部分方法在长时间训练后,都表现出了过拟合迹象,AP值有所下降,同时观察到随机初始化方法的AP要高于MoCo V3 和有监督的IN1k,这是因为COCO数据集对于迁移学习来说是一个有挑战性的设置,因此随机初始化可能取得较好的性能。MAE和BEiT提供了第一个令人信服的结果,基于预训练COCO AP得到极大改善,并且随着模型尺寸增大AP还有很大的提升潜能。



表格中含义
relative position biases (rel)
absolute position embeddings (abs)
pt: initialized with pre-trained values;
rand: random initialization;
zero: initialized at zero;
no: this positional information is not used in the fine-tuned model


