【读点论文】ParC-Net: Position Aware Circular Convolution with Merits from ConvNets and Transformer混合网络设计

ParC-Net: Position Aware Circular Convolution with Merits from ConvNets and Transformer

Abstract

  • 最近,视觉transformer开始显示出令人印象深刻的结果,其性能明显优于基于大卷积的模型。然而,在移动设备或资源受限设备的小型模型领域,卷积神经网络在性能和模型复杂性方面仍然具有自身的优势。

  • 我们提出了ParC-Net,这是一种纯粹基于卷积神经网络的骨干模型,通过将视觉transformer的优点融合到卷积神经网络中,进一步增强了这些优点。具体来说,我们提出了位置感知循环卷积(ParC),这是一种轻量级的卷积算子,它具有全局接受场,同时产生与局部卷积一样的位置敏感特征。我们将parc和squeeze-exictation点结合在一起,形成了一个类似于元former的模型块,该模型块进一步具有类似于transformer的注意机制。上述模块可以以即插即用的方式替代卷积网络或transformer中的相关模块。

  • 实验结果表明,在常见的视觉任务和数据集上,所提出的ParC-Net在参数更少、推理速度更快的情况下,取得了比流行的轻量级卷积神经网络和基于视觉transformer的模型更好的性能。

  • 在ImageNet-1k上,ParC-Net使用约500万个参数实现了78.6%的top-1准确率,节省了11%的参数和13%的计算成本,但与MobileViT相比,准确率提高了0.2%,推理速度提高了23%(基于ARM的瑞芯RK3288),与DeIT相比,仅使用0.5个参数,准确率提高了2.7%。在MS-COCO对象检测和PASCAL VOC分割任务上,ParC-Net也表现出较好的性能。源代码可在https: //github.com/hkzhang91/ParC-Net

  • 论文地址:[2203.03952] ParC-Net: Position Aware Circular Convolution with Merits from ConvNets and Transformer (arxiv.org)

  • 发表在 ECCV 2022

