Next-ViT: Next Generation Vision Transformer for Efficient Deployment in Realistic Industrial Scenarios
论文:https://arxiv.org/abs/2207.05501
代码:https://github.com/bytedance/Next-ViT
达摩院modelscope开源平台Next-ViT模型快速体验: ModelScope 魔搭社区
由于复杂的注意力机制和模型设计,大多数现有的ViTs在现实的工业部署场景中不能像CNNs那样高效地执行,例如TensorRT和CoreML。这带来了一个明显的挑战:视觉神经网络能否设计为与CNN一样快的推理和与ViT一样强大的性能?最近很多工作试图设计CNN-Transformer混合架构来解决这个问题,但这些工作的整体性能远不能令人满意。为了结束这些,本文作者提出了在现实工业场景中有效部署的Next Generation Vision Transformer,即Next-ViT,从延迟/准确性权衡的角度来看,它在CNN和ViT中均占主导地位。在这项工作中,分别开发了Next Convolution Block(NCB)和Next Transformer Block(NTB),以通过部署友好的机制捕获局部和全局信息。然后,Next Hybrid Strategy(NHS) 旨在以高效的混合范式堆叠NCB和NTB,从而提高各种下游任务的性能。大量实验表明,在跨各种视觉任务的延迟/准确性权衡方面,Next-ViT 显著优于现有的CNN、ViT和CNN-Transformer混合架构。在TensorRT上,Next-ViT在COCO检测上超过ResNet 5.4 mAP(从 40.4 到 45.8),在ADE20K分割上超过 8.2% mIoU(从 38.8% 到 47.0%),其推理延迟相差无几。同时,在与CSWin相当的性能,同时推理速度提高了 3.6 倍。在CoreML上,Next-ViT 在COCO检测上超过EfficientFormer 4.6 mAP(从 42.6 到 47.2),在ADE20K分割上超过 3.5% mIoU(从 45.2% 到 48.7%)。我们的代码和模型公开在:
近年来 ViTs 在业界和学术界受到了越来越多的关注,并在图像分类、目标检测、语义分割等各种计算机视觉任务中取得了很大的成功。然而,从现实世界部署的角度来看,cnn仍然主导着视觉任务,因为vit通常比经典的cnn要慢得多,例如ResNets。包括多头自注意力(MHSA)机制其复杂度与Token长度呈二次关系、不可融合的LayerNorm和GELU层、复杂模型设计导致频繁的内存访问和复制等因素限制了ViTs模型的推理速度。
许多工作都在努力将 vit 从高延迟的困境中解放出来。例如,Swin 和 PVT 试图设计更有效的空间注意力机制,以缓解 MHSA 二次增加的计算复杂度。其他的工作也在考虑结合有效的卷积块和强大的Transformer Block来设计CNN-Transformer混合架构,以获得在精度和延迟之间更好的权衡。巧合的是,几乎所有现有的混合架构都在浅层阶段采用卷积块,在最后几个阶段只采用堆栈Transformer Block。
然而,作者观察到,这种混合策略可能会地导致下游任务(例如分割和检测)的性能饱和。此外,作者还发现,在现有的工作中,卷积块和Transformer Block都不能同时具有效率和性能的特征。虽然与 vit 相比,精度-延迟的权衡得到了改善,但现有的混合架构的整体性能仍远远不够令人满意。
为了解决上述问题,这项工作开发了3个重要组件来设计高效的视觉 Transformer 网络。
基于上述方法提出了用于现实工业部署场景的next generation vision Transformer(简称为Next-ViT)。在本文中,为了提供一个公平的比较,作者提供了一个观点,将特定硬件上的延迟视为直接的效率反馈。TensorRT 和 CoreML 分别代表了服务器端和移动设备的通用和易于部署的解决方案,有助于提供令人信服的面向硬件的性能指导。通过这种直接和准确的指导,重新绘制了图1中几个现有竞争模型的准确性和延迟权衡图。如图1(a)(d)所示,Next-ViT在ImageNet-1K分类任务上实现了最佳的延迟/准确性权衡。更重要的是,Next-ViT在下游任务上显示出了更显著的延迟/准确性权衡优势。
如图1(b)(c)所示,在TensorRT上与ResNet相比,Next-ViT在COCO检测上优于5.4mAP(从40.4到45.8),在ADE20K分割上优于8.2%mIoU(从38.8%到47.0%)。Next-ViT实现了与CSWin相当的性能,而推理速度提高了3.6×。
如图1(e)(f)所示,在CoreML上与EfficientFormer相比,Next-ViT超过了4.6mAP(从42.6到47.2),在ADE20K分割上超过3.6%mIoU(从45.2%到48.7%)。
我们的主要贡献总结如下:
卷积网络。在过去的十年里,卷积神经网络(cnn)已经主导了视觉各种计算机视觉任务的架构,包括图像分类、目标检测和语义分割。ResNet[10]使用剩余连接为消除网络退化,确保网络运行正常Network构建得更深入,可以捕获高级抽象。DenseNet[13]交替增强特性重用并通过密集连接连接特征图。mobilenet[12,30]引入了深度卷积和逐点卷积建立小内存模型和低延迟。ShuffleNet[46]采用组点策略通过卷积和信道洗牌来减少计算量进一步的成本。ShuffleNetv2[24]提议那个网络架构设计应该考虑直接度量比如速度,而不是像失败这样的间接指标。ConvNeXt[22]回顾了视觉变形金刚的设计提出了一个能够很好地竞争的纯CNN模型与SOTA分层视觉变形横跨多种计算机视觉基准,同时保留简单高效的标准cnn。
视觉Transformers。变压器最早是在自然语言处理(NLP)领域提出的。ViT[7]将图像分割成patch,并将这些patch作为文字来进行自我注意,这表明Transformer在各种视觉任务中也取得了令人印象深刻的表现。DeiT[33]引入了一种针对变形金刚的师生策略。T2T- vit[44]引入了一种新颖的令牌到令牌(T2T)过程,以逐步将图像标记为令牌,并在结构上聚合令牌。Swin Transformer[21]提出了一种通用的Transformer骨干,该骨干构造层次特征映射,计算复杂度与图像大小呈线性关系。PiT[11]将池化层合并到ViT中,并通过广泛的实验表明,这些优点可以很好地协调到ViT中。如今,研究人员更加关注效率,包括高效自我注意、训练策略、金字塔设计等。
混合模型。最近的研究[8,19,25,31,37,48]表明,将卷积和Transformer结合作为一种混合架构有助于吸收这两种架构的优点。在ResNet的最后三个瓶颈块中,BoTNet[31]用全局自关注来替换空间卷积。CvT[37]在自我注意前引入了深度卷积和点卷积。CMT[8]提出了一种新的基于Transformer的混合网络,利用Transformer获取远程依赖关系,利用CNN对局部特征进行建模。在Mobile- ViT[25]中,介绍了一种轻量级通用的移动设备视觉转换器。Mobile-Former[2]与所提出的轻量级交叉关注模型相结合,不仅计算效率高,而且具有更强的表示能力。高效-前[19]遵循尺寸一致的设计,平稳地利用硬件友好的4D MetaBlocks和强大的3D MHSA块。在本文中,我们设计了一系列Next-ViT模型,它们更适应现实的工业场景。
在本节中,我们首先演示拟议的Next-ViT的概述。然后,我们讨论了Next- vit中的一些核心设计,包括Next卷积模块(NCB)、Next变压器模块(NTB)和Next混合策略(NHS)。此外,我们还提供了不同模型大小的体系结构规范。
Next-ViT 的整体架构如下图 2 所示。Next-ViT 遵循分层金字塔架构,在每个阶段配备一个 patch 嵌入层和一系列卷积或 Transformer 块。空间分辨率将逐步降低为原来的 1/32,而通道维度将按阶段扩展。研究者首先深入设计了信息交互的核心模块,并分别开发强大的 NCB 和 NTB 来模拟视觉数据中的短期和长期依赖关系。NTB 中还进行了局部和全局信息的融合,进一步提高了建模能力。最后,为了克服现有方法的固有缺陷,该研究系统地研究了卷积和 Transformer 块的集成方式,提出了 NHS 策略,来堆叠 NCB 和 NTB 构建新型 CNN-Transformer 混合架构。
为了展示所提出的 NCB 的优越性,首先重新审视卷积和 Transformer blocks 的一些经典结构设计,如图 3 所示。ResNet 提出的 BottleNeck 块因其固有的归纳偏差和部署而在视觉神经网络中长期占据主导地位。大多数硬件平台的友好特性。
不幸的是,与 Transformer 模块相比,BottleNeck 模块的有效性并不能令人满意。ConvNeXt 模块通过模仿 Transformer 模块的设计使 BottleNeck 模块现代化。虽然 ConvNeXt 块部分提高了网络性能,但它在 TensorRT/CoreML 上的推理速度受到低效组件的严重限制,例如 7×7深度卷积、LayerNorm 和 GELU。Transformer blocks在各种视觉任务中取得了优异的成绩,其内在优势是由 MetaFormer 的范式和基于注意力的token mixer模块共同赋予的。然而,Transformer blocks的推理速度比 TensorRT 和 CoreML 上的 BottleNeck 块要慢得多,因为其注意力机制复杂,这在大多数现实工业场景中是难以承受的。
为了克服上述Block的失败,作者引入了 Next Convolution Block (NCB),它在保持 BottleNeck 块的部署优势的同时获得了作为 Transformer 块的突出性能。如图 3(f) 所示,NCB 遵循 MetaFormer 的一般架构,经验证对 Transformer Block 至关重要。与此同时,一个高效的基于注意力的token mixer同样重要。这里作者设计了一种新颖的多头卷积注意力(MHCA)作为具有部署友好卷积操作的高效token mixer。最后,在 MetaFormer 的范式中使用 MHCA 和 MLP 层构建 NCB。提出的 NCB 可以表述如下:
其中, zl−1 表示来自 l−1 块的输入, zl 和 zl 是 MHCA 和 l NCB 的输出。
为了将现有的基于注意力的token mixer从高延迟困境中解放出来,作者设计了一种新的具有高效卷积操作的注意力机制,即卷积注意力(CA),以实现快速推理速度。同时,受 MHSA 中有效多头设计的启发,这里也采用多头范式构建卷积注意力机制,该范式联合关注来自不同位置的不同表示子空间的信息,以实现有效的局部表示学习。所提出的多头卷积注意力(MHCA)的定义可概括如下:
在这里,MHCA从h个并行表示子空间中捕获信息。为了促进多个头部之间的信息交互,还为MHCA配备了一个投影层(WP)。z=[z1,z2,…,zh]表示将输入特征z在通道维度上划分为多头形式。CA是一种单头卷积注意力,可以定义为:
其中 Tm 和 Tn 是输入特征 z 中的相邻 Token。 0 是具有可训练参数 W 和输入 Token T{m,n} 的 内积运算。CA 能够通过迭代优化可训练参数 W来学习局部感受野中不同 Token 之间的亲和 力。
具体而言,MHCA 的实现是通过组卷积(多头卷积)和逐点卷积进行的,如图3(f)所示。在所有 MHCA 中将 head dim 统一设置为 32,以便在 TensorRT 上使用各种优化进行快速推理。此外,在 NCB 中采用了高效的 BatchNorm (BN) 和 ReLU 激活函数,而不是传统 Transformer Block 中的 LayerNorm (LN) 和 GELU,进一步加快了推理速度。消融研究中的实验结果表明,与现有块相比,NCB 具有优越性,例如 BottleNeck 块、ConvNext 块、LSA 块等。
虽然通过NCB已经有效地学习了局部表示,但全局信息的捕获迫切需要解决。Transformer Block具有较强的捕获低频信号的能力,从而提供全局信息(例如全局形状和结构)。然而,相关研究观察到,Transformer Block可能会在一定程度上恶化高频信息,如局部纹理信息。不同频率段的信号在人类视觉系统中是不可缺少的,并将以某种特定的方式融合,提取更基本和明显的特征。
基于这些观察结果,作者开发了Next Transformer Block(NTB)来捕获轻量级机制中的多频信号。此外,NTB 作为一种有效的多频信号混频器,进一步提高了整体建模能力。如图2所示,NTB首先采用高效的多头自注意力(E-MHSA)捕获低频信号,可以描述为:
其中,表示将输入特征z在通道维数上划分为多头形式。SA是一种空间缩减自注意力算子,其灵感来自于线性SRA,其表现为:
其中,注意力表示一个标准的注意力计算方法:
Ps是一种具有Stride的Avg-pool操作,用于在注意力操作前对空间维度进行降采样,以降低计算成本。具体来说,作者观察到E-MHSA模块的时间消耗也很大程度地受到其通道数量的影响。因此,NTB在E-MHSA模块之前使用点卷积进行通道降维,以进一步加速推理。引入了一个收缩比r来减少通道。作者还在E-MHSA模块中使用BN来实现非常高效的部署。
此外,NTB还配备了一个MHCA模块,与E-MHSA模块合作,以捕获多频信号。之后,来自E-MHSA和MHCA的输出特征被连接起来,以混合高低频信息。最后,最后借用MLP层来提取更基本和明显的特征。简单地说,NTB的实现可以表述如下:
其中 z~l、z^l 和 zl 分别表示 E-MHSA、MHCA 和 NTB 的输出。Pro 表示用于通道投影的逐点 卷积层。此外, NTB 统一采用 BN 和 ReLU 作为有效范数和激活层, 而不是 LN 和 GELU。 与传统的 Transformer 模块相比, NTB 能够在轻量级机制中捕获和混合多频信息, 极大地提 升模型性能。
最近的一些工作已经付出了巨大的努力,以结合CNN和 Transformer 的有效部署。如图4(b)(c)所示,几乎所有它们在浅阶段都单调地采用卷积块,在最后一两个阶段只堆栈Transformer Block,在分类任务中得到了有效的效果。
不幸的是,作者观察到,这些传统的混合策略在下游任务(如分割和检测)上可以轻松地达到性能饱和。原因是,分类任务只使用最后一阶段的输出来进行预测,而下游任务(如分割和检测)通常依赖于每个阶段的特征来获得更好的结果。然而,传统的混合策略只是在最后几个阶段堆叠Transformer Block。因此,浅层阶段无法捕获全局信息,例如物体的全局形状和结构,这对分割和检测任务至关重要。
为了克服现有混合策略的失败,作者提出了一种新的混合策略 (NHS),它创造性地将卷积块 (NCB) 和Transformer Block (NTB) 与 (N+1)* L 混合范式堆叠在一起。NHS在控制 Transformer Block的比例的情况下,显著提升下游任务中的模型性能,以实现高效部署。
首先,为了赋予浅层捕获全局信息的能力,作者提出了一种新颖的(NCB×N+NTB×1)模式混合策略,在每个阶段依次堆叠N个NCB和一个NTB,如图所示4(d)。具体来说, Transformer Block (NTB) 放置在每个阶段的末尾,这使模型能够学习浅层中的全局表示。作者进行了一系列实验来验证所提出的混合策略的优越性。不同混合策略的性能如表1所示。C表示在一个阶段均匀堆叠卷积块(NCB),T表示与 Transformer Block(NTB)一致地构建一个阶段。
特别地, HN 表示在相应阶段以 (NCB×N+NTB×1) 模式堆叠 NCB 和 NTB。表 1 中的所有型号 都配备了4个阶段。例如, CCCC 表示在所有 4 个阶段中始终使用卷积块。为了公平比较, 在相 似的 TensorRT 延迟下构建所有模型。第 4 节介绍了更多实现细节。如表 1 所示, 与下游任务 中的现有方法相比, 所提出的混合策略显着提高了模型性能。 CHNHNHN 达到最佳综合性 能。例如, CHNHNHN 在检测中超过 CCCT0.8mAP, 在分割中超过 0.9%mIoU 。此外, HNHNHNHN 的结果表明, 将 Transformer Block 放置在第1阶段会恶化模型的延迟-准确性 权衡。
通过增加第3阶段作为 ResNet 的块数进一步验证了CHNHNHN在大型模型上的一般有效性。表2前3行的实验结果表明,大模型的性能难以提升并逐渐达到饱和。这种现象表明,通过扩大 (NCB × N + NTB × 1) 模式的 N 来扩大模型大小,即简单地添加更多的卷积块并不是最佳选择。这也意味着(NCB × N + NTB × 1)模式中的 N 值可能会严重影响模型性能。
因此,作者通过广泛的实验探索 N 的值对模型性能的影响。如表 2(中)所示,在第3阶段构建了具有不同 N 配置的模型。为了建立具有相似延迟的模型以进行公平比较,在 N 的值较小时堆叠 L 组 (NCB × N + NTB × 1) 模式。令人惊讶的是,作者发现 (NCB × N + NTB × 1) × L 模式中的堆栈 NCB 和 NTB 与 (NCB × N + NTB × 1) 模式相比获得了更好的模型性能。
它表示以适当的方式(NCB × N + NTB × 1)重复组合低频信号提取器和高频信号提取器会带来更高质量的表示学习。如表 2 所示,第3阶段 N = 4 的模型实现了性能和延迟之间的最佳折衷。通过在第3阶段扩大 (NCB × 4 + NTB × 1) × L 模式的 L 来进一步构建更大的模型。
如表2(下)所示,Base(L = 4)和Large(L = 6)模型的性能相对于小模型有显著提升,验证了所提出的(NCB × N + NTB × 1)的一般有效性 × L 模式。使用 N = 4 作为本文其余部分的基本配置。
将 NCB 和 NTB 与上面的 Next Hybrid Strategy 进行叠加来构建 Next-ViT,可以正式定义为:
其中 i ∈ (1, 2, 3, 4) 表示阶段索引。Ψ 表示 NCB。Γ 表示当 i = 1 时的id层,否则为 NTB。最后,H 表示顺序堆叠阶段的操作。
为了与其他 SOTA 网络进行公平比较,我们提出了三个典型的变体,即 Next-ViT-S/B/L。架构规范如表 3 所示,其中 C 表示阶段的输出通道,S 表示卷积或 Avg 池中的步幅。此外,NTB中E-MHSA和MHCA的信道比例r设置为0.75,E-MHSA中不同阶段的空间缩减率s为[8,4,2,1]。每个 MLP 层的扩展比设置为 2,E-MHSA 和 MHCA 中的 head dim 设置为 32。对于归一化和激活函数,NCB 和 NTB 块都使用 BatchNorm 和 ReLU。
我们在ImageNet-1K[29]上进行了图像分类实验,其中包含约1.28M训练图像和50K来自1K类别的验证图像。为了进行公平的比较,我们遵循最近的视觉变压器的训练设置[3,18,36,42],并进行微小的改变。具体来说,所有Next-ViT变体在8个V100 gpu上训练了300个epoch,总批处理大小为2048。输入图像的分辨率被调整为224x224。我们采用AdamW[23]作为权重衰减为0.1的优化器。学习率逐渐衰减基于初始化2e-3的余弦策略和使用20个epoch的线性预热策略的所有Next- ViT变体。此外,我们还采用了increasing stochastic depth augmentation[14],next - vits /B/L的最大下降路径速率分别为0.1、0.2、0.2。带有y的模型按照SSLD[4]在大规模数据集上训练。对于384x384输入大小,我们用1e-8的权重衰减、1e-5的学习率、1024的批大小对模型进行30个epoch的微调。表4中的延迟是根据T4 GPU (batch size=8)的TensorRT-8.0.3框架和ios16.0 (batch size=1)的iPhone12 Pro Max上的CoreML框架统一测量的。请注意,iPhone 12和iPhone 12 Pro Max都配备了相同的A14处理器。
如表4所示,与最新的最先进的方法(如CNNs、vit和混合网络)相比,我们实现了精度和延迟之间的最佳权衡。具体来说,与ResNet101[10]等著名的cnn相比,next - vits在TensorRT上的延迟相似,在CoreML上的速度更快(从4.0ms到3.5ms),准确率提高了1.7%。同时,Next-ViTL实现了与effecentnet - b5[32]和ConvNeXt-B类似的精度,而在TensorRT上更快4.0和1.4,在CoreML上更快3.2和44。在高级vit方面,next - ViTs比twin - svt - s[3]性能高0.8%,在TensorRT上的推理速度快1.3倍。next - vitb超过cwin - t[6] 0.5%,而在TensorRT上压缩了64%的推断延迟。最后,与最近的混合方法相比,next - vits在TensorRT和CoreML上的速度分别快了1.8和1.4,比CMT-XS高出0.7%。与effecent- l7[19]相比,next - vitl在CoreML上的运行时间减少了20%,在TensorRT上的运行时间减少了25%,同时性能从83.3%提高到83.6%。Next- viti - l还获得了15%的推断延迟增益,并取得了比TRTViT- d更好的性能。这些结果表明,提出的Next-ViT设计是一种有效的和有前途的范式。
为了进一步验证Next-ViT的容量,我们在ADE20K[47]上进行了语义分割实验,其中包含了150个类别的约20K训练图像和2K验证图像。为了进行公平的比较,我们还遵循了之前的vision transformer[3,21,36]在Semantic FPN[16]和UperNet[39]框架上的训练惯例。大多数模型在ImageNet-1k上进行预训练,带有y的模型在大规模数据集上进行预训练。所有模型以分辨率224x224进行预训练,然后在输入尺寸为512 512的ADE20K上进行训练。对于语义FPN框架,我们采用了学习率和权重衰减均为0.0001的AdamW优化器。然后根据next - vits /B/L的随机深度为0.2,对整个网络进行40K次的训练,总批大小为32次。为了在supernet框架上进行训练和测试,我们还训练了160K次迭代,随机深度为0.2。也使用了AdamW优化器,但学习率为6 105,总批大小为16,权重衰减为0.01。然后,我们对mIoU进行了单尺度和多尺度(MS)的测试,MS的范围为0.5 ~ 1.75,间隔为0.25。对于检测和分割任务,由于Mask R-CNN和Upernet中的一些模块不容易部署在TensorRT和CoreML上,我们只测量骨干的延迟来进行公平的比较,测试环境与classification相同。为简单起见,表5和表6中统一使用512x512的输入大小来测量时延。
在表5中,我们也与CNNs、ViTs和最近的混合方法进行了比较。next - vitd - s分别比ResNet101[10]和ResNeXt101-32x4d[40]高出7.7%和6.8% mIoU。next - vitb比cwin - t快0.4% mIoU,在TensorRT上推理速度快2.5。与均流- s /B[17]相比,next - vitb /L在CoreML和TensorRT上分别提高了2.0%和1.1% mIoU性能,提高了0.4 /1.3和0.8 /1.6。next - vitb比EfficientFormer- L7[19]高出3.5% mIoU,具有类似的CoreML运行时间和TensorRT上38%的更少延迟。在upper - Net[39]框架上,next - vits优于最近SOTA CNN模型ConvNeXt [22] 2.3% MS mIoU,在TensorRT和CoreML上分别快1.0和18.0。与CSWin-S[6]相比,next - vitl在类似性能的TensorRT上实现了3.6倍的速度。大量的实验表明,我们的Next-ViT在分割任务上有很好的潜力。
接下来,我们在基于Mask R-CNN[9]框架和COCO2017[20]的目标检测和实例分割任务[20]上评估Next- vit。具体来说,我们所有的模型都是在ImageNet-1K上进行预训练,然后按照之前作品的设置进行微调[3,21,36]。对于12 epoch(1)实验,我们使用了权重衰减为0.05的AdamW优化器。在训练过程中,一个热身有500次迭代,在第8和11个epoch,学习率将下降10。基于36个epoch(3)的多尺度(MS)训练实验,利用调整后的图像对模型进行训练,使短边在480 ~ 800之间,长边最多为1333。在第27和33时代,学习率将下降10。其他设置与1相同。
表6给出了Mask R-CNN框架下的评价结果。根据1时刻表,next - vits比ResNet101[10]和ResNeSt50[45]多出5.5 APb和3.3 APb。next - vitl比PVTv2-B4[35]快0.5 APb,预计在TensorRT和CoreML上能更快4.0和3.9个运行时间。与effecent前- l7[19]相比,next - vitb将APb从42.6提高到47.2,CoreML延迟相似,TensorRT运行时间减少39%。其次,vitb的性能比trt - vitd[38]高出1.9 APb,但在TensorRT和CoreML上仍然更快。在3时刻表的基础上,Next-ViT显示出与1相同的优势。
具体来说,next - vits在延迟类似的情况下比ResNet101多5.2 APb。与twin - svt - s相比,Next- vits在TensorRT上实现了更高1.2 APb的性能,但速度更快3.2 APb。next - vitb的预测时间比CSwin- T少了2.5个APb。对于next - vitl,它在对象检测和实例分割方面表现出与CSwin[6]相似的性能,但推理速度提高了79%。
为了更好地理解 Next-ViT,研究者通过评估其在 ImageNet-1K 分类和下游任务上的性能来分析每个关键设计的作用,并将输出特征的傅里叶谱和热图可视化,以显示 Next-ViT 的内在优势。
为了验证所提出的NCB的有效性,我们将Next-ViT中的NCB替换为著名的块,如ResNet[10]中的瓶颈块、ConvNeXt[22]块、Twins[3]中的LSA块等。为了进行公平的比较,我们始终使用NTB和NHS在TensorRT上的类似延迟下构建不同的模型。
如表7所示,NCB在所有三个任务中都实现了最佳的延迟/精度权衡,这验证了所提出的NCB的优势。例如,NCB在分类上优于最近的ConvNeXt块[10]2.9%,在检测上优于4.5 APb,在分割上优于2.8% mIoU。
此外,我们还探讨了Next变压器块的收缩比r对Next- vit整体性能的影响。如表8所示,减小收缩比r,即E-MHSA模块的信道数,可以减小模型延迟。此外,r = 0:75和r = 0:5的模型比纯Transformer (r = 1)的模型性能更好,这表明适当融合多频信号将增强模型的表示学习能力。
特别地,r = 0:75的模型实现了最佳的延迟/精度权衡。它在分类、检测和分割方面的性能优于基线模型(r = 1:0), APb为0.4%,mIoU为0.5,mIoU为1.0%,同时更加轻量级。上述结果表明了所提出的NTB区块的有效性。
我们进一步研究了Next-ViT中不同规范化层和激活函数的影响。如表9所示,LN和GELU带来的性能改善可以忽略不计,但在TensorRT上的推断延迟明显更高。另一方面,BN和ReLU在整体任务上实现了最佳的延迟/准确性权衡。因此,我们在Next-ViT中统一使用BN和ReLU,以便在现实的工业场景中高效部署。
为了验证我们Next-ViT的优越性,我们在图5 (a)中可视化了ResNet、Swin Transformer和Next-ViT输出特征的傅里叶谱和热图。ResNet的频谱分布表明卷积块倾向于捕捉高频信号,而难以聚焦低频信息。另一方面,ViT专家捕捉低频信号,但忽略高频信号。最后,Next-ViT能够同时捕获高质量的多频信号,证明了NTB的有效性。
此外,如图5 (b)所示,我们可以看到Next-ViT与ResNet和Swin相比,可以捕捉到更丰富的纹理信息和更准确的全局信息(如边缘形状),这说明Next-ViT的建模能力更强。
在本文中,我们提出了一个Next- vit家族,该家族以一种新颖的策略将高效的Next卷积块和Next变压器块堆叠在一起,构建强大的CNNTransformer混合架构,以便在移动设备和服务器GPU上高效部署。实验结果表明,Next-ViT在不同的视觉任务(如图像分类、目标检测和语义分割)中实现了最先进的延迟/精度权衡。我们相信,在视觉神经网络设计方面,我们的工作在学术研究和工业部署之间搭建了一个稳定的桥梁。我们希望我们的工作能够为现实工业部署提供新的见解,推动更多的神经网络架构设计研究。
达摩院modelscope开源平台Next-ViT模型快速体验: ModelScope 魔搭社区