Next-ViT学习笔记

Next-ViT学习笔记

Next-ViT: Next Generation Vision Transformer for Efficient Deployment in Realistic Industrial Scenarios

Abstract

由于复杂的注意力机制和模型设计,大多数现有的视觉变换器(VIT)在现实的工业部署场景(例如TensorRT和CoreML)中的性能不如卷积神经网络(CNN)。这提出了一个明显的挑战:视觉神经网络的设计能否像CNN一样快速推断,并像VIT一样强大?最近的工作试图设计CNN-Transformer 混合架构来解决这个问题,但这些工作的整体性能远不能令人满意。为此,我们提出了一种新一代视觉Transformer,用于在现实工业场景中高效部署,即Next-ViT,从延迟/准确性权衡的角度来看,它在CNN和ViT中占主导地位。在这项工作中,分别开发了Next卷积块(NCB)和Next变换块(NTB),以使用部署友好的机制捕获局部和全局信息。然后,设计了Next混合策略(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.6MAP(从42.6到47.2),在ADE20K分割上比EFIFICENTFORMEr高3.5%mIoU(从45.2%到48.7%)。代码将于近期发布。

1、Introduction

最近,视觉变换器(VIT)在工业界和学术界受到了越来越多的关注,并在各种计算机视觉任务中取得了很大的成功,如图像分类、目标检测、语义分割等。然而,从实际部署的角度来看,CNN仍然主导着视觉任务,因为VIT通常比经典CNN(例如ResNets)慢得多。有一些因素限制了Transformer模型的推理速度,包括关于多头自注意力(MHSA)机制的令牌长度的二次复杂度、 non-foldable LayerNorm和GELU层,复杂模型设计导致频繁的内存访问和复制等。

许多作品都在努力将VIT从高延迟困境中解放出来。例如,SWN Transformer[19]和PVT[34]试图设计更有效的空间注意机制,以缓解MHSA二次增加的计算复杂度。其他人[4、17、23]考虑结合高效卷积块和强大的变换块来设计CNN-Transformer混合架构,以在准确性和延迟之间获得更好的权衡。巧合的是,几乎所有现有的混合架构[4、17、23]在浅层阶段采用卷积块,在最后几个阶段仅采用堆栈变换块。然而,我们观察到,这种混合策略很容易导致下游任务(例如分割和检测)的性能饱和。此外,我们发现现有工作中的卷积块和变换块不能同时具有效率和性能的特征。虽然与Vision Transformer相比,准确性-延迟权衡有所改善,但现有混合架构的整体性能仍远不能令人满意。

为了解决上述问题,本文开发了三个重要组件来设计高效的视觉Transformer网络,首先,我们介绍了Next-卷积块(NCB),该卷积块擅长使用一种新的部署友好型Multi-Head Convolutional Attention(MHCA)捕捉视觉数据中的短期依赖信息。其次,我们构建了Next Transformer Block(NTB),NTB不仅是捕捉长期依赖信息的专家,而且还是一个轻量级的高低频信号混合器,以增强建模能力。最后,我们设计了Next-混合策略(NHS),在每个阶段以一种新的混合范式堆叠NCB和NTB,这大大减少了变换块的比例,并在各种下游任务中保持了视觉变换网络的高精度。

基于以上提出的方法,我们提出了适用于现实工业部署场景的下一代视觉转换器(缩写为next ViT)。在本文中,为了进行公平的比较,我们提供了一种将特定硬件上的延迟视为直接效率反馈的观点。TensorRT和CoreML分别代表服务器端和移动端设备的通用且易于部署的解决方案,有助于提供令人信服的面向硬件的性能指导。在这种直接而准确的指导下,我们在图1中重新绘制了几个现有竞争模型的准确性和延迟权衡图。如图1(a)(d)所示,Next-ViT在ImageNet-1K分类任务中实现了最佳延迟/准确性权衡。更重要的是,Next ViT在下游任务上显示出更显著的延迟/准确性权衡优势。如图1(b)(c)所示,在TensorRT上,Next ViT在COCO检测上优于ResNet 5.4 mAP(从40.4到45.8),在类似延迟下,在ADE20K分割上优于ResNet 8.2%mIoU(从38.8%到47.0%)。Next-ViT实现了与CSWin相当的性能,同时推理速度提高了3.6×。如图1(e)(f)所示,在CoreML上,Next-ViT在COCO检测上超过了EfficientFormer 4.6 mAP(从42.6到47.2),在相似的CoreML延迟下,在ADE20K分割上超过了3.6%mIoU(从45.2%到48.7%)。

image-20220731115842212

image-20220731115902349

image-20220731115914955

我们的主要贡献总结如下:

1)我们开发了具有部署友好机制的强大卷积块和变换块,即NCB和NTB。Next-ViT堆栈NCB和NTB 构建先进的CNN-Transformer混合架构。