Introduction

  • 近年来,各种(vision transformer, vit)模型在许多视觉任务中取得了显著的效果,形成了卷积神经网络(convolutional neural networks, ConvNets)的强大替代品。然而,我们认为ViTs和ConvNets都是必不可少的,原因如下:

    • 1)从应用角度来看,ViTs和ConvNets都有各自的优点和缺点。ViT模型通常具有较好的性能,但通常存在计算成本高且难以训练的问题[Training data-efficient image transformers & distillation through attention]。与ViTs相比,卷积神经网络的性能可能会有所下降,但仍有一些独特的优势。例如,卷积神经网络有更好的硬件支持,并且易于训练。此外,正如[Cmt]和我们的实验所总结的那样,卷积神经网络在移动或边缘设备的小型模型领域仍然占主导地位。

    • 2)从信息处理的角度来看,vit和ConvNets都有各自的特点。vit擅长提取全局信息,利用注意力机制在输入数据的驱动下提取不同位置的信息[Mobileformer][Mobilevit]。卷积神经网络专注于局部关系的建模,并且通过归纳偏差具有很强的先验[Coatnet]。上述分析自然提出了一个问题:我们能否从vit中学习,以改进用于移动或边缘计算应用的卷积神经网络?

  • 在本文中,我们的目标是设计新的轻量级纯卷积神经网络,进一步增强其在移动和边缘计算友好模型领域的实力。纯卷积更加移动友好,因为卷积被现有的工具链高度优化,这些工具链广泛用于将模型部署到这些资源受限的设备中。更重要的是,由于近年来卷积神经网络的巨大普及,现有的一些神经网络加速器主要是围绕卷积运算设计的,对于需要大量矩阵乘法的复杂非线性运算(如softmax和数据总线带宽)无法有效支持。这些硬件和软件约束使得纯卷积轻量级模型更可取,即使基于ViT的模型在其他方面同样具有竞争力。

  • 为了设计这样的卷积神经网络,我们将卷积神经网络与vit进行比较,总结出它们之间的三个主要区别:

    • vit擅长提取全局特征;

    • ViTs采用元former;

    • vit中的信息聚合是数据驱动的(依赖于数据的动态计算)。

  • 根据这三点,我们设计了我们的ParC模块。

    • 1)提出位置感知循环卷积(ParC)提取全局特征;

    • 2)基于提出的ParC,我们构建了一个纯ConvNet Metaformer块作为基本的外部结构;

    • 3)在Metaformer的特征前向网络(FFN)部分增加信道智能关注模块,使我们提出的ParC块根据输入自适应核权。最后,受CoatNet和MobileViT的启发,我们使用分叉结构(3.2节)作为外部框架来构建一个完整的网络ParC-Net。

  • 实验结果表明,本文提出的ParC-Net在图像分类、目标检测和语义分割三种常用的视觉任务上取得了较好的性能。以图像分类实验结果为例,ParC-Net在使用约500万个参数的情况下达到了78.6%的top-1准确率,节省了11%的参数和13%的计算成本,但与MobileViT相比,准确率提高了0.2%,推理速度提高了23%(在瑞芯科技RK3288上)。在目标检测和语义分割实验中,与其他轻量级模型相比,本文提出的ParC-Net在参数较少的情况下实现了更高的mAP和mIOU。

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

    • 为了克服传统卷积感知域有限的限制,我们提出了位置感知循环卷积(ParC),其中使用基实例内核和位置嵌入策略分别处理输入大小变化和向输出特征图注入位置信息。我们将提出的ParC和传统的卷积运算结合起来提取局部-全局特征,提高了提取的精度

    • 我们提出了ParC-Net,一个纯ConvNet的移动和边缘计算应用。本文提出的ParCNet继承了convnet和vit的优点。据我们所知,这是第一次尝试结合ConvNets和vit的优势来设计轻量级的ConvNet

    • 我们将提出的ParC-Net应用于三个视觉任务。与基线模型相比,本文提出的ParC-Net在三个任务上都取得了更好的性能,同时具有更少的参数、更低的计算成本和更高的推理速度。

Related work

Vision transformers

  • Vaswani等人首先提出了用于自然语言处理(NLP)任务的transformer。与递归神经网络(RNN)模型相比,transformer具有更高的计算效率,并且善于捕捉输入序列中任意对元素之间的关系。因此,transformer取代了rnn并主导了NLP领域。

  • 2020年,Dosovitskiy等人将transformer引入到视觉任务中,提出了(vision transformer, ViT),将每幅图像剪切成一系列贴片以满足transformer的输入要求,并采用PE保证模型对输入贴片的位置信息敏感。通过对JFT-300M等大型数据集的预训练,ViT在各种视觉任务上取得了令人印象深刻的表现。但是,原有的ViT模型存在权重大、计算效率低、训练难度大等局限性。为了克服这些问题,提出了vit的后续变体。从改进训练策略的角度出发,Touvron等人提出利用知识蒸馏训练ViT模型,在预训练数据较少的情况下获得了具有竞争力的准确率。为了进一步改进模型架构,一些研究人员试图通过学习卷积神经网络来优化vit。其中,PVT和CVT在ViT模型的每一阶段插入卷积运算,减少令牌数量,构建分层多阶段结构。Swin Transformer在移位的局部窗口内计算自注意。PiT联合使用池化层和深度卷积层实现通道倍增和空间约简。CCNet提出了一种简化版的自注意机制——交叉注意,并将其插入到ConvNet中,构建具有全局接受场的ConvNet。这些论文清楚地表明,卷积神经网络的一些技术可以应用于视觉transformer,以设计更好的视觉transformer模型。

