【论文精读】ViT-Adapter

摘要

【论文精读】ViT-Adapter_第1张图片
       视觉transformer类的模型可以分为普通ViT和视觉transformer变体两类。后者通常使用局部空间操作将特定于视觉的归纳偏差引入到其架构中,故而可以产生更好的结果(如Swin Transformer)。但普通的ViT可以使用包括图像,视频和文本的大量多模态数据进行预训练,这鼓励模型学习丰富的语义表示,但与特定于视觉的transformer变体相比,普通ViT在密集预测方面有决定性的缺陷。故有如下改进:

  • 本文探索了一种新的范式,不同于以往的预训练+微调(上图a),本文开发了基于普通ViT的适配器(上图b),以缩小普通ViT和特定视觉transformer变体之间的性能差距

  • 设计了一个空间先验模块和两个特征交互操作,在不重新设计ViT架构的情况下注入图像先验,以补充普通ViT缺失的图像局部信息,并对密集预测任务进行细粒度多尺度特征重组

框架

【论文精读】ViT-Adapter_第2张图片

       模型可以分为两部分。第一部分为ViT,由patch embedding和L层transformer编码器层组成(上图a)。流程如下:

  • 给定输入图像,被馈送到patch embedding中,图像将被划分为16 × 16的patch token。
  • 这些patchs将被展平并投影到D维的tokens,特征分辨率降低到原始图像的1/16,再添加position embedding。
  • tokens通过L层编码器层传递。

       第二部分为ViT-Adapter(上图b),其中包含空间先验模块(上图c),用于从输入图像中捕获空间特征;空间特征注入器(上图d),将空间先验注入到ViT中;多尺度特征提取器(上图e),从ViT的单尺度特征中提取分层特征。具体如:

  • 将输入图像输入到空间先验模块,收集三种目标分辨率(1/8, 1/16和1/32)的 D D D维空间特征,这些特征图被展平并连接起来作为特征交互的输入 F s p i F^i_{sp} Fspi
  • 将ViT的transformer编码器平均分成N块,每个块包含L/N编码器层。对于i -th块,通过空间特征注入器将空间先验 F s p i F^i_{sp} Fspi注入到块中。在通过多尺度特征提取器从块的输出中提取分层特征。
  • 在N个特征交互后,获得高质量的多尺度特征,将特征分割和重塑为三个目标分辨率 { 1 / 8 , 1 / 16 , 1 / 32 } \{{1/8,1/16,1/32}\} {1/8,1/16,1/32}。最后,使用 2 × 2 2 × 2 2×2转置卷积对1/8尺度的特征图进行上采样,构建1/4尺度的特征图。最终获得了一个与ResNet分辨率相似的特征金字塔,可以用于各种密集预测任务。

空间先验模块

       由于transformer擅长捕捉全局信息,而卷积神经网络更擅长捕捉局部空间信息,故提出空间先验模块(SPM),与patch embedding层并行地对图像的局部空间上下文进行建模,而不改变ViT的原始结构。

       该模块采用了标准ResNet骨干网络,由三个conv层和一个最max pooling层组成。然后,使用stride为2的 3 × 3 3 × 3 3×3卷积堆栈将通道数量增加一倍并减少特征图的大小,在用几个 1 × 1 1 × 1 1×1卷积将特征映射投影到 D D D维度,获得一个分辨率为 { 1 / 8 , 1 / 16 , 1 / 32 } \{{1/8,1/16,1/32}\} {1/8,1/16,1/32} D D D维特征金字塔 { F 1 , F 2 , F 3 } \{{F_1, F_2, F_3}\} {F1,F2,F3}。然后,展平并连接为特征标记 F s p 1 ∈ R ( H W 8 2 + H W 1 6 2 + H W 3 2 2 ) × D F^1_{sp} ∈ \reals^{ ( \frac {HW} {8^2} + \frac {HW} {16^2} + \frac {HW} {32^2} )×D} Fsp1R(82HW+162HW+322HW)×D,作为特征交互的输入。

特征交互

       本文提出两个特征交互模块空间特征注入器和多尺度特征提取器来桥接SPM和ViT的特征图。

空间特征注入器

       该模块用于将空间先验注入ViT。具体,对于ViT的i -th块,将输入特征 F V i T i ∈ R H W 1 6 2 × D F^i_{ViT} ∈ \reals^{ \frac {HW} {16^2} ×D} FViTiR162HW×D作为query,空间特征 F s p i ∈ R ( H W 8 2 + H W 1 6 2 + H W 3 2 2 ) × D F^i_{sp} ∈ \reals^{ ( \frac {HW} {8^2} + \frac {HW} {16^2} + \frac {HW} {32^2} )×D} FspiR(82HW+162HW+322HW)×D作为key和value。 使用交叉注意力将空间特征 F s p i F^i_{sp} Fspi注入输入特征 F V i T i F^i_{ViT} FViTi,可以写成:

F ^ V i T i = F V i T i + γ i A t t e n t i o n ( n o r m ( F V i T i ) , n o r m ( F s p i ) ) \hat F^i_{ViT} = F^i_{ViT} +\gamma^iAttention(norm(F^i_{ViT}),norm(F^i_{sp})) F^ViTi=FViTi+γiAttention(norm(FViTi),norm(Fspi))

       其中 n o r m ( ⋅ ) norm(·) norm()是LayerNorm, A t t e n t i o n ( ⋅ ) Attention(·) Attention()使用稀疏注意力,应用一个可学习向量 γ i ∈ R D γ^ i ∈ \reals ^D γiRD来平衡注意力层的输出和输入特征 F V i T i F^i_{ViT} FViTi,初始化为0。这种初始化策略确保 F V i T i F^i_{ViT} FViTi的特征分布不会因为空间先验的注入而被大幅修改,从而更好地利用ViT的预训练权重。

多尺度特征提取器

       在将空间先验注入ViT后,将 F ^ V i T i \hat F^i_{ViT} F^ViTi传递给i -th块的编码器层来获得输出特征 F V i T i + 1 F^{i+1}_{ViT} FViTi+1。然后,应用由交叉注意力层和前馈网络(FFN)组成的多尺度特征提取器来提取多尺度特征。这个过程表述为:

F s p i + 1 = F ^ s p i + F F N ( n o r m ( F ^ s p i ) ) F^{i+1}_{sp} = \hat F^i_{sp} + FFN(norm(\hat F^i_{sp})) Fspi+1=F^spi+FFN(norm(F^spi))

F ^ s p i = F s p i + A t t e n t i o n ( n o r m ( F s p i ) , n o r m ( F V i T i + 1 ) ) \hat F^i_{sp} = F^i_{sp}+Attention(norm(F^i_{sp}), norm(F^{i+1}_{ V iT })) F^spi=Fspi+Attention(norm(Fspi),norm(FViTi+1))

       其中,使用空间特征 F s p i ∈ R ( H W 8 2 + H W 1 6 2 + H W 3 2 2 ) × D F^i_{sp} ∈ \reals^{ ( \frac {HW} {8^2} + \frac {HW} {16^2} + \frac {HW} {32^2} )×D} FspiR(82HW+162HW+322HW)×D作为query,输出特征 F V i T i + 1 ∈ R H W 1 6 2 × D F^{i+1}_{ViT} ∈ \reals^{ \frac {HW} {16^2} ×D} FViTi+1R162HW×D作为交叉注意力的key和 value。与空间特征注入器一样,本文采用稀疏注意力来减少计算成本。生成的空间特征 F s p i + 1 F^{i+1}_{sp} Fspi+1将作为下一个空间特征注入器的输入。

架构配置【论文精读】ViT-Adapter_第3张图片

       本文为4种不同大小的ViT构建了ViT Adapter,包括ViT-t, ViT-s, ViT-b和ViT-l。Adapter的参数数量分别为250万、580万、140万和2370万,采用Deformable Attention作为默认的稀疏注意力,注意力头的数量分别为6、6、12和16。特征交互次数N为4,在最后一次的特征交互中,堆叠3个多尺度特征提取器。对于4层不同的Adapter,FFN的隐层维度分别为48、96、192和256。

实验

【论文精读】ViT-Adapter_第4张图片
【论文精读】ViT-Adapter_第5张图片
       上图两图为应用DeiT发布的ImageNet-1K权重(没有蒸馏)作为所有ViT-T/S/B模型初始化,将ViT-Adapter与两种相关方法和多个视觉transformer变体骨干网络进行比较。

       可以看到,ViT 和ViTDet 的检测性能低于视觉transformer变体类模型。使用Mask R-CNN和3× +MS schedule时(表1),ViT-S和ViTDet-S分别比PVTv2-B2低3.8 APb和3.3 APb。不同的是, ViT-Adapter-S的性能明显优于这两种方法,甚至比PVTv2-B2高出0.4 APb。

       在Cascade Mask R-CNN、ATSS和GFL等其他三个检测器的实验(表2)中也可以看到这种现象。这些结果表明,只需要常规的ImageNet-1K预训练,ViT- adapter就可以促进普通ViT达到与这些视觉transformer变体相似甚至更好的性能。

       本文还使用ImageNet-22K预训练权重来初始化所有ViT- l模型,包括ViT、ViTDet和ViT-Adapter。可以看到,当训练Mask R-CNN的3 × +MS调度时(表1),ViT-Adapter-L†比ViT-L †和ViTDet-L†分别带来3.8 APb和3.0 APb的改进。