2)我们从一个新的角度设计了一种创新的CNN Transformer混合策略,该策略可以高效地提高性能。

3)我们介绍了Next-。大量实验证明了Next ViT的优势。它在TensorRT和CoreML上实现了图像分类、目标检测和语义分割的SOTA延迟/精度权衡。

我们相信,在视觉神经网络设计方面,我们的工作在学术研究和工业部署之间搭建了一座稳定的桥梁。我们希望,我们的工作将为实际工业部署提供新的见解,并推动更多的神经网络架构设计研究。

2. Related Work

Convolutional Networks

在过去十年中,卷积神经网络(CNN)在各种计算机视觉任务中占据主导地位,包括图像分类、目标检测和语义分割。ResNet[9]使用剩余连接来消除网络退化,确保网络构建更深,并能够捕获高层抽象。DenseNet[12]交替增强特征重用,并通过密集连接连接特征映射。MobileNet[11,28]引入深度卷积和点卷积来构建内存小、延迟低的模型。ShuffleNet[43]采用分组逐点卷积和信道洗牌来进一步降低计算成本。ShuffleteV2[22]提出,网络架构设计应考虑速度等直接指标,而不是类似浮点运算的间接指标。ConvNeXt[20]回顾了视觉变换器的设计并提出了一种纯CNN模型,该模型可以在多个计算机视觉基准上与SOTA分层视觉变换器竞争,同时保持标准CNN的简单性和效率。

Vision Transformers

Transformer是在自然语言处理领域首次提出的。ViT[6]将图像分割成小块,并将这些小块视为文字来执行自我注意力,这表明Transformer在各种视觉任务中也取得了令人印象深刻的性能。DeiT[31]介绍了一种针对变形金刚的师生策略。T2T ViT[41]引入了一种新的令牌到令牌(T2T)过程,以逐步将图像令牌化为令牌,并在结构上聚合令牌。Swin Transformer[19]提出了一种通用的Transformer主干,它构造了层次特征映射,并且具有与图像大小成线性关系的计算复杂度。PiT[10]在ViT中加入了一个池层,并通过大量实验表明,这些优势可以很好地与ViT协调。如今,研究人员更加关注效率,包括有效的自我注意力、训练策略、金字塔设计等

Hybrid Models.

最近的工作[7、17、23、29、35]表明,将卷积和Transformer结合作为一种混合架构有助于吸收这两种架构的优点。BoTNet[29]在ResNet的最后三个瓶颈块中用全局自注意力取代了空间卷积。CvT[35]在自我注意力之前引入了深度卷积和点卷积。CMT[7]提出了一种新的基于变换器的混合网络,利用变换器捕捉长程依赖关系,并利用CNN对局部特征进行建模。在MobileViT[23]中,介绍了一种用于移动设备的轻型通用视觉转换器。移动前者[2]与提出的轻量级交叉注意力相结合,对桥梁进行建模,不仅计算效率高,而且具有更大的表示能力。EfficientFormer[17]符合尺寸一致性设计,能够顺利利用硬件友好的4DMetaBlocks和强大的3D MHSA块。在本文中,我们设计了一系列更适合现实工业场景的下一代ViT模型。

3. Methods

在本节中,我们首先演示拟议的Next-ViT的概述。然后,我们讨论了Next-ViT中的一些核心设计,包括Next-卷积块(NCB)、Next-变压器块(NTB)和Next-混合策略(NHS)。此外,我们提供了不同模型尺寸的架构规范。

3.1. Overview