Hybrid structures combining ConvNet and vision transformers

  • 另一个流行的研究方向是结合vit和ConvNets的元素来设计新的主干。Graham等人在他们的LeVit模型中混合了ConvNet和transformer,在速度/精度权衡方面,该模型显著优于之前的ConvNet和ViT模型。BoTNet在ResNet的最后几个块中用多头关注取代了标准卷积。ViT- c将早期卷积干添加到香草ViT中。ConViT通过门控位置自注意融合了软卷积归纳偏差。CMT块由基于深度卷积的局部感知单元和轻量级transformer模块组成。CoatNet将卷积和自关注结合起来设计了一个新的transformer模块,该模块既关注局部信息,也关注全局信息。经过综合比较,我们发现这些混合模型同时采用了相似的结构,即在开始阶段使用卷积干提取局部特征,然后使用transformer样式模型提取全局或局部-全局特征。在设计纯卷积模型时,我们选择了类似的结构。

Light-weight ConvNets and ViTs

  • 自2017年以来,随着越来越多的应用需要在移动设备上运行ConvNet模型,轻量级ConvNet备受关注。现在,有很多轻量级的卷积神经网络,如ShuffleNets、MobileNets、MicroNet、GhostNet、EfficientNet、TinyNet和MnasNet。与标准卷积神经网络相比,轻量级卷积神经网络具有参数更少、计算成本更低和推理速度更快的特点。此外,轻量级的卷积神经网络可以应用于广泛的设备。

  • 尽管有这些好处,但这些轻量化模型与重型模型相比性能较差。近年来,一些研究者沿着结合卷积神经网络和ViT优势的研究路线,尝试构建用于移动视觉任务的轻量级混合模型。Mobile-Former提出了MobileNet和transformer的并行设计,利用MobileNet在提取局部特征和transforemr在捕获全局信息方面的优势。Mehta等提出了MobileViT,将MobileNetv2的上层替换为MobileViT区块。在MobileViT块中,通过卷积提取的局部表示与全局表示相连接,生成局部-全局表示。

  • 就目的而言,我们提出的ParC-Net与Mobile-Former和MobileViT有关。与这两种仍然保留transformer块的模型不同,我们提出的ParC-Net是纯ConvNet,这使得我们提出的ParC-Net更适合移动。我们在低功耗平台上部署模型的实验证实了这一点。在通过学习vit来设计纯ConvNet方面,我们的工作与并行工作ConvNext最密切相关[A convnet for the 2020s]。两个主要区别是:

    • 1)思想和架构不同。ConvNext通过引入一系列(超过十种)增量但有效的设计,使标准ResNet朝着视觉transformer的设计方向现代化。我们提出的ParC-Net从ConvNets和vit之间的三个主要区别开始,填补了宏观层面的空白。由于思想的不同,相应的结构也不同;

    • 2)它们被提出的目的不同。我们的ParC-Net是针对移动设备提出的。与ConvNext相比,所提出的ParC-Net在约束模型为轻量级模型时显示出优势。

The proposed method

  • 在本节中,我们将分两部分介绍我们的ParC- net,详细介绍构建块(ParC block)和整体模型结构(ParC- net)。