【论文精读】ViT-Adapter_第6张图片
       本上图实验研究了多模态预训练的效果。用Mask R-CNN使用不同的预训练权重对ViT-Adapter-B进行3× +MS调度的微调。观察到,只需将ImageNet-22K预训练替换为多模态预训练,就可以显著提高0.7 APb和APm。这些结果表明,本文方法可以很容易地从先进的多模态预训练中获得可观的好处,而这对于Swin等特定视觉模型是很难的。
【论文精读】ViT-Adapter_第7张图片
       上图实验用ADE20K数据集和MMSegmentation代码库评估了ViT-Adapter的语义分割效果。采用语义FPN 和UperNet作为基本框架。对于语义FPN,应用PVT的设置,并训练模型进行80k次迭代。对于UperNet,我们遵循Swin 的设置来训练它进行160k迭代。

       ImageNet-1K预训练的结果:上图报告了单尺度和多尺度(MS) mIoU的语义分割结果。使用DeiT发布的ImageNet-1K权重初始化所有ViT-T/S/B模型。在可比的模型大小下,所提出方法超过了ViT和许多代表性的视觉transformer变体。 例如,ViT-Adapter-S在UperNet中实现了47.1 MS mIoU,超过了Swin-T等变体算法。ViT-Adapter-B得到49.7 MS mIoU的竞争性能,比ViT-B高2.6个点,与Swin-B和twins-svt-l持平。

       ImageNet-22K预训练的结果:当使用ImageNet-22K预训练权重时,ViT-Adapter-B†与UperNet达到51.9 mIoU和52.5 MS mIoU,超过Swin-B†至少0.8 mIoU。 类似地,ViT-Adapter-L†获得了53.4 mIoU和54.4 MS mIoU的结果,这在Swin-L†等同行中表现突出。这些对不同模型大小的显著和一致的改进表明,所提出方法可以弥补普通ViT的不足,使其更适合语义分割。

       多模态预训练的结果:将Uni-Perceiver的多模态预训练权重应用于语义分割。对于语义FPN和UperNet架构,可使ViT-Adapter-L的精度提升1.3 mIoU和1.6 mIoU。
【论文精读】ViT-Adapter_第8张图片
       实验将所提出的ViT-Adapter与最先进的检测/分割框架相结合,包括HTC++和Mask2Former,以及最近的多模态预训练BEiTv2,上图观察到本文模型达到了最先进的性能。

消融实验

【论文精读】ViT-Adapter_第9张图片
       ViT呈现出学习低频全局信号的特点,而CNN倾向于提取高频信息(局部边缘和纹理)。为了展示ViT和ViT- adapter的功能差异,上图(a)使用傅里叶变换特征图,傅里叶频谱和相对对数振幅(平均超过100张图像)表明,ViT- adapter捕获了比ViT更多的高频信号。

       上图(b)(c)将 stride-8特征图可视化,表明ViT的特征是模糊和粗糙的。相比之下,ViT- adapter的特征粒度更细,具有更多的局部边缘和纹理。这一观察表明,所提出方法将CNN在捕捉高频信息方面的优点嫁接到ViT中。
【论文精读】ViT-Adapter_第10张图片
       为了研究每个关键设计的贡献,逐步将ViT-S作为基线扩展到 ViT-S adapter。所有模型都使用Mask R-CNN进行1 × schedule训练。

       上图左侧所示,通过直接调整大小并添加来自SPM的空间特征,可比基线提高了1.4 APb和0.9 APm,表明局部空间信息对密集预测至关重要。添加空间特征注入器,性能进一步提高了1.0 APb和0.8 APm。这一观察表明,交叉注意力是一种更灵活的注入空间特征的方式。此外,利用多尺度特征提取器重构层次特征,获得2.1 APb和1.1 APm增益,缓解了ViT单尺度特征的不足。

       上图右侧研究了交互数量的影响。实验构建了几种具有不同交互次数的ViT-Adapter-S变体。观察到,当N变大时,模型精度达到饱和,应用更多的交互不能单调地提高性能。因此,根据经验将N默认设置为4。
【论文精读】ViT-Adapter_第11张图片
       本文方法是一个通用框架,其中注意力机制是可替换的。为了验证这一点,采用ViT-Adapter-S作为基本模型,对4种不同的注意力机制进行了研究。

       上图所示,线性复杂度的稀疏注意力比二次复杂度的全局注意力更适合adapter。故最终使用deformable attention作为默认配置。

       上图为目标检测和实例分割的特征图可视化。观察到,与ViT基线相比,ViT- adapter产生了更细粒度的多尺度特征图,从而提高了定位质量并减少了漏检。

       上图为语义分割的特征图可视化。与ViT基线相比,所提出的ViT-adapter产生了更细粒度的多尺度特征图,具有丰富的局部边缘和纹理,从而提高了语义分割的性能。

reference

Chen, Z. , Duan, Y. , Wang, W. , He, J. , Lu, T. , & Dai, J. , et al. (2022). Vision transformer adapter for dense predictions.

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