我们展示了Next-ViT,如图2所示。按照惯例,Next-ViT遵循分层金字塔结构,每个阶段配备一个补丁嵌入层和一系列卷积或变换块。空间分辨率将逐渐降低32×同时通道尺寸将在不同阶段扩展。在本章中,我们首先深入设计信息交互的核心块,并分别开发强大的NCB和NTB来建模视觉数据中的短期和长期依存关系。局部和全局信息的融合也在NTB中执行,这进一步增强了建模能力。最后,我们系统地研究了卷积和变换块的集成方式。为了克服现有方法的固有缺陷,我们引入了Next- Hybrid Strategy,该策略将创新的网络连接断路器和非传输断路器堆叠起来,以构建我们先进的 CNN-Transformer hybrid architecture架构。

image-20220731113346695

3.2. Next Convolution Block (NCB)

为了展示所提出的神经网络连接块的优越性,我们首先回顾了卷积和变换块的一些经典结构设计,如图3所示。ResNet[9]提出的瓶颈块由于其固有的感应偏差和大多数硬件平台中易于部署的特点,在视觉神经网络中长期占据主导地位。不幸的是,与变压器块相比,瓶颈块的有效性并不令人满意。ConvNeXt块[20]通过模仿变压器块的设计使瓶颈块现代化。虽然ConvNeXt块在一定程度上提高了网络性能,但它在TensorRT/CoreML上的推理速度受到了效率低下的组件的严重限制,如7×7深度卷积、分层形式和GELU。Transformer block在各种视觉任务中都取得了出色的结果,其内在优势是由元前体[40]和基于注意力的令牌混合模块[19][5]共同赋予的。然而,由于其复杂的注意机制,Transformer块的推理速度远低于TensorRT和CoreML上的瓶颈块,这在大多数现实工业场景中是无法忍受的。

为了克服上述块的缺点,我们引入了下一个卷积块(NCB),该卷积块保持了瓶颈块的部署优势,同时获得了作为变换块的显著性能。如图3(f)所示,NCB遵循MetaFormer[40]的一般架构,经验证,该架构对变压器块至关重要。同时,有效的基于注意力的令牌混合器也同样重要。我们设计了一种新型的多头卷积注意力(MHCA)作为一种高效的令牌混合器,具有部署友好的卷积操作。最后,我们在元前体[40]的范例中构建了具有MHCA和MLP层的NCB。我们提议的NCB可制定如下:

image-20220731120924757

其中 z l − 1 z^{l−1} zl1表示来自l− 1的输入块、 z ~ l \tilde{z}^l z~l z l z^l zl是MHCA和l NCB的输出。我们将在下一节详细介绍MHCA。

image-20220731120840505

3.2.1 Multi-Head Convolutional Attention (MHCA)

为了将现有的基于注意力的令牌混合器从高延迟困境中解放出来,我们设计了一种具有高效卷积操作的新型注意力机制,即卷积注意力(CA),用于快速推理。同时,受MHSA[32]中有效的多头设计的启发,我们使用多头范式构建卷积注意力,该范式共同关注来自不同位置不同表征子空间的信息,以实现有效的局部表征学习。拟议的多头卷积注意力(MHCA)的定义可总结如下:

image-20220731121410814

在这里,MHCA从h并行表示子空间捕获信息。为了促进跨多个头部的信息交互,我们还为MHCA配备了投影层(W P)。 z = [ z 1 , z 2 , … , z h ] z=[z_1,z_2,…,z_h] z=[z1z2zh]表示在通道维度中将输入特征z划分为多头形式。CA是单头卷积注意力,可定义为:

image-20220731121503410

其中 T m T_m Tm T n T_n Tn是输入特征z中的相邻令牌。O是具有可训练参数W和输入令牌 T m , n T_{m,n} Tmn的内积运算。CA能够通过迭代优化可训练参数W来学习局部感受野中不同令牌之间的亲和力。具体来说,MHCA的实现是通过组卷积(多头卷积)和逐点卷积来实现的,如图3(f)所示。在所有MHCA中,我们将head dim统一设置为32,以提高TensorRT上各种数据类型的推理速度。此外,我们在NCB中采用了有效的BatchNorm(BN)和ReLU激活函数,而不是传统变换块中的LayerNorm(LN)和GELU,这进一步加快了推理速度。烧蚀研究中的实验结果表明,与现有块(如瓶颈块、ConvNext块、LSA块等)相比,NCB具有优越性。

3.3. Next Transformer Block (NTB)