ParC block

  • 下图的上半部分显示了普通convnet和vit之间的三个主要区别。下图的下半部分说明了我们提出的ParC块的体系结构。在下面,我们将解释提议的ParC块的每个组件的动机和具体结构。

    • 在这里插入图片描述

    • ParC Block。(a)在卷积网络中广泛使用的残余块;(b) ViT块;©一个ParC Block

  • 基于ParC的全局特征提取。在ConvNets中,特征计算为 y i = ∑ j ∈ L ( i ) w i − j x j y_i =\sum_{j∈L(i) }w_{i - j}x_j yi=jL(i)wijxj,其中 x i , y i x_i, y_i xi,yi分别为i位置的输入和输出,L(i)表示i的局部邻域。在ViTs中,自注意模块根据公式 y i = ∑ j ∈ G e ( x i T x j ) ∑ k ∈ G e ( x i T x k ) x j y_i =\sum_{j∈G}\frac{e^{(x^T_i x_j)}}{\sum_{k∈G }e(x^T_i x_k)} x_j yi=jGkGe(xiTxk)e(xiTxj)xj提取特征,其中G表示全局空间空间。比较这两个公式,我们可以看到,自注意从整个空间位置学习全局特征,而卷积从局部接受野收集信息

    • 在这里插入图片描述

    • 位置感知循环卷积的说明。(a)ParC-V;(b) ParC-H。F, EV和EH在方程1和2中解释

    • 针对于全局信息的提取作者提出了Position aware circular convolution(也称作Global Circular Convolution)。图中左右实际是对于该操作水平竖直两方向的对称,理解时只看左边即可。对于维度为CHW的输入,作者先将维度为CB1的Position Embedding通过双线性插值函数F调整到适合input的维度CH1(以适应不同特征大小输入),并且将PE水平复制扩展到CHW维度与输入特征相加。这里作者将PE直接设置成为了可学习的参数。ParC-Net 论文详解_parc模块_Apr1cot的博客-CSDN博客

  • 为了克服这个问题,我们提出了位置感知循环卷积(ParC)。如上图所示,我们提出的ParC有两种类型,一种是垂直方向的ParC (ParC- v),另一种是水平方向的ParC (ParC- h)。ParC-V和ParC-H的接受野分别覆盖同一列和同一行的所有像素。联合使用ParC-V和ParC-H可以从所有输入像素中提取全局特征。为了表示简单,我们假设输入x只有一个通道,对应的形状为1 × h × w。位置(i, j)处ParC-V的输出计算如下:

    • p e V = F ( p e ˉ V ) = { p e 0 V , p e 1 V , . . . , p e h − 1 V } T p e e V = E V ( p e V , w ) ; k V = F ( k ˉ ) = [ k 0 V , k 1 V , . . . , k h − 1 V ] x p = x + p e e V y i , j = ∑ t ∈ ( 0 , h − 1 ) k t V x ( ( i + t ) m o d h , j ) p pe^V=F(\bar{pe}^V)=\{pe_0^V,pe_1^V,...,pe_{h-1}^V\}^T\\ pe^V_e=EV(pe^V,w);\\ k^V=F(\bar{k})=[k^V_0,k^V_1,...,k_{h-1}^V]\\ x^p=x+pe^V_e\\ y_{i,j}=\sum_{t\in(0,h-1)}k^V_tx^p_{((i+t)modh,j)} peV=F(peˉV)={pe0V,pe1V,...,peh1V}TpeeV=EV(peV,w);kV=F(kˉ)=[k0V,k1V,...,kh1V]xp=x+peeVyi,j=t(0,h1)ktVx((i+t)modh,j)p

    • 式中, p e V pe^V peV为实例位置嵌入(PE),由基嵌入 p e ˉ V \bar{pe}^V peˉV通过双线性插值函数F()生成。这里使用F()来调整位置嵌入的大小以适应输入特征的大小。 p e e V pe^V_e peeV是扩展后的PE。 k V k^V kV为实例核。EV()是垂直方向展开函数。在复制输入向量w次后,EV()沿着水平方向将这些复制的向量连接起来,生成一个h × w大小的PE矩阵。同理,ParC-H在位置(i, j)的输出可以表示为:

    • x p = x + p e e H y i , j = ∑ t ∈ ( 0 , w − 1 ) k t H x ( i , ( j + t ) m o d w ) p x^p=x+pe^H_e\\ y_{i,j}=\sum_{t\in(0,w-1)}k^H_tx^p_{(i,(j+t)modw)} xp=x+peeHyi,j=t(0,w1)ktHx(i,(j+t)modw)p

    • 其中 p e e H = E H ( p e H , h ) pe^H_e = EH(pe^H, h) peeH=EH(peH,h), EH()是展开函数。EH()沿着垂直方向展开输入向量。在现代深度学习库中实现ParC是很简单的。以最复杂的部分 y i , j = ∑ t ∈ ( 0 , w − 1 ) k t H x ( i , ( j + t ) m o d w ) p y_{i,j} = \sum_{t∈(0,w−1)} k^H_t x^p _{(i,(j+t)modw)} yi,j=t(0,w1)ktHx(i(j+t)modw)p为例,可以用一行代码实现: y = F . c o n v 2 D ( t o r c h . c a t ( x p , x p , d i m = 3 ) , k H ) y = F.conv2D(torch.cat(x^p, x^p, dim = 3), k^H) y=F.conv2D(torch.cat(xp,xp,dim=3)kH)。下图说明了输入是一维向量的情况下的计算过程。从下图中,我们可以看到ParC-H沿着连接输入的开始和结束生成的圆执行卷积。

    • 在这里插入图片描述

    • 水平方向上全局圆卷积的图解。 接下来作者将加入PE的特征图竖直方向堆叠,并且同样以插值的方式得到了适应输入维度的CH1大小的卷积核,进行卷积操作。

    • 可以看到在示意图中特征维度变化如下:C*(2H-1)*W —C*H*1—>C*H*W,作者特意带上了通道数,并且并没有出现通道数的改变,那么这里所进行的卷积应该是depth wise卷积,通过对文章后续以及论文源码的阅读可以得知这一步进行的就是DW卷积。ParC-Net 论文详解_parc模块_Apr1cot的博客-CSDN博客,通过上面就完成了一次竖直方向的全局信息交流,同样只要在水平方向进行同样的操作即可做到水平方向的全局信息交流。

  • 因此,我们将提出的卷积命名为循环卷积。拟议的ParC引入了三个修改:

    • 感受野增加到全球空间空间。注意,将传统局部卷积的核大小增加到完整的输入大小并不能提取全局特征。在局部卷积中,通常使用零填充来保持卷积特征的大小与输入特征的大小相同。即使我们将内核大小增加到全局大小,全局内核也只覆盖来自输入的部分像素。特别是在边缘部分提取特征时,被全局核覆盖的像素中只有大约一半来自于输入实际输入,而其他像素都是零。

    • PE用于保持输出特征对空间位置的敏感性。圆卷积可以提取全局特征,但会干扰原始输入的空间结构。对于分类来说,保持空间结构可能不是一个大问题。但是,正如消融研究表明,对于位置敏感的任务,如分割和检测,保持空间结构是很重要的。在这里,根据ViTs的设计,我们引入PE来保持空间结构。消融实验结果表明,PE在分割和检测任务中是有用的。

    • 内核和PE是根据输入大小动态生成的。在ParC中,内核和PE代码的大小必须与实例输入的大小一致。为了处理输入具有不同空间分辨率的情况,我们通过插值函数生成实例核和PE代码。

  • 用ParC设计ParC模块。从ConvNets到vit,一个相当大的修改是mateformer块替换残差块(蓝色双向箭头)。mateformer块通常由两个组件组成:token mixer和channel mixer。令牌混合器用于在不同空间位置的令牌之间交换信息。通道混频器用于在不同通道之间混合信息。这两个组件都使用残差学习结构。

  • 受此启发,我们将ParC插入到像Meta-former这样的块中来构建我们的ParC块。具体来说,我们用提出的ParC取代自关注模块,构建一个新的空间模块来取代令牌混频器部分。在这里,我们这样做主要有两个原因:

    • 1)ParC可以从全局空间中提取全局特征和像素之间的交互信息,满足令牌混合器模块的要求;

    • 2)自注意模块的计算复杂度是二次的。用ParC代替该部分可以显著降低计算成本,这有助于实现我们设计轻量级卷积神经网络的目标。基于所提出的ParC,我们构建了一个纯ConvNet mateformer。

  • 在通道混频器部分增加通道wise的注意。在vit中,自关注模块可以根据输入调整权重,使vit成为数据驱动模型。通过采用注意机制,数据驱动模型可以突出重要的特征,抑制不必要的特征,从而提高性能。以前的文献[Squeeze-and-excitation networks][Cbam][Spatial transformer networks]已经解释了keep模型数据驱动的重要性。

  • 用所提出的全局循环卷积代替自关注,得到一个能够提取全局特征的纯卷积网络。但被取代的模式不再是数据驱动的模式。为了进行补偿,我们将通道智能注意力模块插入通道混频器部分,如上图©所示。根据SENet,我们首先通过全局平均池化对输入特征 x ∈ R c × h × w x∈\R^{c×h×w} xRc×h×w的空间信息进行聚合,得到聚合特征xa∈Rc×1×1;然后我们将 x a x_a xa输入到多层感知器中以生成信道明智权值 a ∈ R c × 1 × 1 a∈\R^{c×1×1} aRc×1×1。a与x通道相乘以生成最终输出。

