论文地址:https://arxiv.org/pdf/2112.11010.pdf
密集的计算机视觉任务,如目标检测和分割,需要有效的多尺度特征表示,以检测或分类不同大小的物体或区域。ViTs构建了一个简单的多阶段结构(即精细到粗糙),用于使用单尺度patch的多尺度表示。而作者以不同于现有变压器的视角,探索了多尺度的patch embeding和多路径结构,构建了MPViT。MPViT通过多尺度卷积patch embeding,然后,将不同尺度的tokens通过多条路径独立地输入transformer编码器,并对生成的特征进行聚合,从而在同一特征级别上实现精细和粗糙的特征表示。
虽然CNN模型被广泛用作密集预测的特征提取器,但目前最先进的(SOTA)VIsion transformer的性能已经超过了CNNs。目前VIsion transformer专注于在应用于高分辨率的密集预测时如何解决自我注意的二次复杂度,但较少关注构建有效的多尺度表示。CoaT [65]通过使用一种共尺度机制,同时表示精细和粗糙的特征,允许并行地跨层注意,从而提高了检测性能。然而,协同尺度机制需要大量的计算和内存开销,因为它为基础模型增加了额外的跨层关注(例如,CoaT-Lite)。因此,对于ViT体系结构的多尺度特征表示仍有改进的空间。
作者提出了一种transformer的多尺度patch embeding和多路径结构方案,称为MPViT。如图1所示,多尺度嵌入的patch通过多尺度卷积操作,同时标记不同大小的vision patch,在适当调整卷积的填充/步幅后,得到具有相同序列长度(即特征分辨率)的特征。然后,来自不同尺度的tokens被独立地并行输入transformer编码器。每个带有不同大小patch的transformer编码器执行全局自注意。然后聚合生成的特征,在同一特征级别上启用精细和粗特征表示。在特征聚合步骤中,作者引入了一个全局到局部特征交互(GLI)过程,该过程将卷积局部特征与transformer的全局特征连接起来,同时利用了卷积的局部连通性和变压器的全局上下文。
综上所述,作者的主要贡献如下:
作者提出了一种具有多路径结构的多尺度embeding方法,以同时表示密集预测任务的精细和粗糙特征。
作者引入了全局到局部的特征交互(GLI)来同时利用卷积的局部连通性和transformer的全局上下文。
作者提供消融研究和定性分析,分析不同路径尺寸和贴片尺度的影响,发现高效和有效的配置。
作者验证了MPViT作为密集预测任务的主干的有效性,在ImageNet分类、COCO检测和ADE20K分割方面取得了最先进的性能。
Comparison to Concurrent work。CrossViT [6]还利用了不同的patch大小(如大小)和单级结构中的双路径,如ViT [16]和XCiT [17]。然而,CrossViT的分支之间的相互作用只通过[CLS]tokens发生,而MPViT允许所有不同规模的patch相互作用。此外,与CrossViT(仅限分类)不同的是,MPViT更普遍地探索更大的路径维度(例如,超过两个维度),并采用多阶段结构进行密集预测。
图3显示了MPViT体系结构。由于作者目标是探索一个强大的密集预测的主干网络,作者构建了一个多阶段的架构。具体来说,作者建立了一个四阶段的特征层次图来生成不同尺度的特征映射。由于多阶段架构具有更高分辨率的特性,因此它需要更多的计算量。因此,由于整个模型的线性复杂性,作者使用catCoaT[65]中包括分解自注意的transformer编码器。在LeViT [20]中,卷积块比非重叠的patch embeding显示出更好的低级表示(即不丢失显著信息)。受LeViT的启示,给定一个输入图像的大小H×W×3,MPViT也采用由两个3×3卷积层,通道数为C2/2,C2和stride为2的卷积块生成一个维度为H/4×W/4×C2的特征图,C2为阶段2的通道数。每个卷积之后都是批处理归一化[29]和一个HardSwish[25]激活函数。从第2阶段到阶段第5阶段,在每个阶段对提出的多尺度patch embeding(MS-PatchEmbed)和多路径transformer(MP-transformer)块进行堆叠。[8,16,20,58]的许多工作已经证明,用最终特性映射的全局平均池(GAP)替换[CLS]标记不会影响性能,因此作者还删除了[CLS]标记,并为了简单起见使用GAP。
卷积patch embeding层能够通过改变步幅和填充量来调整tokens的序列长度。可以输出具有不同patch大小的特征图但是特征图大小相同。因此,作者并行地形成了几个具有不同内核大小的卷积patch embeding层。如图1所示,可以生成相同序列长度的不同大小的vision token,大小为3×3,5×5,7×7的patch。
考虑到参数,作者对大卷积进行了分解,将5*5的卷积分解为两个3*3的卷积,感受野相同但是3*3的卷积参数更少。同样,可以将7*7的卷积分解为三个3*3的卷积。同时为了进一步降低计算,作者采用3*3的深度可分离卷积。
虽然transformer中的注意力机制可以捕获长期依赖关系(即全局上下文),但它很可能会忽略每个patch中的结构性信息[30]和局部关系[39]。此外,transformer受益于形状偏差[52],允许他们专注于图像的重要部分。相反,cnn可以利用平移不变性[31,52]中的局部连通性——图像中的每个patch都由相同的权值处理。这种归纳偏差鼓励CNN在对视觉对象[2]进行分类时,对纹理有更强的依赖性,而不是形状。 因此,MPViT以一种互补的方式将cnn的本地连接与全局上下文转换器结合起来。为此,作者引入了Global-to-Local Feature Interaction ,它学习了局部特征和全局特征之间的交互,以获得丰富的表示。具体来说,为了表示第一阶段的局部特征,MPViT采用了一个深度可分离残差卷积模块,该块包括1×1卷积、3×3深度可分离卷积和1×1卷积,具有相同chnnels大小的卷积和残差连接[23]的卷积。然后与经过transformer全局注意力机制的全局特征做concat,最后,再经过1*1的卷积。
为了减轻多路径结构的计算负担,作者使用了CoaT [65]中提出的有效的因素分解自注意:
为queries,keys和values,N,C分别表示tokens数和chnnels。
若L表示transformer ecoder的个数,h表示heads数目,总时间复杂度为O(LhNC^2),空间复杂度为O(LhC^2 + LhNC)。其复杂性与通道C二次相关,而线性相关与L,因此,更倾向于减少C而不是L,将路径数从单路径(即CoaT-Lite [65]基线)扩展到三重路径。
实验发现,虽然三路径和双路径在ImageNet分类中产生相似的精度,但三路径模型在密集预测任务中表现出更好的性能。
Exploring path dimension.
i)层数(即更深)比嵌入维度(即更宽)更重要,这意味着更深、更薄的结构在性能方面更好。ii)多粒度标记embeding和多路径结构可以为对象检测器提供更丰富的特征表示。iii)在相同模型大小和flop的约束下,三个路径是最佳选择。
扩展路径维度的策略并没有增加内存负担。双路径(a)和三路径(b,c)比单路径消耗更少的内存。此外,(a)和(b)比(c)消耗更多的内存,因为(a)和(b)在第三阶段和第四阶段有更大的C。这是因为C(二次)比L(线性)是内存使用的因素。因此,减少嵌入维数和扩展路径维数和层(更深层次)的策略导致了一个内存高效的模型。然而,与单路径结构相比,由于多路径结构而导致的总层数的增长降低了推理速度。
Global-to-Local feature Interaction. 对于add和concat,concat更加有效
Model Capacity Analysis. MPViT参数量更小,更高效
Qualitative Analysis. CoaT-Lite和path-1的注意图具有相似的补丁大小和显示相似的注意图。可以观察到路径3的注意映射,它关注更高层次的大补丁,更以物体为中心,精确地捕捉了物体的范围,如图4最右列所示。然而,与此同时,路径-3抑制了小物体和噪声。相反,路径1由于精细的补丁而关注小对象,但由于使用低级表示,不能精确捕获大对象的边界。这在图4的第3行中尤为明显,路径1捕捉到一个较小的球,而路径3捕捉到一个较大的人。这些结果表明,通过多路径结构结合精细和粗糙的特征,可以在给定的视觉输入中捕获不同尺度的对象。
Limitation and Future works.MPViT模型的一个可能的限制是推理时的延迟。如表7所示,MPViT-S的推理时间比Swin-T和XCiT-S12/16要慢。可能原因是多路径结构导致GPU利用率次优。为了缓解这个问题,作者目前正在有效地实现模型,以加速MPViT的推理,它将不同尺度的特征集成到一个张量中,然后用该张量进行多头自注意。这将提高并行化和GPU的利用率。此外,为了在精度/速度之间实现平衡的权衡,作者将进一步考虑复合缩放策略[15,49]中的路径维度,以考虑在增加/减少模型容量时的深度、宽度和分辨率的最佳组合。
A.3. More Qualitative Results
如等式中所示(4),[65]中的因子分解自注意首先通过在空间维度(x,y)上应用softmax来提取通道级注意softmax (K)。然后,softmax (K)T V计算如下:
其中x和y是标记的位置。ci和cj分别表示K和V的通道指数。它可以解释为以像素的方式乘以通道空间注意,然后乘以空间维度的和。换句话说,softmax (K)T V表示V的加权和,其中每个位置(x,y)的权重是通道方向的空间注意。因此,为了获得每个位置的重要性,在通道维度上采用了softmax (K)的平均值,从而产生空间注意。