虽然本地表示已经通过NCB有效地学习,但全局信息的捕获仍然是迫切需要解决的问题。Transformer block具有捕获低频信号的强大能力,这些信号提供全局信息(例如全局形状和结构)。然而,相关研究[25]观察到,变换块可能在一定程度上恶化高频信息,例如局部纹理信息。不同频率段的信号在人类视觉系统中不可或缺[1] [14],并将以某种特定的方式进行融合,以提取更本质、更独特的特征。

基于这些观察结果,我们开发了下一个变压器块(NTB),以在轻量级机制中捕获多频率信号。此外,NTB是一种有效的多频信号混合器,可进一步增强整体建模能力。如图2所示,NTB首先使用有效的多头自注意力(E-MHSA)捕获低频信号,其可以描述为:

image-20220801095513476

其中 z = [ z 1 , z 2 , … , z h ] z=[z_1,z_2,…,z_h] z=[z1z2zh]表示将输入特征z划分为通道维度中的多头形式。SA是一种空间归约自注意力算子,受线性SRA[33] (PVT论文中的线性空间注意力)的启发,表现为:

image-20220801100221864

其中注意力表示标准注意力,计算为 Attention ⁡ ( Q , K , V ) = softmax ⁡ ( Q K T d k ) V \operatorname{Attention}(Q, K, V)=\operatorname{softmax}\left(\frac{Q K^{T}}{d_{k}}\right) V Attention(Q,K,V)=softmax(dkQKT)V,其中 d k d_k dk表示比例因子。 W Q 、 W K 、 W V W^Q、W^K、W^V WQWKWV是用于上下文编码的线性层。 P s P_s Ps是一种具有步长s的平均池操作,用于在注意力操作之前对空间维度进行降采样,以降低计算成本。具体而言,我们观察到E-MHSA模块的时间消耗也受到其通道数量的极大影响。因此,NTB使用逐点卷积在E-MHSA模块之前执行信道降维,以进一步加速推理。引入收缩比r来减少信道。我们还利用E-MHSA模块中的批处理规范化来实现极其高效的部署。

此外,NTB配备了MHCA模块,该模块与E-MHSA模块协作以捕获多频率信号。然后,将E-MHSA和MHCA的输出特征串联起来,以混合高低频信息。最后,在最后借用MLP层来提取更本质和不同的特征。简言之,NTB的实施可以制定如下:

image-20220801100746263

其中, z ~ l 、 z ^ l 、 z l \tilde{z}^l、\hat{z}^l 、 z^l z~lz^lzl分别表示E-MHSA、MHCA和NTB的输出。Proj表示通道投影的逐点卷积层。此外,NTB统一采用BN和ReLU作为有效范数和激活层,而不是LN和GELU。与传统Transformer block相比,NTB能够在轻量级机制中捕获和混合多频率信息,这大大提高了模型性能。

3.4. Next Hybrid Strategy (NHS)

最近的一些工作[4、17、23、36]为将CNN和Transformer结合起来进行高效部署付出了巨大努力。如图4(b)(c)所示,几乎所有分类都在浅层阶段单调采用卷积块,在最后一个或两个阶段仅堆叠变换块,这在分类任务中表现出有效的结果。不幸的是,我们观察到这些传统的混合策略很容易在下游任务(例如分割和检测)上达到性能饱和。原因是,分类任务仅使用最后阶段的输出进行预测,而下游任务(例如分割和检测)通常依赖于每个阶段的特征来获得更好的结果。然而,传统的混合策略只是在最后几个阶段堆叠变压器块。因此,浅层阶段无法捕获全局信息,例如对象的全局形状和结构,这对于分割和检测任务至关重要

image-20220801101407001