ParC-Net

  • 我们介绍了ParC块,这是一个基本的块,可以插入到大多数现有的模型中。在本节中,我们为它选择一个外部框架,并构建完整的网络ParC-Net。目前,如下图所示,现有的混合结构基本可以分为三种主要结构,分别是串联结构(图(a))[ Levit][Early convolutions help transformers see better]、并联结构(图(b))[Mobileformer]和分叉结构(图©)[Mobilevit][Coatnet]。在三种结构中,目前第三种结构的性能最好。目前在Imagenet-1k上,分叉模型CoatNet的分类准确率最高。移动设备瞄准模型MobileViT也采用了第三种结构。

    • 在这里插入图片描述

    • 三种主要的混合结构。(a)串联结构;(b)平行结构;©分岔结构

    • 对于ParC net 的搭建,作者直接基于MobileViT,采用了分叉结构(c)完成了网络的搭建。具体而言作者保留了MobileViT中浅层具有局部感受野的MobileNetV2结构,而将网络深层的ViT block替换成了ParC block,使网络变成了一个pure ConvNet。

  • 受此启发,我们采用分叉结构作为外框架,并基于MobileViT构建最终的外框架。具体来说,我们以MobileViT采用的外框架为基准,进一步做了一些改进:

    • MobileViT由两种主要类型的模块组成。浅阶段由MobileNetV2块组成,具有局部接受野。深层阶段由ViT块组成,具有全局接受场。我们保留所有的MobileNetV2块,并用相应的ParC块替换ViT块。这种替换将模型从混合结构转换为纯卷积神经网络

    • 我们适当地增加了ParC块的宽度。尽管如此,替换后的模型仍然具有更少的参数和更少的计算成本。

    • 如上图©所示,分叉结构包含一些交互模块,这些交互模块负责局部和全局特征模块之间的交互信息。在最初的MobileViT中,ViT块是最重的模块。在用ParC模块取代ViT模块后,这些交互模块的成本变得突出。因此,我们在这些模块中引入了群卷积和逐点卷积,在不影响性能的情况下减少了参数的数量。

