轻量级卷积神经网络研究
2022-05-30刘忠旭,于延,吴昊谦
刘忠旭,于延,吴昊谦
摘要:现如今在视觉领域中卷积神经网络模型在确保识别率不大幅降低的前提下正朝着更低的计算量;更少的参数;更小的存储占用的轻量化趋势发展。文章列举了近年来经典的轻量级卷积神经网络,总结归纳了各个网络的特点和创新之处,为后继相关学者提供参考。
关键词:卷积神经网络;轻量级卷积神经网络;深度学习;计算机视觉
中图分类号:TP393 文献标识码:A
文章编号:1009-3044(2021)32-0006-03
卷积神经网络(CNN)是一类具有深度结构且包含卷积计算的前馈神经网络,是深度学习代表算法之一。自1987年提出的时间延迟网络开始,随着数值计算设备的改进和深度学习理论的提出,卷积神经网络在计算机视觉领域得到了迅猛发展,多次成为ImageNet[1]大规模视觉识别竞赛的优胜算法,被广泛应用在图像分类、目标检测、目标跟踪等视觉任务中,取得了成功。然而卷积神经网络模型通常包含数以百万计甚至更多的参数,这些参数在带来网络模型性能提升的同时,也造成了网络需要较大的运算量和内存占用等缺点,不利于模型向运算资源有限的设备和应用中嵌入。针对CNN参数严重冗余,计算量大、计算速率慢等问题,国内外研究学者们开展了一系列理论和技术上的创新研究,促使轻量级卷积神经网络的产生和持续发展。本文列举了近年来经典轻量级卷积神经网络模型,对其特点和创新之处进行归纳总结方便相关学者了解轻量化卷积神经网络的发展方向和研究重点。
1 SqueezeNet
SqueezeNet不同于传统卷积,提出了Fire模块,每个Fire模块主要包含两层卷积操作,一是采用1×1卷积核的squeeze层,二是混合使用1×1和3×3卷积核的expand 层。主要创新是:
(1)在Fire模块中将3×3卷积替换成1×1卷积,对特征矩阵的维数进行压缩,一个卷积操作的参数数量减少了9倍,从而达到减少权值参数的目的;(2)减少3×3卷积的通道数,一个3×3卷积的计算量是3×3×M×N,将M,N减小以减少参数数量。
2 MobileNet系列
MobileNetV1[2]其核心思想主要以深度可分离卷积来替代标准卷积,减少参数量并且提升运算速度。深度可分离卷积是由深度卷积DW(depthwise convolution,DW)和逐点卷积PW(pointwise convolution, PW)组成的。深度卷积是特征图的一个通道仅由一个卷积核进行卷积,卷积核的个数等于通道数。逐点卷积和普通卷积基本相同,只是将卷积核尺寸缩小为1×1。深度可分离卷积首先利用深度卷积提取每个通道的特征,再利用逐点卷积对通道进行特征关联。
MobileNetV2[3]提出了倒残差结构即在每个瓶颈模块中先使用1×1卷积升维后做深度卷积(DW)处理,使得DW在拥有更为丰富的语义信息的高维空间中提取特征,再使用PW降维度处理,并且在第二个PW后将非线性激活函数改为线性激活函数。
MobileNetV3提供了MobileNetV3-small和MobileNetV3-large两个版本,分别适用对资源不同要求的情况。在ImageNet分类任务上,Small版本较V2精度提高了大约3.2%,时间却减少了15%, large版本较V2精度提高了大约4.6%,时间减少了5%,large版本与V2相比,在分割算法上也有一定的提高。MobileNetV3继承了V1、V2版本的深度可分离卷积和线性瓶颈中的倒残差结构同时在DW之后引入了SeNet通道注意力,使用了一种新的激活函数h-swish(x)代替Relu6,使用了Relu6(x + 3)/6来近似SeNet模块中的激活函数。MobileNetV3首先使用一种自动移动神经体系结构搜索方法(MnasNet) 进行粗略结构的搜索,然后使用强化学习从一组离散的选择中选择最优配置。之后再使用适用于移动应用程序平台感知型算法(NetAdapt) 对体系结构进行微调。
3 Shufflenet系列
ShuffleNetV1[4]提出了通道混洗(channel shuffle)操作,使得网络可以尽情地使用分组卷积来加速,ShuffleNetV2提出通道滑動(channel split)操作,在加速网络的同时进行了特征重用,达到了很好的效果。ShuffleNet系列在ImageNet竞赛和MSCOC数据集的竞赛中均展现了优越的性能。
ShuffleNetV1主要采用了逐点组卷积和通道混洗(channel shuffle)两种操作,以减少模型使用的参数量。同时将各部分特征矩阵的通道进行有序地打乱,构成新的特征矩阵,解决组卷积带来的“信息流通不畅”的问题。
ShuffleNetV2主要贡献是提出了应该使用更直接的效率度量方法,如速度、耗时等。在ShuffleNetV1的通道混洗的基础上又提出了通道滑动(channel split),增强特征重用性的同时也减少了计算量,并且提出了4条高效网络设计的方法建议:(1)使用输入输出通道相同的卷积;(2)了解使用分组卷积的代价、合理地设定分组格式;(3)降低网络并行的分支;(4)减少逐点运算。ShuffleNetV2依据这4条准则设计,它的框架与V1版本基本一样,不同的是多了一个1×1的卷积层。 对于每一层,它的第一个卷积模块(block)是需要进行翻倍的,且步距都是2。
4 IGCNet系列
IGCNet系列网络的核心是分组卷积的极致运用,将常规卷积分解成多个分组卷积,能够减少大量参数,另外互补性原则和排序操作能够在最少的参数量情况下保证分组间的信息流通。IGCNetV1[5]针对组卷积限制了组与组之间相互独立的问题,提出用交错的组卷积来代替普通卷积的策略,在减少参数的同时克服了组卷积结构中组与组之间相互的缺点。IGCNetV2交错结构化稀疏卷积代替普通卷积,针对IGCNetV1中主分组卷积和次分组卷积在分组上是互补的,导致此卷积的分组数一般较小,每个分组的维度较大,次卷积核稠密的问题,提出交错结构稀疏卷积(Interleaved Structured Sparse Convolution)。使用多个连续的稀疏分组卷积来替换原来的次分组卷积,使得每个分组卷积的分组数都足够多,保证卷积核的稀疏性。IGCNetV3[11]结合低秩卷积和稀疏卷积构造交错的低秩组卷积(Interleaved Low-Rank Group Convolutions)。使用低秩稀疏卷积核来扩展和输入分组特征的维度以及降低输出的维度,中间使用深度卷积提取特征。另外引入松弛互补性原则,类似于IGCV2的严格互补性原则,用来应对分组卷积输入输出维度不一样的情况。在整体结构上和MobileNetV2十分接近,核心依然是稀疏分组卷积以及排序操作。
5 ChannelNets
ChannelNets[6]创新性地提出网络轻量化的下一个核心在于改变输入到输出的稠密连接方式,将输入输出的连接进行稀疏化而非全连接,区别于分组卷积的严格分组,让卷积在通道维度上进行滑动,能够更好地保留通道间的信息交流。基于这一思想,提出了channel-wise深度可分离卷积。channel-wise深度可分离卷积是在深度卷积后面接一个channel-wise卷积以融合特征来降低参数量和计算量,并以该结构替换网络最后的全连接层与全局池化的操作。
6 ESPNet系列
ESP模块是ESPNet的核心组成部分,该模块包含逐点卷积和空洞卷积金字塔,每层具有不同的膨胀率。在参数量不增加的情况下,能够融合多尺度特征,相比于深度可分离卷积性价比更高。
ESPNetV1[7]基于减少分割转换合并(reduce split transform merge)的策略设计,由逐点卷积和基于空间金字塔的膨胀卷积两部分组成。基于卷积分解理论,ESP模块首先通过1×1的逐点卷积对输入特征进行降维,然后使用多个不同膨胀率的空洞卷积对低维特征进行特征提取,重新采样低维特征。因为各个膨胀卷积核的感受野不同,从小到大都有,类似于空间金字塔,所以作者将其命名为ESP模块。ESPNetV1被设计应用在有资源限制下的高分辨率图片的快速语义分割领域,ESP模块比其他卷积分解方法更高效,在GPU、笔记本、终端设备上分别达到112FPS、21FPS、9FPS的传输帧率。
目前主要有三種减少网络参数的方法:1)基于网络压缩的方法;2)基于低位表示的方法;3)分解卷积操作的方法。ESPNetv2正是使用第三种方法来实现网络轻量化。 ESPNetV2在ESPNetV1的基础上加入深度可分离空洞卷积进行拓展,相对于ESPNetV1拥有更高的精度,参数相比上一代少了约四倍。ESPNetv2在图像分类、语义分割、目标检测视觉任务上都有较好的准确率和较低的参数量的效果。
7 EfficientNet系列
在卷积神经网络的设计中,能否设计一个标准化的卷积网络扩展方法,既可以实现较高的准确率,又可以充分节省算力资源是研究者们所提出的思考问题。基于上述思考EfficientNetV1[8]对目前分类网络的优化提出更加泛化的思想,认为加宽网络模型、加深网络深度和增加图像分辨率这3种目前常用的提升网络指标的方式之间不应该是相互独立的,可以以相同比例的常数来进行扩展,通过构建数学模型的方式来解决这3个参数与网络性能之间的权衡,其中约束条件是计算资源。EfficientNeV1是一种标准化的模型扩展结果,网络基本结构与MobileNetV3相同,每个瓶颈模块称为MBConv,使用了SENet中的压缩与激励模块(squeeze and excitation)中的方法对网络结构进行了优化。同时增加网络卷积核的个数、网络的深度、增大输入图像的分辨率来提升网络的性能。并且实现了在ImageNet上与历史各种网络做对比其效果达到最好。
EfficientNetV1的训练过程存在的3个问题分别是:训练图像的尺寸很大时,训练速度非常慢;在网络浅层中使用深度卷积(DW)速度会很慢;同等地放大每个卷积层(stage)是次优的。针对上述问题EfficientNeV2同时关注训练速度以及参数数量,提出了改进的渐进学习方法,该方法会根据训练图像的尺寸动态调节正则方法,不仅能提升训练速度,而且提升准确率。EfficientNetV2基本结构采用EfficientNeV1中的模块(MBConv)和一种改进的MBConv模块,即将其中的深度可分离卷积还原为标准卷积。
8 GhostNet
GhostNet[9]其核心理念是用更少的参数来生成更多特征图,构建了新型端侧神经网络架构Ghost模块代替普通卷积。Ghost模块与标准卷积相比,在不更改输出特征矩阵大小的情况下,其所需的参数总数和计算复杂度均可降低,且Ghost模块即插即用。在ImageNet分类任务中,GhostNet优于MobileNet系列、ShuffleNet系列、IGCNetV3、MnasNet等。
9 MicroNet
MicroNet[10]由加州大学提出可以在极低计算量限制的场景中使用的轻量级神经网络。MicroNet在MobileNet系列上进行改进和对比,提出了两项改进方法:
(1)将MobileNet中的逐点卷积以及深度卷积分解为低秩矩阵,从而使得通道数目和输入输出的连通性得到一个良好的平衡。
(2)使用一种新的激活函数,通过最大化输入特征图与其循环通道偏移之间的多重动态融合,来增强非线性特征,之所以称之为动态是因为融合过程的参数依赖于输入特征图。
依据这两项改进方法,MrcroNet的主要创新是通过分解卷积核,进一步压缩网络的连接性,使得网络更加稀疏化,提高计算性能。设计了全新的动态激活函数,引入更多的非线性特征,增强模型表征能力。
10 结束语
传统卷积神经网络有着模型参数量大、内存需求大以及运算量大的特点导致无法在移动设备和嵌入式设备上运行。为了使所做研究脱离实验室服务和应用于社会,轻量级卷积神经网络的发展成为目前重要的研究方向和未来的发展趋势。本文对近年来国内外提出的经典轻量级卷积神经网络进行对比分析,归纳总结了各网络模型所用卷积和提出的特殊创新结构如表1所示,可以为相关学者提供研究参考。
参考文献:
[1] Russakovsky O,Deng J,Su H,et al.ImageNet large scale visual recognition challenge[J].International Journal of Computer Vision,2015,115(3):211-252.
[2] Howard A G,Zhu M L,Chen B,et al.MobileNets:efficient convolutional neural networks for mobile vision applications[EB/OL].2017:arXiv:1704.04861.https://arxiv.org/abs/1704.04861
[3] Sandler M,Howard A,Zhu M L,et al.MobileNetV2:inverted residuals and linear bottlenecks[C]//2018 IEEE/CVF Conference on Computer Vision and Pattern Recognition.Salt Lake City,UT,USA.IEEE,2018:4510-4520.
[4] Zhang X Y,Zhou X Y,Lin M X,et al.ShuffleNet:an extremely efficient convolutional neural network for mobile devices[C]//2018 IEEE/CVF Conference on Computer Vision and Pattern Recognition.Salt Lake City,UT,USA.IEEE,2018:6848-6856.
[5] Zhang T,Qi G J,Xiao B,et al.Interleaved group convolutions[C]//2017 IEEE International Conference on Computer Vision.Venice,Italy.IEEE,2017:4383-4392.
[6] Gao H,Wang Z,Cai L,et al.ChannelNets:compact and efficient convolutional neural networks via channel-wise convolutions[J].IEEE Transactions on Pattern Analysis and Machine Intelligence,2021,43(8):2570-2581.
[7] Mehta S,Rastegari M,Caspi A,et al.ESPNet:efficient spatial pyramid of dilated convolutions for semantic segmentation[M]//Computer Vision - ECCV 2018.Cham:Springer International Publishing,2018:561-580.
[8] Tan M X,Le Q V.EfficientNet:rethinking model scaling for convolutional neural networks[C]//International conference on machine learning. PMLR, 2019: 6105-6114.
[9] Han K,Wang Y H,Tian Q,et al.GhostNet:more features from cheap operations[C]//2020 IEEE/CVF Conference on Computer Vision and Pattern Recognition (CVPR).Seattle,WA,USA.IEEE,2020:1577-1586.
[10] Li Y S,Chen Y P,Dai X Y,et al.MicroNet:improving image recognition with extremely low FLOPs[C]//2021 IEEE/CVF International Conference on Computer Vision (ICCV).Montreal,QC,Canada.IEEE,2021:458-467.
【通聯编辑:唐一东】