为了克服现有混合策略的缺点,我们从新的角度提出了一种新的混合策略(NHS) 设计,它创造性地将卷积块(NCB)和变换块(NTB)与(N+1)∗ L堆叠在一起混合范式。NHS在控制变压器块的比例以实现高效部署的情况下,显著提高了下游任务中的模型性能。首先,为了赋予浅层阶段捕捉全局信息的能力,我们提出了一种新的( N C B × N + N T B × 1 NCB×N+NTB×1 NCB×N+NTB×1)模式的混合策略,该策略在每个阶段依次堆叠N个NCB和一个NTB,如图4(d)所示。具体来说,变换块(NTB)放置在每个阶段的末尾,这使模型能够学习浅层中的全局表示。我们进行了一系列实验来验证所提出的混合策略的优越性。差分混合策略的性能如表1所示。C表示在一个阶段中均匀堆叠卷积块(NCB),T表示使用变压器块(NTB)一致构建一个阶段。特别地,HN表示在相应阶段以( N C B × N + N T B × 1 NCB×N+NTB×1 NCB×N+NTB×1)模式叠加NCB和NTB。表1中的所有型号都配备了四个阶段。例如,C表示在所有四个阶段中一致使用卷积块。为了公平比较,我们在类似的TensorRT延迟下构建了所有模型。第4节介绍了更多的实现细节。如表1所示,与下游任务中的现有方法相比,拟议的混合策略显著提高了模型性能。 C H N CH_N CHN实现了最佳的整体性能。例如, C H N CH_N CHN在检测上优于 C T C_T CT 0.8 mAP,在分割上优于0.9%mIoU。此外,HN的结果表明,在第一阶段放置Transformer块将恶化模型的延迟精度权衡。

image-20220801102956569

通过将第三阶段中的块数增加为ResNet[9],我们进一步验证了 C H N H N H N CH_NH_NH_N CHNHNHN在大型模型上的一般有效性。表2中前三行的实验结果表明,大型模型的性能很难提升,并逐渐达到饱和。这种现象表明,通过增大(NCB×N+NTB×1)模式的N来扩展模型尺寸,即简单地添加更多卷积块不是最佳选择。这也意味着(NCB×N+NTB×1)模式中的N值可能会严重影响模型性能。因此,我们开始通过大量实验探索N值对模型性能的影响。如表2(中间)所示,我们在第三阶段建立了具有不同N配置的模型。为了建立具有相似延迟的模型以进行公平比较,当N值较小时,我们堆叠了L组(NCB×N+NTB×1)模式。令人惊讶的是,我们发现,(NCB×N+NTB×1)×L模式中的堆栈NCB和NTB比(NCB×N+NTB x 1)模式具有更好的模型性能.它表示重复组合低频信号提取器和高频信号提取器以适当的方式((NCB×N+NTB×1))导致更高质量的表征学习。如表2所示,第三阶段N=4的模型在性能和延迟之间实现了最佳权衡。在第三阶段,我们进一步通过扩大(NCB×4+NTB×1)×L模式的L来构建更大的模型。如表2(底部)所示,与小模型相比,基本(L=4)和大(L=6)模型的性能显著提升,这验证了所提出的(NCB×N+NTB×1)×L模式的总体有效性。在本文的其余部分中,我们使用N=4作为基本配置。

image-20220801110046268

我们将NCB和NTB与上述下一个混合策略叠加,以构建下一个ViT,其正式定义为:

image-20220801110325998

i ∈ ( 1 , 2 , 3 , 4 ) i∈ (1,2,3,4) i1234在哪里表示阶段索引。 Ψ Ψ Ψ表示NCB。 Γ Γ Γ表示i=1时的标识层,否则为NTB。最后,$\oint_{}^{} $表示按顺序堆叠级的操作。

3.5. Next-ViT Architectures

为了与现有SOTA网络进行公平比较,我们提出了三种典型的变体,即Next ViTS/B/L。表3列出了架构规范,其中C表示输出通道,S表示每个阶段的步长。此外,NTB中的信道收缩比r均匀设置为0.75,E-MHSA中的空间缩减比s在不同阶段为[8,4,2,1]。对于NCB,MLP层的扩展比分别设置为3,而对于NTB,则设置为2。E-MHSA和MHCA中的头dim设置为32。对于归一化层和激活函数,NCB和NTB都使用BatchNorm和ReLU。

image-20220801111451679

4、Experimental Results

image-20220801112010454

image-20220801112022625

image-20220801112211472

image-20220801112225623

image-20220801112243630

image-20220801112301896

image-20220801112332744

5. Conclusion

在本文中,我们提出了一个Next ViT家族,该家族以一种新的策略堆叠高效的Next卷积块和Next Transformer块,以构建强大的CNNTransmer混合架构,从而在移动设备和服务器GPU上高效部署。实验结果表明,Next ViT在图像分类、目标检测和语义分割等多种视觉任务中实现了最先进的延迟/准确性权衡。我们希望,我们的工作将提供新的见解,并推动神经网络架构设计的更多研究,以实现现实的工业部署。

  • 5
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值