Experiment results

  • 在实验中,我们展示了所提出的ParC-Net在三个典型视觉任务上的整体优势,然后进行了详细的研究,以展示我们的设计选择的价值,模型缩放特性以及它在低功耗设备上的速度优势。

Image classification

  • 我们在ImageNet-1k上进行图像分类实验,ImageNet-1k是该任务中使用最广泛的基准数据集。我们在ImageNet-1K的训练集上训练了提出的ParC-Net模型,并在验证集上报告了top-1的准确率。

  • 训练设置。当我们采用类似MobileViT的结构作为外部框架时,我们也使用非常相似的训练策略来训练我们的模型。具体来说,我们使用AdamW优化器在8台V100或A100 gpu上对每个模型进行300次epoch的训练,其中最大学习率、最小学习率、权重衰减和批处理大小分别设置为0.004、0.0004、0.025和1024。AdamW优化器的优化器动量β1和β2分别设置为0.9和0.999。我们使用前3000次迭代作为预热阶段。我们根据余弦表调整学习率。对于数据增强,我们使用了随机裁剪、水平翻转和多尺度采样器。我们使用标签平滑对网络进行正则化,并将平滑因子设置为0.1。我们使用指数移动平均线(EMA)。

  • 比较的结果。图像分类实验结果如图5所示。下图 (a)显示ParC-Net-S和MobileViT-S明显优于其他模型。下图 (b)显示了与更多模型的比较。所提出的ParC-Net-S模型具有最高的分类精度,且参数比大多数模型少。与第二好的模型MobileViT-S相比,我们的ParC-Net-S减少了11%的参数数量,并将前1名的精度提高了0.2个百分点。

    • 在这里插入图片描述

    • ImageNet-1K分类实验结果。(a)精度与模型尺寸。为了清晰起见,这里我们只保留部分比较模型。(b)图像分类结果对比。*表示我们的执行。Pre-ConvNets表示在vit之前出现了经典的ConvNets。后卷积神经网络是指在保持纯卷积神经网络结构的基础上,综合了卷积神经网络的优点的卷积神经网络。

  • 轻量级的模型。下表给出了轻量化模型的比较结果,证实了我们的观点,回答了引言中提出的问题。

    • 在这里插入图片描述

    • 轻量级模型在ImageNet-1K分类中的比较

    • 首先,将轻量级卷积神经网络的结果与ViTs的结果进行比较,轻量级卷积神经网络表现出更好的性能。其次,对比ViT出现之前流行的卷积神经网络(pre-ConvNets)、ViT和混合结构,混合结构的性能最好。因此,借鉴ViT的优点来改进卷积神经网络是可行的。最后,本文提出的ParC-Net在所有的比较模型中取得了最好的性能。因此,通过学习ViT设计,纯轻量级卷积神经网络的性能确实可以得到显著提高

