3月30日,何恺明大神团队在ArXiv上发布了最新研究工作,该工作主要研究了一种适用于目标检测任务的非层次化结构主流骨干网络ViTDet。该研究表明ViTDet无需重新设计用于预训练的分层主干网络,只对传统的FPN模块最后一个Stage进行微调(简化处理)即可。实验结果表明:若使用MAE(恺明大神一作提出的无监督学习方法)进行预训练,则ViTDet可以与之前强具竞争力的层次化主干网络(Swin和 MViTv2)的性能相匹敌。其中ViTDet+MAE仅在ImageNet-1K上进行预训练然后直接进行迁移便可以在COCO数据集上达到61.3 AP的性能。
ps:恺明大神团队这应该是在重新挖掘ViT架构中主流骨干网络的设计原理,希望设计一种简易通用的视觉主流网络,以此来打通上下游间的任务,希望消除由于下游任务的不同而带来的约束限制,期待未来有一个视觉上下游任务都通用的主流骨干网络。
本文主要目标是消除骨干网络中的分层结构约束,主要探索一种适用于目标检测的普通骨干网络。为此,我们的目标是进行最少的修改,以仅在微调期间便可使简单的主干网络适应目标检测任务。由于FPN是构建用于目标检测的特征金字塔的常见解决方案。若主干网络采用分层结构,FPN主要可用来结合早期阶段的高分辨率特征和后期阶段的更强语义特征,其中主要通过自上而下和横向连接的路径实现的(如上图 左所示)。若主干网络不采用分层次结构,那么FPN就体现不出来作用,因为主干中的所有特征图都具有相同的分辨率。本文我们对FPN结构进行简化,仅使用主干中的最后一个极具语义信息的特征图,并在最后一个特征图上并行应用一组卷积或反卷积来生成多尺度特征图。具体来说,使用标准的ViT步长stride=16,然后利用下采样卷积得到1/32,1/16的尺度特征图,利用反卷积操作得到1/8,1/4尺度特征图。这个简化的特征金字塔结构如上图(C)所示,本文采用的主干网络可作为物体检测任务中的backbone和neck的纽带。
本文还采用几个跨窗口的模块来计算Window attention,对于给定高分辨率特征图我们将其划分为常规的非重叠窗口,在每个窗口内计算自注意力。与 Swin 不同,我们不会跨层“移动”窗口。为了允许信息传播,我们使用了极少数(默认情况下,4 个)可以传播的块。我们将预训练的主干网络平均分成 4 个块子集(例如,对于 24 块 ViT-L,每个子集中有 6 个)。我们在每个子集的最后一个块中应用传播策略。我们研究两种策略:
(i) Global propagation。在每个子集的最后一个块中执行全局自我注意。由于全局块的数量很少,内存和计算成本是可行的。这类似于MViTv2中与 FPN 联合使用的网格窗口注意力。
(ii) Convolutional propagation。作为替代方案,我们在每个子集之后添加一个额外的卷积块。卷积块是一个残差块,由一个或多个卷积和一个恒等连接操作组成。该块中的最后一层被初始化为零,因此该块的初始状态是一个标记。将块初始化为身份允许我们将其插入到预训练主干中的任何位置,而不会破坏主干的初始状态。我们的骨干适应很简单,并且使检测微调与全局自注意力预训练兼容。
A simple feature pyramid is sufficient
Masked Autoencoders provide strong pre-trained backbones
Comparisons with Hierarchical Backbones
System-level comparisons with the leading results on COCO
本文的工作表明plain-backbone 检测器是一个很有前途的研究方向。这种方法可以在很大程度上保持通用主干和下游特定任务设计的独立性——这在基于 ConvNet 的研究中是普遍适用的,但在基于 Transformer 的研究中却不是。 本文主要通过提出基于ViT的骨干网络与具体任务结合的方法,将预训练与微调分离开来。例如,在自然语言处理 (NLP) 中,通用预训练 (GPT 、BERT ) 极大地推动了该领域的发展,并一直支持各种下游任务。在这项研究中,我们的普通骨干检测器受益于 MAE 中现成的预训练模型。我们希望这种方法也有助于拉近计算机视觉和 NLP 领域的距离。