密集的计算机视觉任务(例如对象检测和分割)需要有效的多尺度特征表示来检测或分类具有不同大小的对象或区域。虽然卷积神经网络 (CNN) 一直是此类任务的主要架构,但最近推出的视觉转换器 (ViT) 旨在取代它们作为主干。与 CNN 类似,ViT 构建了一个简单的多阶段结构(即从精细到粗糙),用于具有单尺度补丁的多尺度表示。在这项工作中,我们以与现有 Transformer 不同的视角,探索多尺度补丁嵌入和多路径结构,构建多路径视觉 Transformer (MPViT)。 MPViT 通过使用重叠卷积块嵌入,同时将相同大小(即序列长度)的特征与不同尺度的块嵌入。然后,不同尺度的令牌通过多条路径独立地输入到 Transformer 编码器中,并聚合生成的特征,从而在同一特征级别上实现精细和粗略的特征表示。由于多样化、多尺度的特征表示,我们的 MPViT 从微型 (5M) 扩展到基本 (73M) 始终在 ImageNet 分类、对象检测、实例分割和语义分割上实现优于最先进的 Vision Transformers 的性能。这些广泛的结果表明 MPViT 可以作为各种视觉任务的多功能骨干网络。代码将在 https://git.io/MPViT 上公开。
如果不能下载,请在使用gitee上的链接:
https://gitee.com/wanghao1090220084/MPViT
自推出以来,Transformer [53] 对自然语言处理 (NLP) [4, 14,43] 产生了巨大影响。 同样,Vision Transformer (ViT) [16] 的出现推动了计算机视觉社区的发展。 因此,基于 Transformer 的视觉工作最近出现了爆炸式增长,涵盖静态图像分类 [17、37、50、51、57、58、65、67]、对象检测 [5、12、74]、 和语义分割 [54, 63] 到时间任务,例如视频分类 [1, 3, 18] 和对象跟踪 [7,41,56]。
对于密集预测任务(例如对象检测和分割)来说,在多个尺度上表示特征以区分不同大小的对象或区域是至关重要的。 在密集预测方面表现出更好性能的现代 CNN 主干利用卷积核级别 [19、32、33、46、47] 或特征级别 [34、42、55] 的多个尺度。 Inception Network [46] 或 VoVNet [32] 在相同的特征级别上利用多粒度卷积核,产生不同的感受野,进而提高检测性能。 HRNet [55] 通过同时聚合整个卷积层的精细和粗糙特征来表示多尺度特征。
尽管 CNN 模型被广泛用作密集预测的特征提取器,但当前最先进的 (SOTA) 视觉转换器 [17,37,57,58,60,65,67,71] 已经超越了 CNN 的性能。虽然 ViTvariants [17, 37, 58, 60, 67, 71] 专注于如何解决自我注意的二次复杂性,当应用于高分辨率的密集预测时,他们不太关注构建有效的多尺度表示.例如,按照传统的 CNN [23, 44],最近的 Vision Transformer 主干 [37, 58, 67, 71] 构建了一个简单的多阶段结构(例如,从精细到粗糙的结构)和单尺度补丁(即,令牌)。 CoaT [65] 通过使用允许并行跨层注意的共同尺度机制同时表示精细和粗糙特征,从而提高检测性能。然而,协同尺度机制需要大量的计算和内存开销,因为它增加了对基础模型(例如 CoaT-Lite)的额外跨层关注。因此,ViT 架构的多尺度特征表示仍有改进空间。
在这项工作中,我们专注于如何使用 Vision Transformers 有效地表示多尺度特征以进行密集预测任务。受 CNN 模型利用用于多个感受野的多粒度卷积核 [19、32、46] 的启发,我们提出了一种用于 Transformer 的多尺度补丁嵌入和多路径结构方案,称为多路径视觉转换器 (MPViT)。如图1所示,多尺度patch embedding通过重叠卷积操作同时对不同大小的视觉patch进行token化,在适当调整padding/stride后产生具有相同序列长度(即特征分辨率)的特征卷积。然后,来自不同尺度的令牌被独立地并行输入到 Transformer 编码器中。每个具有不同大小补丁的 Transformer 编码器都执行全局自注意力。然后聚合生成的特征,在同一特征级别启用精细和粗略的特征表示。在特征聚合步骤中,我们引入了全局到局部特征交互(GLI)过程,该过程将卷积局部特征连接到转换器的全局特征,同时利用卷积的局部连通性和转换器的全局上下文。
按照 DeiT [50] 中的标准训练方法,我们在 ImageNet-1K [13] 上训练 MPViT,与最近的 SOTA Vision Transformers [17, 37, 60, 65, 67] 相比,它始终获得卓越的性能。此外,我们验证 MPViT 作为 COCO 数据集上的对象检测和实例分割以及 ADE20K 数据集上的语义分割的主干,实现了最先进的性能。特别是,MPViT-Small(22M 和 4GFLOPs)超过了最近更大的 SOTA Focal-Base [67](89M 和 16GFLOPs),如图 2 所示。总而言之,我们的主要贡献如下:
• 我们提出了一种具有多路径结构的多尺度嵌入,用于同时表示密集预测任务的精细和粗糙特征。
• 我们引入全局到局部特征交互(GLI)以利用卷积的局部连通性和转换器的全局上下文。
• 我们提供消融研究和定性分析,分析不同路径尺寸和补丁规模的影响,发现高效和有效的配置。
• 我们验证了 MPViT 作为密集预测任务主干的有效性,在 ImageNet 分类、COCO 检测和 ADE20K 分割方面实现了最先进的性能。
**用于密集预测的视觉转换器。**当前的 SOTA Vision Transformers [17, 37, 58, 65, 67, 71] 在应用于高分辨率密集预测时,专注于降低自注意力的二次复杂度。 [37,67,71] 用局部区域的细粒度补丁限制注意力范围,并将其与滑动窗口或稀疏全局注意力相结合。 [58, 60] 通过空间缩减(即池化)减少序列长度来利用粗粒度的全局自我注意。 [17, 65] 通过跨特征通道而不是令牌操作自我注意来实现线性复杂性。虽然 [37, 58, 67, 71] 具有简单的金字塔结构(从细到粗),但 XCiT [17] 具有单级结构,如 ViT [16]。当应用于密集预测任务时,XCiT 添加下采样/上采样层以在 ImageNet 上进行预训练后提取多尺度特征。 Xu 等人[65] 在 CoaT-Lite 之上介绍了具有简单金字塔结构的 CoaT-Lite 和具有跨层注意力的 CoaT。跨层注意力允许 CoaT 优于 CoaT-Lite,但需要大量内存和计算开销,这限制了模型的扩展。
与并行工作的比较。 CrossViT [6] 还在单级结构中使用不同的补丁大小(例如,小和大)和双路径,如 ViT [16] 和 XCiT [17]。 但是,CrossViT 的分支之间的交互仅通过 [CLS] 令牌发生,而 MPViT
允许不同尺度的所有补丁进行交互。 此外,与 CrossViT(仅分类)不同,MPViT 更普遍地探索更大的路径维度(例如,超过两个),并采用多阶段结构进行密集预测。
图 3 显示了多路径视觉转换器 (MPViT) 架构。由于我们的目标是探索用于密集预测的强大主干网络,因此我们构建了一个多阶段架构 [37, 58, 67],而不是 ViT [16] 和 XCiT [17] 等单阶段(即单片)架构]。具体来说,我们构建了一个四阶段的特征层次结构,用于生成不同尺度的特征图。由于多级架构具有更高分辨率的特征,它本质上需要更多的计算。因此,由于其线性复杂性,我们对整个模型使用包含因子分解自注意力的 Transformer 编码器,如 CoaT [65] 中所做的那样。在 LeViT [20] 中,卷积茎块显示出比非重叠补丁嵌入更好的低级表示(即,不会丢失显着信息)。受 LeViT 的启发,给定尺寸为 H × W × 3 的输入图像,我们还采用了一个由两个 3 × 3 卷积层组成的茎块,通道为 C 2 / 2 C_{2}/2 C2/2; C 2 C_{2} C2和 2 的步幅,生成大小为 $H/4 × W/4 × C_{2} $的特征,其中 C 2 C_{2} C2是阶段 2 的通道大小。每个卷积之后是 Batch Normalization [29] 和 Hardswish [25] 激活函数.从第 2 阶段到第 5 阶段,我们在每个阶段堆叠提出的多尺度补丁嵌入 (MS-PatchEmbed) 和多路径转换器 (MP-Transformer) 块。许多作品 [8, 16, 20, 58] 已经证明用最终特征图的全局平均池化 (GAP) 替换 [CLS] 令牌不会影响性能,因此我们也移除 [CLS] 令牌并使用 GAP为简单起见。
我们设计了一个多尺度补丁嵌入 (MSPatchEmbed) 层,该层利用相同特征级别的细粒度和粗粒度视觉标记。 为此,我们使用具有重叠补丁的卷积操作,类似于 CNN [23、44] 和 CvT [60]。 具体来说,给定来自前一阶段 X i ∈ R H i − 1 × W i − 1 × C i − 1 \mathrm{X}_{i} \in \mathbb{R}^{H_{i-1} \times W_{i-1} \times C_{i-1}} Xi∈RHi−1×Wi−1×Ci−1的 2D 重构输出特征图(即令牌图)作为阶段 i 的输入,我们学习了一个函数 F k × k ( ⋅ ) F_{k \times k}(\cdot) Fk×k(⋅)将 Xi 映射为具有通道大小 C i C_{i} Ci 的新标记 F k × k ( X i ) F_{k \times k}(X_{i}) Fk×k(Xi),其中 F(·) 是内核大小(即补丁大小)k × k、步幅 s 和填充 p 的 2D 卷积操作。 输出的 2D 令牌映射 F k × k ( X i ) ∈ R H i × W i × C i F_{k \times k}\left(\mathrm{X}_{i}\right) \in \mathbb{R}^{H_{i} \times W_{i} \times C_{i}} Fk×k(Xi)∈RHi×Wi×Ci的高度和宽度如下:
H i = ⌊ H i − 1 − k + 2 p s + 1 ⌋ , W i = ⌊ W i − 1 − k + 2 p s + 1 ⌋ (1) H_{i}=\left\lfloor\frac{H_{i-1}-k+2 p}{s}+1\right\rfloor, W_{i}=\left\lfloor\frac{W_{i-1}-k+2 p}{s}+1\right\rfloor \tag{1} Hi=⌊sHi−1−k+2p+1⌋,Wi=⌊sWi−1−k+2p+1⌋(1)
卷积补丁嵌入层使我们能够通过改变步幅和填充来调整标记的序列长度。 即,可以输出具有不同补丁大小的相同大小(即分辨率)的特征。 因此,我们并行形成了几个具有不同内核大小的卷积补丁嵌入层。 例如,如图 1 所示,我们可以生成具有 3 × 3,5 × 5, 7 × 7 块大小的相同序列长度的各种大小的视觉标记。
由于堆叠具有相同通道和滤波器大小的连续卷积操作会扩大感受野(例如,两个 3×3 相当于 5×5)并且需要更少的参数(例如, 2 × 3 2 < 5 2 2 \times 3^{2} <5^{2} 2×32<52),因此我们选择连续 3×3 卷积层在实践中。对于三路径结构,我们使用三个连续的 3 × 3 卷积,具有相同的通道大小 C ′ C^{\prime} C′,填充为 1,步长为 s,其中当降低空间分辨率时 s 为 2,否则为 1。因此,给定特征 X i ∈ R H i × W i × C i \mathrm{X}_{i} \in \mathbb{R}^{H_{i} \times W_{i} \times C_{i}} Xi∈RHi×Wi×Ci在第 i 阶段,我们可以得到 F3×3(Xi)、F5×5(Xi)、F7×7(Xi) 特征,其大小与 H i s × C i s × C ′ \frac{H_{i}}{s} \times \frac{C_{i}}{s} \times C^{\prime} sHi×sCi×C′ 相同。由于 MPViT 由于多路径结构而具有更多的嵌入层,我们通过采用 3 × 3 深度可分离卷积 [9,26] 来减少模型参数和计算开销,该卷积由 3 × 3 深度卷积和 1 × 1 点卷积组成嵌入层。所有卷积层之后都是批量标准化 [29] 和 Hardswish [25] 激活函数。最后,不同大小的令牌嵌入特征分别输入到每个转换器编码器中。
尽管 Transformers 中的自注意力可以捕获远程依赖关系(即全局上下文),但它可能会忽略每个补丁内的结构信息 [30] 和局部关系 [39]。此外,变形金刚受益于形状偏差 [52],使他们能够专注于图像的重要部分。相反,CNN 可以利用平移不变性的局部连通性 [31, 52]——图像中的每个补丁都由相同的权重处理。这种归纳偏差促使 CNN 在对视觉对象进行分类时更加依赖纹理而不是形状 [2]。因此,MPViT 以互补的方式将 CNN 的局部连接性与全局上下文转换器结合起来。为此,我们引入了一个全局到局部特征交互模块,该模块学习局部特征和全局特征之间的交互以丰富表示。具体来说,为了表示阶段 i 的局部特征 L i ∈ R H i × W i × C i L_{i} \in \mathbb{R}^{H_{i} \times W_{i} \times C_{i}} Li∈RHi×Wi×Ci,我们采用深度残差瓶颈块,由 1×1 卷积、3×3 深度卷积和 1×1 卷积组成,通道大小与 Ci 相同和剩余连接[23]。使用来自每个transformer G i , j ∈ R H i × W i × C i G_{i, j} \in \mathbb{R}^{H_{i} \times W_{i} \times C_{i}} Gi,j∈RHi×Wi×Ci的 2D 重构全局特征。局部和全局特征的聚合是通过连接来执行的,
A i = concat ( [ L i , G i , 0 , G i , 1 , … , G i , j ] ) (2) A_{i}=\operatorname{concat}\left(\left[L_{i}, G_{i, 0}, G_{i, 1}, \ldots, G_{i, j}\right]\right) \tag{2} Ai=concat([Li,Gi,0,Gi,1,…,Gi,j])(2)
X i + 1 = H ( A i ) (3) X_{i+1}=H\left(A_{i}\right) \tag{3} Xi+1=H(Ai)(3)
其中j是路径的索引, A i ∈ R H i × W i × ( j + 1 ) C i A_{i} \in \mathbb{R}^{H_{i} \times W_{i} \times(j+1) C_{i}} Ai∈RHi×Wi×(j+1)Ci是聚合特征,H(·)是学习与特征交互的函数,产生最终特征 X i + 1 ∈ R H i × W i × C i + 1 X_{i+1} \in \mathbb{R}^{H_{i} \times W_{i} \times C_{i+1}} Xi+1∈RHi×Wi×Ci+1 具有下一阶段通道维度 C i + 1 C_{i+1} Ci+1 的大小。 我们对 H(·) 使用具有 C i + 1 C_{i+1} Ci+1 通道的 1 × 1 卷积。 最终特征 X i + 1 X_{i+1} Xi+1用作下一阶段的多尺度补丁嵌入层的输入。
为了减轻多路径结构的计算负担,我们使用 CoaT [65] 中提出的高效分解自注意力:
FactorAtt ( Q , K , V ) = Q C ( softmax ( K ) ⊤ V ) , (4) \text { FactorAtt }(Q, K, V)=\frac{Q}{\sqrt{C}}\left(\operatorname{softmax}(K)^{\top} V\right), \tag{4} FactorAtt (Q,K,V)=CQ(softmax(K)⊤V),(4)
Q , K , V ∈ R N × C Q, K, V \in \mathbb{R}^{N \times C} Q,K,V∈RN×C是线性投影的查询、键、值和N,C 分别表示令牌的数量和嵌入维度。为了保持可比较的参数和 FLOP,增加路径的数量需要减少通道 C 或层数 L(即变压器编码器的数量)。具有 N 个令牌和 h 个转换器编码器头的 L 个因式分解自注意力层 [65] 的总时间复杂度为 O ( L h N C 2 ) \mathcal{O}\left(L h N C^{2}\right) O(LhNC2),内存复杂度为 O ( L h C 2 + L h N C ) \mathcal{O}\left(LhC^{2}+L h N C\right) O(LhC2+LhNC)。复杂性是二次w.r.t。到通道 C,而线性 w.r.t.层数 L。因此,我们通过减少 C 而不是 L,将路径数量从单路径(即 CoaT-Lite [65] 基线)扩展到三路径。我们验证减少 C 可以获得更好的性能在消融研究中减少 L(见表 5)。由于更高的特征分辨率,第 2 阶段的计算成本相对较高,我们还在第 2 阶段将三路径模型的路径数设置为 2。因此,从第 3 阶段开始,三路径模型有 3 条路径。
有趣的是,我们还发现,虽然三路径和双路径在 ImageNet 分类中产生相似的准确度,但三路径模型在密集预测任务中表现出更好的性能。 这表明扩展路径维度的不同特征对于密集预测任务很有用。 因此,我们基于三路径结构构建 MPViT 模型。 我们将 MPViT 模型从对应于 CoaT-Lite Tiny (5M) [65] 或 DeiT-Tiny(5.7M) [50] 的小规模 MPViT-Tiny (5M) 扩展到大规模 MPViT-Base (74M) 对应于 SwinBase (88M) [37]。 所有 MPViT 型号均使用 8 个变压器编码器头,Tiny 和其他型号的 MLP 扩展比分别设置为 2 和 4。 MPViT 的详细信息如表 1 所示。
在本节中,我们评估 MPViT 作为视觉骨干在图像分类 (ImageNet-1K [13])、密集预测(如对象检测和实例分割 (COCO [36]) 和语义分割 (ADE20K [ 73])。
设置。 我们对 ImageNet-1K [13] 数据集进行分类。 为了与最近的作品进行公平比较,我们遵循 DeiT [50] 中的训练配方,其他基线 Transformer [37、57、58、65、67] 也是如此。 我们使用 AdamW [38] 优化器训练了 300 个 epoch,批量大小为 1024,权重衰减为 0.05,五个预热 epoch,初始学习率为 0.001,由余弦衰减学习率调度程序进行缩放。 我们将每张图像裁剪为 224 × 224,并使用与 [50, 65] 中相同的数据增强。 随机深度下降 [27] 仅用于小模型和基本模型,我们将速率分别设置为 0.05 和 0.3。 更多细节在附录中描述。
结果。 表 2 根据模型大小总结了性能比较。 为了公平比较,我们仅使用 224 × 224 输入分辨率和不使用蒸馏 [50] 或更大的 384 × 384 分辨率比较模型。MPViT 模型始终优于具有相似参数计数和计算复杂度的 SOTA Vision Transformer 架构。 MPViT-XS 和 Small 都比单路径基线 CoaT-Lite Mini 和 Small 分别提高了 2.0% 和 1.1%。 MPViTSmall 的性能也优于 CoaT Small,同时 GFLOP 减少了约 3 倍。 此外,MPViT-Small 的性能优于较大的型号,例如 PVT-L、DeiT-B/16 和 XCiTM24/16。 MPViT-Base (74M) 达到 84.3%,超过了最近使用更多参数的 SOTA 模型,例如 Swin-Base (88M) 和 Focal-Base (89M)。 有趣的是,MPViT-Base 优于 XCiT-M24/16,后者使用更复杂的训练配方 [17, 51] 使用更多的 epoch (400)、LayerScale 和不同的裁剪比例进行训练。
设置。 我们分别使用 RetinaNet [35] 和 Mask R-CNN [22] 验证 MPViT 作为对象检测和实例分割的有效特征提取器。 我们在 COCO [36] 数据集上对我们的模型进行基准测试。 我们在 ImageNet-1K 上预训练主干,并将预训练的主干插入 RetinaNet 和 Mask R-CNN。 遵循通用设置 [22, 61] 和 Swin-Transformer [37] 的训练配方,我们使用多尺度训练策略 [5, 37, 45] 训练 3× 时间表(36 个 epoch)[61] 的模型。 我们使用 AdamW [38] 优化器,初始学习率为 0.0001,权重衰减为 0.05。 我们基于detectron2 [61] 库实现模型。 更多细节在附录中描述。
结果。 表 3 显示 MPViT 模型在对象检测和实例分割方面始终优于最近的、相当大小的 SOTA Transformer。 对于 RetinaNet,MPViT-S 达到 47.6%,比 Swin-T [37] 和 Focal-T [67] 提高了 2.1 - 2.6% 以上。有趣的是,与更大的 Swin-S (59M) / B (98M) 和 Focal-S (61M) / B (100M) 相比,MPViT-S (32M) 表现出卓越的性能,它们在表 2 中具有更高的分类精度。这些结果表明,所提出的多尺度补丁嵌入和多路径结构可以表示比更简单的多尺度特征更多样化的多尺度特征 用于对象检测的尺度结构化模型,需要尺度不变性。 值得注意的是,与 SwinS 和 Focal-S 相比,SwinB 和 Focal-B 的性能有所下降,而 MPViT-B 比 MPViT-S 有所提高,表明 MPViT 可以很好地扩展到大型模型。
对于 Mask R-CNN,MPViT-XS 和 MPViT-S 的性能明显优于单路径基线 CoaT [65]-Lite Mini 和 Small。 与向 CoaT-Lite 添加并行块并具有额外跨层注意的 CoaT 相比,MPViT-XS 优于 CoaT Mini,而 MPViTS 显示较低的框 APb 但较高的掩码 APm。 我们注意到,尽管 CoaT-S 和 MPViT-S 表现出相当的性能,但 MPViT-S 需要的计算量要少得多。 该结果表明 MPViT 可以有效地表示多尺度特征,而无需 CoaT 的额外跨层关注。 值得注意的是,MPViT-S 的 mask AP (43.9%) 高于 XCiT-M24/8 或 FocalB 等较大模型,同时具有更少的 FLOP。
环境。 我们进一步评估 MPViT 在 ADE20K [73] 数据集上进行语义分割的能力。 我们将 UperNet [62] 部署为一种分割方法,并将 ImageNet-1k 预训练的 MPViT 集成到 UperNet 中。 在 [17,37] 之后,为了公平比较,我们训练模型进行 160k 次迭代,批量大小为 16,AdamW [38] 优化器,学习率为 6e-5,权重衰减为 0.01。 我们使用标准的单尺度协议报告性能。 我们使用 mmseg [11] 库实现 MPViT。 更多细节在附录中描述。
结果。 如表 4 所示,我们的 MPViT 模型始终优于最近类似大小的 SOTA 架构。 MPViT-S 的性能比其他 Swin-T、Focal-T 和 XCiT-S12/16 高出 +3.8%、+2.5% 和 +2.4%。 有趣的是,MPViTS 还超越了更大的模型,例如 Swin-S/B、XCiT-S24/16、-M24/16、-S24/8 和 Focal-S。 此外,MPViT-B 的性能优于最近的(和更大的)SOTA Transformer,Focal-B [67]。 这些结果证明了 MPViT 的多样化特征表示能力,这源于其多尺度嵌入和多路径结构,使 MPViT 在逐像素密集预测任务上有效。
我们对 MPViT-XS 的每个组件进行消融研究,以使用 1× 调度 [22] 和单尺度输入,使用 Mask R-CNN [22] 研究所提出的多路径结构在图像分类和对象检测方面的有效性。
**探索路径维度。**我们研究了不同路径维度的影响,以及如何在表 5 中有效扩展路径维度。我们使用各种指标进行实验,例如模型大小(即模型参数)、计算成本 (GFLOP)、GPU 峰值内存和GPU 吞吐量(图像/秒)。我们使用 Coat-Lite Mini [65] 作为单路径基线,因为它还利用与 MPViT 相同的分解自注意力机制。为了与基线进行公平比较,我们不使用茎块、随机深度下降路径,以及在 Sec 中介绍的卷积局部特征。 3.3.对于双路径,在第 2 阶段更高的特征分辨率需要更多的计算,因此我们减少了层数 L(即变压器编码器的数量)。在第 5 阶段,更高的嵌入维度会导致更大的模型尺寸,因此我们还减少了 L 和嵌入维度 C,而在第 4 阶段增加了 L。由于多路径导致更高的计算成本,我们在第 3 阶段和第 4 阶段削减 C 以进行补偿。因此,表 5 中的双路径 (a) 比单路径有所改进,同时具有相似的模型大小和略高的 FLOP。
当将双路径扩展到三路径时,我们分别消融了嵌入维度 C 和层数 L。对于表 5 中 (b) 的嵌入维度,我们保持 C 但减小 L 以保持相似的模型大小和 FLOP,这导致比双路径更差的准确性。相反,当我们减小 C 并保持 L 时,© 实现了相似的分类精度,但检测性能比双路径高。最后,我们将路径进一步扩展为四路径(d),保持L并减少C。四路径实现了相似的分类精度,但检测性能并不优于(c)的三路径。这些结果教会了我们三个教训:i)层数(即更深)比嵌入维度(即更宽)更重要,这意味着更深和更薄的结构在性能方面更好。 ii) 多粒度令牌嵌入和多路径结构可以为目标检测器提供更丰富的特征表示。 iii) 在相同模型大小和 FLOPs 的约束下,三路径是最佳选择。
我们注意到,我们扩展路径维度的策略不会增加内存负担,如表 5 所示。双路径 (a) 和三路径 (b,c) 比单路径消耗更少的内存。此外,(a) 和 (b) 比 © 消耗更多内存,因为 (a) 和 (b) 在第 3 和第 4 阶段具有更大的 C。这是因为 C(二次)在内存使用中的影响比 L (线性)如 sec.3.4 中所述。因此,我们减少嵌入维度和扩展路径维度和层(更深)的策略导致了内存高效模型。然而,与单路径相比,由于多路径结构导致的总层数的增长降低了推理速度。这个问题在第 5 节中详细讨论。
**多尺度嵌入。**在表 6 中,我们研究了补丁大小和结构在多尺度嵌入中的影响,如 3.2 节所述。我们并行使用三个卷积层,相同的步长为 2,补丁大小分别为 3、5 和 7。即,每个路径嵌入层使用前一个输入特征独立运行。为了参数效率,我们还使用了三个串联的卷积层,内核大小相同,分别为 3 和 2、1、1。我们注意到后者具有等效的感受野(例如,3、5、7),如图 3 所示。系列版本在减少模型大小和 FLOP 的同时改进了并行。直观地说,这种性能提升可能来自这样一个事实,即系列版本实际上包含具有非线性的小型 3 层 CNN,这允许更复杂的表示。
**全局到局部特征交互。**我们在 GLI 模块中尝试了不同的聚合方案,它聚合了卷积局部特征和全局变换器特征,我们测试了两种类型的操作:加法和连接。如表 6 所示,求和运算没有表现出任何性能提升,而串联显示在分类和检测任务上都有改进。直观地说,在 1×1 卷积之前对特征求和会天真地混合特征,而连接会保留它们,从而允许 1×1 卷积学习特征之间更复杂的交互。该结果表明 GLI 模块有效地学习了局部和全局特征之间的交互以丰富表示。
模型容量分析。测量实际 GPU 吞吐量和内存使用情况,我们分析了 MPViT-S 的模型容量,并与表 7 中最近的 SOTA Transformers [17, 37, 65, 67] 进行了比较。我们在同一个 Nvidia V100 GPU 上测试所有模型,批量大小256. 尽管 CoaT Small [65] 由于其额外的跨层注意力而实现了最佳检测性能,但它表现出比 CoaT-Lite Small 更重的内存使用和 GPU 计算,具有类似于 Swin-T [37] 的简单多阶段结构和 Focal-T [67]。与 CoaT Small 相比,MPViT-S 消耗的内存少得多,运行速度快 4 倍,检测性能相当,这意味着 MPViT 可以高效执行,并且其多尺度表示有效,无需 CoaT 额外的跨层关注。此外,由于 CoaT 占用大量内存,在扩展模型方面存在局限性,但 MPViT 可以扩展到更大的模型。对于具有单级结构的 XCiT [17],XCiT-S12/16(16x16 补丁:规模 4)显示出更快的速度和更少的内存使用,而 XCiT-S12/8 比 MPViT-S 需要更多的计算和内存,因为它更高特征分辨率。我们注意到 XCiT-S12/8 显示出比 MPViT-S (83.0%) 更高的分类准确率 (83.4%),而检测性能则相反 (47.0 vs. 48.4)。该结果表明,对于密集预测任务,MPViT 的多尺度嵌入和多路径结构比配备额外上/下采样层的 XCiT 的单级结构更有效。 MPViT 的内存占用也比大多数模型小。
**定性分析。**在图 4 中,我们将注意力图可视化,比较了三路径(表 5 中的 c)和单路径(CoaT-Lite Mini)。由于三重路径嵌入了不同的块大小,我们可视化每条路径的注意力图。 CoaT-Lite 和 path-1 的注意力图具有相似的块大小并显示相似的注意力图。有趣的是,我们观察到来自 path-3 的注意力图,它关注具有更高级别表示的更大块,更加以对象为中心,精确地捕获对象的范围,如图 4 的最右边一列所示。然而,在同时,路径 3 抑制小物体和噪声。相反,路径 1 由于细小块而关注小对象,但由于使用低级表示,因此不能精确捕获大对象边界。这在图 4 的第 3 行中尤为明显,其中路径 1 捕获较小的球,而路径 3 处理较大的人。这些结果表明,通过多路径结构组合精细和粗糙的特征可以在给定的视觉输入中捕获不同尺度的对象。
**限制和未来的作品。**广泛的实验结果表明,MPViT 不仅在图像级预测上,而且在密集预测任务上都显着优于当前的 SOTA 视觉转换器。我们的 MPViT 模型的一个可能限制是推理时的延迟。如表 7 所示,MPViT-S 的推理时间比 Swin-T 和 XCiT-S12/16 慢。我们假设多路径结构导致 GPU 利用率不理想,因为已经对分组卷积 [32,40,64](例如,GPU 上下文切换、内核同步等)进行了类似的观察。为了缓解这个问题,我们目前正在努力高效地实现我们的模型以加速 MPViT 的推理,它将不同尺度的特征集成到一个张量中,然后使用该张量执行多头自注意力。这将提高并行化和 GPU 利用率。此外,为了在精度/速度之间取得平衡,我们将进一步考虑复合缩放策略中的路径维度 [15,49],以在增加/减少模型容量时考虑深度、宽度和分辨率的最佳组合。
这项工作得到了韩国政府 (MSIT) 资助的信息与通信技术规划与评估研究所 (IITP) 赠款的支持 (No. 2020-0-00004, Development of Previsional Intelligence based on Long-term Visual Memory Network and No. 2014-3-00123,用于大规模实时数据分析的高性能可视大数据发现平台的开发)。