Object detection

  • 我们使用MS-COCO数据集及其评估方案进行目标检测实验。接下来[Mobilevit][Mobilenetv2],我们以单镜头目标检测(single shot object detection, SSD)作为检测框架,使用可分离卷积代替检测头中的标准卷积。

  • 实验设置。以在ImageNet-1K上预训练的模型为骨干,利用AdamW优化器对MS-COCO训练集上的检测模型进行200 epoch的微调。批量大小和权重衰减分别设置为128和0.01。我们使用前500次迭代作为预热阶段,其中学习率从0.000001增加到0.0009。在训练过程中同时使用标签平滑和EMA。

  • 比较的结果。下图列出了相应的结果。与图像分类的结果类似,MobileViTS和ParC-Net-S在mAP方面取得了第二好和最好的成绩。与次优模型相比,parnet - s在模型大小和检测精度上都具有优势。

    • 在这里插入图片描述

    • MS-COCO上的目标检测结果。(a) mAP vs模型尺寸。(b)比较结果

Semantic segmentation

  • 实验设置。采用DeepLabV3作为语义分割框架。我们在PASCAL VOC和COCO数据集的训练集上对分割模型进行了精细调整,然后在PASCAL VOC的验证集上使用平均交并(mean intersection over union, mIOU)对训练模型进行评估,并报告最终结果进行比较。我们用AdamW对每个模型进行了50个epoch的微调。读者可以参考补充材料中有关训练设置的更多细节。

  • 比较的结果。结果总结在下图中。我们可以看到,MobileViT-S和ParC-Net-S在模型规模和mIOU之间有最好的权衡。与ResNet-101相比,MobileViT-S和ParC-Net-S在参数少得多的情况下实现了具有竞争力的mIOU。

    • 在这里插入图片描述

    • PASCAL VOC语义分割实验。(a) mIOU与模型大小。(b)与更多模型的比较结果。

Ablation study

  • 使用MobileViT作为基线模型,我们进一步对ParC-Net中提出的三个组件进行消融分析。

    • 位置感知循环卷积。所提出的ParC具有两个主要特点:

      • 循环卷积带来了全局接受场;

      • PE保存空间结构信息。

      • 实验结果证实了这两个特性都很重要。

        • 第1-3行结果表明,使用大内核也可以提高准确率,但是当内核大小达到一定水平时,它的好处达到饱和点。这一结果与文献[A convnet for the 2020s]中的说法一致。使用ParC可以进一步提高准确性,如第2-3行和6-7行所示。

        • 将PE引入ParC是必要的。单独使用圆卷积确实可以捕获全局特征,但它会干扰原始的空间结构。对于分类任务,PE没有影响(第6行和第7行)。但是对于对空间位置敏感的检测和分割任务,放弃PE会影响性能(第9-10行和第12-13行)。

    • Meta-former架构。在放弃Meta-former架构的实验中,我们将ParC与ResNeXt块集成以取代Meta-former架构。通过比较第4行和第7行,我们可以看到使用提议的纯ConvNet meta-former架构是有用的。

    • 第5行和第7行的结果表明,使用通道wise的注意力可以提高性能。与ParC相比,channel wise attention带来的效益较小。

  • 总之,这三个组件都很有用。将它们作为一个整体连接可以实现最佳性能。

Inference speed on low power devices.

  • 在本节中,我们进行实验来验证两点:

    • 1)正如我们在引言中提到的,ParC-Net是针对边缘计算设备提出的。为了验证所提出的ParC-Net是否符合我们的要求,我们将所提出的ParC-Net部署在广泛使用的低功耗芯片瑞芯RK3288和内部低功耗神经网络处理器DP2000上,并与基线进行比较。我们使用ONNX和MNN将这些模型移植到芯片上,并对每个模型进行100次迭代,以测量平均推理速度;

    • 2)提出的ParC块是一个即插即用的块,可以插入到其他模型中。我们用我们提出的ParC (PE和核生成等)替换了典型cnn的最后几个块中的卷积。比较结果如下表所示。

    • 在这里插入图片描述

    • 在不同的主干上应用ParC-Net设计,比较不同模型的推理速度。这里使用的CPU是至强E5-2680 v4。DP2000是一个内部未发布的低功耗神经网络处理器的代号,它高度优化了卷积。*表示模型是在convnext超参数设置下训练的,这可能不是最优的。W表示网络宽度。延迟是用批大小1来衡量的。

  • 如上表的第1-4行所示,与基线相比,ParC-Net在睿芯RK3288上快了23%,在DP2000上快了3.77倍。除了更少的FLOPs操作外,我们认为这种速度的提高也是由两个因素带来的:

    • 1)卷积被现有的工具链高度优化,这些工具链广泛用于将模型部署到这些资源受限的设备中;

    • 2)与卷积相比,transformer对数据带宽的要求更高,因为计算注意图涉及两个大矩阵K和Q,而卷积的核与输入特征图相比是一个相当小的矩阵。当带宽要求超过芯片设计要求时,CPU将处于等待数据的空闲状态,导致CPU利用率降低,整体推理速度变慢;

  • 3-10行的结果表明,我们提出的ParC-Net普遍提高了典型轻量级模型的性能。MobileViT-S的FLOPs要高得多,但在模型大小和精度之间实现了很好的权衡,很好地满足了自身的应用目的。通过将parc - net设计应用于mobilet - s, ParC-Net-S在模型尺寸、FLOPs和精度之间实现了更好的平衡。在ResNet50, MobileNetV2和ConvNext-T上的结果表明,专注于优化flops精度权衡的模型也可以从我们的ParC-Net设计中受益。

Conclusion

  • 本文针对边缘计算设备,提出了一种纯卷积神经网络ParC-Net,它既继承了卷积神经网络的优点,又集成了卷积神经网络的结构特点。为了评估该模型的性能,我们将该模型应用于三种常见的视觉任务:图像分类、目标检测和语义分割。与其他ConvNet、ViT和混合模型相比,该模型具有更少的参数,同时在所有三个任务上都取得了更好的性能。在低功耗器件瑞芯芯片RK3288和我们的内部处理器DP2000上的实验结果表明,所提出的ParC-Net继承了卷积神经网络,并且得到了边缘计算设备的良好支持。
  • 1
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 3
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

羞儿

写作是兴趣,打赏看心情

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值