上海交通大学学报, 2023, 57(9): 1203-1213 doi: 10.16183/j.cnki.jsjtu.2022.077

电子信息与电气工程

融合MobileNetV3特征的结构化剪枝方法

刘宇, 雷雪梅,

内蒙古大学 电子信息工程学院, 呼和浩特 010021

A Structured Pruning Method Integrating Characteristics of MobileNetV3

LIU Yu, LEI Xuemei,

School of Electronic Information Engineering, Inner Mongolia University, Hohhot 010021, China

通讯作者: 雷雪梅,副教授;E-mail:ndlxm@imu.edu.cn.

责任编辑: 王历历

收稿日期: 2022-03-21   修回日期: 2022-05-30   接受日期: 2022-06-6  

基金资助: 内蒙古自然科学基金(2016MS0617)
国家自然科学基金(61640011)

Received: 2022-03-21   Revised: 2022-05-30   Accepted: 2022-06-6  

作者简介 About authors

刘宇(1998-),硕士生,从事模型压缩研究.

摘要

传统的深度神经网络由于计算量和内存占用庞大,难以部署到嵌入式平台中发挥实用价值,所以轻量级的深度神经网络得到快速发展.其中,谷歌提出的轻量级架构MobileNet具有广泛的应用.为了进一步提高性能,MobileNet的模型由MobileNetV1发展到MobileNetV3,但模型变得更为复杂,导致其规模不断扩大,难以发挥轻量级模型的优势.为了在能保持MobileNetV3性能的前提下,降低部署于嵌入式平台的难度,提出一种融合MobileNetV3特征的结构化剪枝方法,对MobileNetV3-Large模型进行裁剪,得到一个更加紧凑的模型.首先对模型进行稀疏正则化训练,得到一个较为稀疏的网络模型;然后使用卷积层的稀疏值和批量归一化层的缩放系数的乘积判别冗余滤波器对其进行结构化剪枝,并在CIFAR-10和CIFAR-100数据集上进行实验.实验结果表明:提出的压缩方法可以有效压缩模型参数,并且压缩后模型仍然能保证良好性能;在准确率不变的前提下,CIFAR-10上模型的参数量减少44.5%,且计算量减少40%.

关键词: 深度神经网络; 轻量级模型; 结构化剪枝; MobileNetV3

Abstract

Due to its huge amount of calculation and memory occupation, the traditional deep neural network is difficult to be deployed to embedded platform. Therefore, lightweight models have been developing rapidly. Among them, the lightweight architecture MobileNet proposed by Google has been widely used. To improve the performance, the model of MobileNet has developed from MobileNetV1 to MobileNetV3. However, the model has become more complex and its scale continues to expand, which is difficult to give full play to the advantages of lightweight model. To reduce the difficulty of deploying MobileNetV3 on embedded platform while maintaining its performance, a structured pruning method integrating the characteristics of MobileNetV3 is proposed to prune the lightweight model MobileNetV3-Large to obtain a more compact lightweight model. First, the model is trained by sparse regularization to obtain a sparse network model. Then, the product of the sparse value of convolution layer and scale factor of batch normalization layer is used to identify the redundant filter, which is structurally pruned, and experiment is conducted on CIFAR-10 and CIFAR-100 datasets. The results show that the proposed compression method can effectively compress the model parameters, and the compressed model can still ensure a good performance. While the accuracy remains unchanged, the number of parameters on CIFAR-10 in the model is reduced by 44.5% and calculation amount is reduced by 40%.

Keywords: deep neural network; lightweight model; structured pruning; MobileNetV3

PDF (11611KB) 元数据 多维度评价 相关文章 导出 EndNote| Ris| Bibtex  收藏本文

本文引用格式

刘宇, 雷雪梅. 融合MobileNetV3特征的结构化剪枝方法[J]. 上海交通大学学报, 2023, 57(9): 1203-1213 doi:10.16183/j.cnki.jsjtu.2022.077

LIU Yu, LEI Xuemei. A Structured Pruning Method Integrating Characteristics of MobileNetV3[J]. Journal of Shanghai Jiaotong University, 2023, 57(9): 1203-1213 doi:10.16183/j.cnki.jsjtu.2022.077

近年来,深度神经网络(Deep Neural Network, DNN)已经成为解决各种计算机视觉任务的主要方法,例如图像分类[1]、目标识别检测[2-3]、语义分割[4-5]等.随着大数据时代的到来,数据集规模不断扩大,计算硬件图形处理单元(Graphics Processing Unit, GPU)的飞速发展使得前所未有的大型DNN模型可以被开发.深层的大型DNN模型虽然有较强的表达能力,但对计算和存储资源提出很多要求,导致其难以应用到硬件系统和移动设备中.为解决这些问题,模型压缩[6-7]得到快速发展.

目前主流的网络压缩方法有参数量化与共享[8]、低秩近似[9]、知识蒸馏[10]、设计轻量级的模型[11-16]和网络剪枝[17-26]等,其中网络剪枝是基于某种准则判断网络参数的重要性,删除冗余参数.针对网络剪枝, Yann等[17]和Hassibi等[18] 最早提出用loss函数的Hessian矩阵来确定网络中的冗余参数,然而Hessian矩阵的计算本身就消耗大量时间.Han等[19]提出根据神经元连接权值的范数大小删除范数值小于阈值的连接.Chen等[20]提出HashedNets模型,该模型使用低成本的哈希函数实现参数剪枝.上述方法都是非结构性剪枝,修剪网络中权重小的不重要连接,得到的网络权值大多为0,因此可以利用稀疏格式存储模型来减少存储空间.然而这些方法只能通过专门的稀疏矩阵操作库或硬件来实现加速,运行时内存节省也非常有限.Li等[21]提出计算滤波器的L1范数,剪掉范数较小的滤波器.Chen等[22]提出使用Eyeriss处理器计算每一层能耗,优先删除能耗较大的层.Liu等[23]提出将批量归一化层(Batch Normalization, BN)的缩放系数γ作为判断滤波器重要性的依据,删除γ值小的滤波器.然而,这些方法只单独使用网络中的一部分参数,可能会导致对冗余参数的判定不够准确.韦越等[24]提出对模型进行稀疏化训练,然后将滤波器权重L1范数和BN层缩放系数γ的乘积作为判定依据.卢海伟等[25]提出将注意力机制和BN层的缩放系数γ相结合来判断滤波器重要性.上述方式可以更加准确地判断滤波器重要性.但相比于L1范数和注意力机制,Liu等[26]使用的稀疏性公式可以准确地表示卷积层中的提取到的参数信息.

为了适用于移动设备,出现了一些构造特殊结构的滤波器、网络层或网络具有存储量小、计算量低和网络性能好等特点的轻量级模型,如Mobile~Net[11-13]、Xception[14]、NestedNet[15]、MicroNet[16]等.其中,谷歌提出的MobileNetV1采用深度可分离卷积结构代替普通卷积操作,在参数量、计算量大幅度减少的同时,在ImageNet数据集上取得与视觉几何组(Visual Geometry Group, VGG)神经网络相当的准确率,得到学界的广泛关注.为提高准确率,MobileNet逐步从MobileNetV1发展到Mobile~NetV3,但模型体积越来越大,所需计算资源也越来越多,对移动设备中的资源要求越来越高.相较于传统DNN,轻量级网络设计更巧妙、结构更紧凑、计算方式更复杂,但可压缩的部分越来越少,给深度学习模型压缩的研究带来新的挑战.另一方面,不同轻量级模型具有不同网络结构特点,如何准确选择冗余结构,是对轻量级网络模型进行压缩的关键,是本文研究的主要目标之一.因此,为了进一步降低Mobile~NetV3对移动设备的硬件资源要求,使其可以部署到低功耗、低延时的应用场景中,基于Mobile~NetV3的网络结构特点提出一种新的模型压缩剪枝方法.

采用轻量级模型MobileNetV3-Large[13]与结构化剪枝相融合的方式,对网络进行压缩,提出一种新的剪枝准则.该方法令每个滤波器的稀疏值与BN层缩放系数相结合,从而对整体通道的重要性进行判别.首先,使用L1正则化对模型进行稀疏训练,然后利用稀疏性公式[26]和BN层缩放系数[27]得到滤波器的重要性函数,利用重要性函数作为判定依据,删除冗余滤波器.实验证明:在相同剪枝率的情况下,对比4种剪枝方式,本文的方法在压缩率相同的情况下具有更高准确率.

1 MobileNetV3

MobileNetV3[13]是谷歌在2019年提出的轻量级网络架构,除了继承MobileNetV1[11]和MobileNetV2[12]的特性之外,又拥有许多新特性.MobileNetV3使用的网络架构是基于神经网络架构搜索(Neural Architecture Search, NAS)实现的MnasNet,引入V1的深度可分离卷积、V2的具有线性瓶颈的倒残差结构和压缩激励模块(Squeeze and Excite,SE)结构的轻量级注意力模型,使用ReLU6函数和一种新的激活函数h-swish(x),如图1所示.图中:Dwise表示深度卷积,NL表示使用非线性激活函数,FC表示全连接运算,Pool表示下采样,hard-α表示NL激活函数的“hard”形式.该结构首先采用1×1点卷积对输入数据的维度进行扩充,然后进行逐深度卷积,再添加轻量级SE模块提升模型对通道的敏感度,最后使用1×1点卷积对维度进行压缩.其中V1的深度可分离卷积如图2所示,V2具有线性瓶颈的倒残差结构如图3所示.图中:C为滤波器层数(输入);k为卷积核大小;N为滤波器数量.在MobileNetV3-Large中基本网络单元占用大部分参数量计算量,具体如表1所示.MobileNetV3中使用ReLU6激活函数代替常规的线性修正单元(Linear rectification function, ReLU)函数,使激活函数输出参数分布的更加均匀[28],适合使用稀疏性公式进行判别.

图1

图1   MobileNetV3基本网络单元

Fig.1   Basic network unit of MobileNetV3


图2

图2   深度可分离卷积示意图

Fig.2   Depthwise separable convolution


图3

图3   MobileNet-V2基本网络单元

Fig.3   Basic network unit of MobileNet-V2


表1   MobileNetV3-Large主要资源占用

Tab.1  Main resource occupation of MobileNetV3-Large

类型参数占用量/%计算量/%
网络单元66.8494.14
其他33.165.87

新窗口打开| 下载CSV


2 结构化剪枝方法

根据MobileNetV3的结构特点,在不破坏原始网络结构的情况下,减少卷积层滤波器可以大幅度减少网络的计算量和参数量,提高网络运算速度.因此,首先使用L1正则化对模型进行稀疏化训练,再利用卷积层和BN层两层的参数信息对网络进行修剪,提出将缩放系数和稀疏值的乘积作为滤波器重要性的判断标准,对网络进行以滤波器为最小单位的结构化剪枝.

2.1 稀疏训练

模型稀疏化是一种提升模型剪枝的有效方法,已有许多方法可使神经网络变得稀疏,不仅可以得到稀疏的网络参数,加快模型收敛速度,同时还可以保持网络精度,得到更紧凑的网络模型[29].稀疏化的方法有训练中使用稀疏表示[30]、稀疏代价函数[31]、稀疏正则化[32]等.

由于易于实现且不会对网络引入额外的开销,所以选择L1正则化对神经网络进行稀疏训练,惩罚一些不重要的参数,使得滤波器中的参数稀疏化.使用的损失函数如下:

L=LCE+λR(γ)

式中:LCE为交叉熵损失函数,对于特征缩放系数γ,R(γ)=|γ|;λ为一个超参数,λ越大惩罚的参数越多,BN层中的参数就会越接近0.

2.2 特征缩放系数

大多数卷积神经网络都使用BN[27]结构,它是一种可以实现快速收敛和更好泛化能力的标准方式,一般置于卷积层的后一层,对卷积层的输出进行归一化处理.BN层有两个可学习的参数γ和β,可以使特征值学习到每一层的特征分布.BN层输入输出关系如下:

ZoutZin-μcσc+ε

式中:ZinZout 分别为输入、输出;μc和σc分别为对应激活通道c的均值和方差;ε为一个添加到小批量方差中的常数,用于数值稳定性;β为对应激活通道的偏移系数.缩放系数γ与通道的激活程度一一对应,间接反映对应滤波器的重要性,可以作为判定滤波器重要性的依据,而且不会给网络带来额外开销.

2.3 稀疏性公式

基于Liu等[26]提出的稀疏性公式,根据下式计算滤波器稀疏值:

Sl(n)= c,h,wσ(kl,ncwh)CHWσ(x)= 1, x|>Ml0, 

式中:n、c、w、h为组成卷积核4维张量的参数,n为滤波器数量(输出),c为滤波器层数(输入),w和h分别为滤波器宽度和长度;n, c, w, h 为正整数且n∈[N], c∈[C], h∈[H], w∈[W];σ(x)为公式Sl(n)中的一个变量,用于计算Sl(n);kl,nchw为卷积核权重.Sl(n)表示第l层中第n个滤波器的稀疏性,如果一个滤波器有越多系数小于该层的平均值Ml,那么Sl(n)越接近0,表示该滤波器与该层的其他滤波器相比更冗余.Ml是一个阈值,式(3)中Ml表示第l层卷积核权重平均值,根据下式计算:

Ml= n,c,h,wkl,nchw|NCWH

相比于每个滤波器的L1范数平均值,以所有滤波器权重范数和的平均值Ml作为Sl(n)的阈值,计算每个滤波器的稀疏值,更能体现每个滤波器在整个网络中的重要性.前者通过一个滤波器中的参数判定滤波器重要性,后者通过整个网络中所有滤波器的参数来判断一个滤波器对整个网络的影响,后者不仅更加准确,也更适合全局阈值修剪网络的方法.

2.4 滤波器重要性判定依据

利用卷积层的参数Sl(n)和BN层参数γ两部分结合,作为滤波器重要性的判定依据,得出重要性判定函数如下:

miiSi

式中:mi为第i个滤波器的重要性评分;γi为第i个滤波器对应的BN层缩放系数;Si为利用式(3)计算出的第i个滤波器的稀疏值.

根据重要性判定依据mi对网络进行修剪.图4是本文使用的剪枝方法图,具体步骤如算法1所示,其中d表示权重的维度,一般情况下为4.

图4

图4   结合Sl(n) 与缩放系数γ的结构化剪枝方法图

Fig.4   Structured pruning method combining Sl(n) and scaling factor γ


算法1 本文使用的剪枝方法

1: 使用随机权重W0∈Rd初始化一个网络,初始化剪枝掩码θ=1d.

2: 作用参数λ训练W0共200次,得到权重W1.

3: 从W1中计算mi,按顺序排列mi得到一个索引index.

4: 当mi<mindex50%θi=0, 通过计算θW1, 得到稀疏的权重W2.

5: 如果W2中的滤波器权重等于0,则删除滤波器.

6: 得到紧凑的权重参数W3,对应新的网络结构.

7: 重新训练W3共150次,得到最终结果W4.

在MobileNetV3特殊的网络结构中,倒置的残差模块占用大部分运算量和内存,因此本文主要对MobileNetV3 的基本网络单元结构进行修剪.由于深度可分离卷积中深度卷积的存在,要求这层卷积运算输入和输出的滤波器个数一致,但直接裁剪会导致输入和输出滤波器个数不一致,网络无法运行,而且深度可分离卷积中主要的计算量和参数量都来自于1×1 点卷积,深度卷积只占用很少的资源,所以只需要裁剪网络单元中的1×1卷积的滤波器,间接影射到深度卷积和后续的运算,就可以最大幅度减少网络的参数量和计算量.具体对模型的裁剪如图5所示,其中虚线部分表示裁剪的滤波器,首先裁剪1×1滤波器的个数,进而影响3×3滤波器维度和最后的1×1滤波器维度,灰色部分为裁剪滤波器后减少的对应特征图.

图5

图5   在MobileNetV3上剪枝后的结构图

Fig.5   Structure of MobileNetV3 after pruning


3 实验

3.1 实验环境

为保证实验的准确性和客观性,使用经典数据集CIFAR-10和CIFAR-100作为实验数据集.CIFAR-10是一个10分类数据集,每个类包含 6 000 张图片,共有 60 000 张彩色图片,其中 50 000 张作为训练集,10 000 张作为测试集,图片分辨率为32像素×32像素,在实验过程中将图片调整大小为224像素×224像素.CIFAR-100是CIFAR-10衍生出来的数据集,区别是CIFAR-100数据集包含100个分类,每个类包括600张图片.使用NVDIA GeForce RTX 3060 6 G显卡,采用Pytorch深度学习框架进行搭建、训练和测试.实验过程中使用Adam优化器,初始学习率为0.001,正则化系数选择 105 对模型MobileNetV3-Large进行稀疏训练,初始训练迭代200次,微调 150次,微调时不进行稀疏训练.

3.2 实验结果与分析

3.2.1 正则化系数的选择

综合考虑准确率和稀疏化效果,为了找出最恰当的正则化系数λ,对网络进行稀疏化训练时,同时设置多个λ,评估不同λ对模型准确率和稀疏化的影响.在实验过程中发现L1正则化系数λ大小不同基本不影响Sl(n)的分布,但会导致BN层参数γ分布不同,如图6所示.当λ=0时,BN层参数γ近似正态分布,当使用γ作为其中一个判定标准对模型进行剪枝时会删除部分有用的参数信息,影响剪枝效果.而随着λ增加,越来越多的参数γ聚集在0附近,对于模型剪枝而言,可以更加准确地判断冗余滤波器.因此,在选择BN层系数作为其中一个滤波器判定标准时,稀疏化训练至关重要.

图6

图6   不同正则化系数下的γ值分布图

Fig.6   γ value distribution at different regularization coefficients


不同的正则化系数λ对网络参数的约束程度不相同,网络准确率也不相同.越大的正则化系数会惩罚越多的参数,使滤波器参数越稀疏.但是惩罚过多的参数对网络的准确率也有很大的影响,参数越稀疏,网络准确率也会越低.λ=0,10-3,10-4,10-5,10-6时,对应的准确率分别为88.28%、85.50%、87.22%、88.15%、88.15%.λ大于10-3时,网络中参数过于稀疏,导致模型不收敛;λ小于10-3时,模型精度与稀疏程度会有一个折中.综合准确率和稀疏程度两种指标,选择10-5作为正则化系数,在保持准确率不变的情况下,对滤波器参数进行约束.

3.2.2 重要性评分

经过正则化训练之后,确定了正则化系数λ后,通过确定对应的γ、Sl(n)可以得出相应的重要性评分m,分布规律如图7所示,不同剪枝率下对应的m的值及γ和Sl(n)的范围如表2所示.由图7可知,γ、Sl(n)两个参数相对独立,m可以更准确地判别滤波器的冗余程度.

图7

图7   正则化训练后的参数分布(λ=10-5)

Fig.7   Parameter distribution after regularization trainning (λ=10-5)


表2   不同剪枝率下对应的m值及γ和Sl(n)的范围

Tab.2  m,γ, and Sl(n) at different pruning rates

剪枝率/%mγSl(n)
102.306 4×10-124.003 9×10-12~4.922 5×10-100~0.651 8
201.072 1×10-118.369 6×10-17~5.289 2×10-100.006 3~0.705 4
302.904 7×10-111.814 9×10-11~4.982 8×10-100.035 7~0.681 2
407.888 8×10-114.654 0×10-11~5.280 5×10-100.062 5~0.830 4
500.070 01.188 0×10-10~2.804 1×10-010.071 4~0.794 6
600.146 60.087 5~0.583 80.187 5~0.830 4

新窗口打开| 下载CSV


3.2.3 剪枝率

使用全局阈值对网络进行一次性剪枝.为了寻找最合适的剪枝率,设置14个不同的剪枝率在CIFAR-10数据集上对MobileNetV3-Large进行测试.由于裁剪到70%时会删除某个层的所有滤波器,导致网络结构被破坏,所以将剪枝率设置在0%~60%.模型在剪枝45%时,重新训练准确率最高达到88.82%,比没有剪枝前稀疏训练的模型高0.67%,比未剪枝未稀疏训练的模型高0.54%,说明本文剪枝方法减少部分影响判断结果的无用参数,减少神经元之间错综复杂的依赖关系,增强模型的泛化能力,提高模型的鲁棒性.不同剪枝率下模型参数量和计算量对比如表3所示.

表3   不同剪枝率下参数量计算量

Tab.3  Parameters and FLOPs at different pruning rates

剪枝
率/%
准确
率/%
参数
量×10-6
参数
减少量/%
计算量计算
减少量/%
088.284.2202.30×1080
1087.863.6812.82.17×1085.7
2088.263.2622.72.00×10813.0
3088.232.8931.51.81×10821.3
4088.692.6138.21.61×10830.0
5088.552.3444.51.38×10840.0
6087.992.1648.89.87×10757.1

新窗口打开| 下载CSV


3.2.4 不同剪枝方法对比

为了进一步说明本文剪枝方法的有效性,在同一实验环境,尽可能压缩网络且保存网络精度的条件下将全局剪枝率设置为50%,在CIFAR-10上测试对比4种剪枝方式, 实验结果如表4所示.在剪枝率相同的情况下,本文剪枝方式准确率略高于其他方式,同时在参数量和计算量上也有很大程度的压缩.在剪枝率50%的情况下,参数量下降44.5%, 计算量下降40.0%, 准确率上升0.4%.

表4   几种剪枝准则在CIFAR-10上的对比(裁剪50%)

Tab.4  Comparison of several pruning criteria on CIFAR-10 (50% pruned)

剪枝方法准确率/%参数量/M参数减少量/%计算量计算减少量
正常训练88.284.2202.30×1080
稀疏训练(λ=105)88.154.2202.30×1080
稀疏性公式[26]88.122.4442.21.18×10848.7
γ[23]88.372.3444.51.39×10839.6
L1norm+γ[24]88.362.3344.81.40×10839.1
稀疏性公式+γ,本文提出88.552.3444.51.18×10840.0

新窗口打开| 下载CSV


实验结果表明,在相同剪枝率的情况下本文的剪枝方法获得较好的剪枝结果,与单独使用BN层参数γ和单独使用卷积层参数相比,本文将两者结合的方法对冗余滤波器判别更加准确,获得更高的准确率和参数压缩率.

3.2.5 剪枝前后模型结构可视化对比

图8为MobileNetV3-Large网络剪枝前后对图像特征提取的热力图,由于使用CIFAR-10数据集训练网络,所以选择数据集中的猫和狗两个分类,在网络上随机选取两张图片.首先原始网络抓取到很多的特征,当对网络逐步裁剪10%时,网络删除了大部分特征,此时网络准确率最低(见表3),这表明网络删除少量冗余信息,但微调过程中又扩大其他冗余信息.随着冗余信息删除越来越多,直到裁剪40%时,网络微调后开始获得越来越多特征信息,网络精度也在上升,同时网络结构也越来越小,表明此时网络得到最优的网络结构和参数信息.当网络再进行裁剪到50%时,网络抓取的特征又会逐渐减小,网络精度开始下降.

图8

图8   剪枝前后模型结果可视化对比

Fig.8   Comparison of visualization of model result before and after pruning


从结果上来看,裁剪网络结构会减少网络中提取到的部分特征,但使用剩余特征进行网络微调可以让剩余特征学习到比原始网络更多的特征,也即突出了剩余特征.这里的剩余特征也就是最开始网络判定的重要特征.因此网络准确率保持不变甚至优于原始网络,也表明本文剪枝方法可以准确地判断冗余信息.

3.2.6 剪枝后的模型

在不改变模型整体结构的情况下,保持准确率基本不变所能达到的最大剪枝率为50%,为了进一步说明剪枝后模块中的滤波器变化情况,对比剪枝前[13]和剪枝后模型每层滤波器个数,如表5所示.由于主要对block模块进行裁剪,所以主要影响模块中通道数.bneck表示使用MobileNetV3的主要结构单元,激励模块表示在bneck中加入Squeeze-and-Excite模块,HS和RE分别为激活函数H-swish和ReLU6,NBN表示卷积层后不加入BN层,—表示没有这部分结构,√表示有结构,q表示网络输出分类数.

表5   剪枝前后模型通道数对比

Tab.5  Comparison of model channels before and after pruning

输入尺寸模块模块中
通道数
模块中通道
数(剪枝后)
输出
通道数
激励模块激活函数步长
224×224×3conv2d16HS2
112×112×16bneck, 3×316916RE1
112×112×16bneck, 3×3644924RE2
56×56×24bneck, 3×3724224RE1
56×56×24bneck, 5×5727240RE2
28×28×40bneck, 5×512010240RE1
28×28×40bneck, 5×51208940RE1
28×28×40bneck, 3×324022380HS2
14×14×80bneck, 3×320014480HS1
14×14×80bneck, 3×318413980HS1
14×14×80bneck, 3×318411280HS1
14×14×80bneck, 3×3480209112HS1
14×14×112bneck, 3×367238112HS1
14×14×112bneck, 5×5672540160HS2
7×7×160bneck, 5×5960484160HS1
7×7×160bneck, 5×5960255160HS1
7×7×160conv2d, 1×1960HS1
7×7×960pool, 7×71
1×1×960conv2d, 1×1, NBN1 280HS1
1×1×1280conv2d, 1×1, NBNq1

新窗口打开| 下载CSV


3.2.7 在CIFAR-100上进行测试

为了进一步证明本文剪枝方法的有效性,在标准数据集CIFAR-100上进行测试,将剪枝率设置为0%~60%,实验结果如表6所示.

表6   不同剪枝率下参数量计算量(CIFAR-100)

Tab.6  Parameters and FLOPs at different pruning rates (CIFAR100)

剪枝
率/%
准确
率/%
参数
量/M
参数
减少量/%
计算量计算
减少量/%
061.474.3302.30×1080
1060.813.5917.12.18×1085.2
2061.253.2924.02.07×10810.0
3061.512.9332.31.90×10817.4
4060.922.6239.51.70×10826.1
5061.222.3845.01.52×10833.9
6061.162.1650.11.18×10848.7

新窗口打开| 下载CSV


4 结语

基于深度神经网络压缩理论,采用结构化剪枝对轻量级模型MobileNetV3-Large进行压缩.在保证网络精度略有上升的情况下,对模型中的滤波器进行修剪,达到压缩网络的效果.提出一种判断滤波器重要性的方式,利用稀疏性公式和BN层缩放系数γ的乘积作为判断滤波器重要性的准则.实验证明:一方面,计算滤波器的稀疏性信息可以提取到具有判别性的信息;另一方面,特征缩放系数γ也衡量了滤波器重要性.综合两种判断指标,证实本文的判定方式能够更加准确地选取冗余滤波器,在模型准确率基本保持不变的情况下,实现模型最大程度上的压缩,提高网络的泛化能力.

参考文献

KRIZHEVSKY A, SUTSKEVER I, HINTON G E.

ImageNet classification with deep convolutional neural networks

[J]. Communications of the ACM, 2017, 60(6): 84-90.

DOI:10.1145/3065386      URL     [本文引用: 1]

We trained a large, deep convolutional neural network to classify the 1.2 million high-resolution images in the ImageNet LSVRC-2010 contest into the 1000 different classes. On the test data, we achieved top-1 and top-5 error rates of 37.5% and 17.0%, respectively, which is considerably better than the previous state-of-the-art. The neural network, which has 60 million parameters and 650,000 neurons, consists of five convolutional layers, some of which are followed by max-pooling layers, and three fully connected layers with a final 1000-way softmax. To make training faster, we used non-saturating neurons and a very efficient GPU implementation of the convolution operation. To reduce overfitting in the fully connected layers we employed a recently developed regularization method called \"dropout\" that proved to be very effective. We also entered a variant of this model in the ILSVRC-2012 competition and achieved a winning top-5 test error rate of 15.3%, compared to 26.2% achieved by the second-best entry.

李洋洋, 史历程, 万卫兵, .

基于卷积神经网络的三维物体检测方法

[J]. 上海交通大学学报, 2018, 52(1): 7-12.

[本文引用: 1]

LI Yangyang, SHI Licheng, WAN Weibing, et al.

A convolutional neural network-based method for 3D object detection

[J]. Journal of Shanghai Jiao Tong University, 2018, 52(1): 7-12.

[本文引用: 1]

KANG J, TARIQ S, OH H, et al.

A survey of deep learning-based object detection methods and datasets for overhead imagery

[J]. IEEE Access, 2022, 10: 20118-20134.

DOI:10.1109/ACCESS.2022.3149052      URL     [本文引用: 1]

张峻宁, 苏群星, 王成, .

一种改进变换网络的域自适应语义分割网络

[J]. 上海交通大学学报, 2021, 55(9): 1158-1168.

[本文引用: 1]

ZHANG Junning, SU Qunxing, WANG Cheng, et al.

A domain adaptive semantic segmentation network based on improved transformation network

[J]. Journal of Shanghai Jiao Tong University, 2021, 55(9): 1158-1168.

[本文引用: 1]

LI X, YANG Y B, ZHAO Q J, et al. Spatial pyramid based graph reasoning for semantic segmentation[C]//2020 IEEE/CVF Conference on Computer Vision and Pattern Recognition. Seattle, USA: IEEE, 2020: 8947-8956.

[本文引用: 1]

高晗, 田育龙, 许封元, .

深度学习模型压缩与加速综述

[J]. 软件学报, 2021, 32(1): 68-92.

[本文引用: 1]

GAO Han, TIAN Yulong, XU Fengyuan, et al.

Survey of deep learning model compression and acceleration

[J]. Journal of Software, 2021, 32(1): 68-92.

[本文引用: 1]

耿丽丽, 牛保宁.

深度神经网络模型压缩综述

[J]. 计算机科学与探索, 2020, 14(9): 1441-1455.

DOI:10.3778/j.issn.1673-9418.2003056      [本文引用: 1]

近年来,随着深度学习的飞速发展,深度神经网络受到了越来越多的关注,在许多应用领域取得了显著效果。通常,在较高的计算量下,深度神经网络的学习能力随着网络层深度的增加而不断提高,因此深度神经网络在大型数据集上的表现非常卓越。然而,由于其计算量大、存储成本高、模型复杂等特性,使得深度学习无法有效地应用于轻量级移动便携设备。因此,压缩、优化深度学习模型成为目前研究的热点。当前主要的模型压缩方法有模型裁剪、轻量级网络设计、知识蒸馏、量化、体系结构搜索等。对以上方法的性能、优缺点和最新研究成果进行了分析总结,并对未来研究方向进行了展望。

GENG Lili, NIU Baoning.

Survey of deep neural networks model compression

[J]. Journal of Frontiers of Computer Science & Technology, 2020, 14(9): 1441-1455.

[本文引用: 1]

WU J, WANG Y, WU Z, et al. Deep k-means: Retraining and parameter sharing with harder cluster assignments for compressing deep convolutions[C]//Proceedings of the 35th International Conference on Machine Learning. Stockholm, Sweden: PMLR, 2018: 5363-5372.

[本文引用: 1]

AGGARWAL V, WANG W L, ERIKSSON B, et al. Wide compression: Tensor ring nets[C]//2018 IEEE/CVF Conference on Computer Vision and Pattern Recognition. Salt Lake City, USA: IEEE, 2018: 9329-9338.

[本文引用: 1]

CHEN H T, GUO T Y, XU C, et al. Learning student networks in the wild[C]//2021 IEEE/CVF Conference on Computer Vision and Pattern Recognition. Nashville, USA: IEEE, 2021: 6424-6433.

[本文引用: 1]

HOWARD A G, ZHU M, CHEN B, et al.

MobileNets: Efficient convolutional neural networks for mobile vision applications

[EB/OL]. (2017-04-17) [2022-03-18]. https://arxiv.org/abs/1704.04861.

URL     [本文引用: 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, USA: IEEE, 2018: 4510-4520.

[本文引用: 3]

HOWARD A, SANDLER M, CHEN B, et al. Searching for MobileNetV3[C]//2019 IEEE/CVF International Conference on Computer Vision. Seoul, Korea: IEEE, 2019: 1314-1324.

[本文引用: 5]

CHOLLET F. Xception: Deep learning with depthwise separable convolutions[C]//2017 IEEE Conference on Computer Vision and Pattern Recognition. Honolulu, USA: IEEE, 2017: 1800-1807.

[本文引用: 2]

KIM E, AHN C, OH S. NestedNet: Learning nested sparse structures in Deep Neural Networks[C]//2018 IEEE/CVF Conference on Computer Vision and Pattern Recognition. Salt Lake City, USA: IEEE, 2018: 8669-8678.

[本文引用: 2]

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. Montreal, Canada: IEEE, 2021: 458-467.

[本文引用: 2]

YANN L C, DENKER J S, SOLLA S A.

1990. Optimal brain damage

[J]. Neural Information Proceeding Systems. 1989, 2(279): 598-605.

[本文引用: 2]

HASSIBI B, STORK D G, WOLFF G J. Optimal Brain Surgeon and general network pruning[C]//IEEE International Conference on Neural Networks. San Francisco, USA: IEEE, 1993: 293-299.

[本文引用: 2]

HAN S, POOL J, TRAN J, et al. Learning both weights and connections for efficient neural networks[C]//Proceedings of the 28th International Conference on Neural Information Processing Systems. Montreal, Canada: MIT Press, 2015: 1135-1143.

[本文引用: 2]

CHEN W L, WILSON J T, TYREE S, et al.

Compressing neural networks with the hashing trick

[EB/OL]. (2015-04-19)[2022-03-18]. https://arxiv.org/abs/1504.04788.

URL     [本文引用: 2]

LI H, ASIM K, IGOR D, et al.

Pruning filters for efficient convNets

[EB/OL]. (2017-05-10) [2022-03-18], https://arxiv.org/abs/1608.08710.

URL     [本文引用: 2]

CHEN Y H, EMER J, SZE V. Eyeriss: A spatial architecture for energy-efficient dataflow for convolutional neural networks[C]//2016 ACM/IEEE 43rd Annual International Symposium on Computer Architecture. Seoul, Korea: IEEE, 2016: 367-379.

[本文引用: 2]

LIU Z, LI J, SHEN Z, et al. Learning efficient convolutional networks through network slimming[C]//2017 IEEE International Conference on Computer Vision. Venice, Italy: IEEE, 2017: 2755-2763.

[本文引用: 3]

韦越, 陈世超, 朱凤华, .

基于稀疏正则化的卷积神经网络模型剪枝方法

[J]. 计算机工程, 2021, 47(10): 61-66.

DOI:10.19678/j.issn.1000-3428.0059375      [本文引用: 3]

现有卷积神经网络模型剪枝方法仅依靠自身参数信息难以准确评估参数重要性,容易造成参数误剪且影响网络模型整体性能。提出一种改进的卷积神经网络模型剪枝方法,通过对卷积神经网络模型进行稀疏正则化训练,得到参数较稀疏的深度卷积神经网络模型,并结合卷积层和BN层的稀疏性进行结构化剪枝去除冗余滤波器。在CIFAR-10、CIFAR-100和SVHN数据集上的实验结果表明,该方法能有效压缩网络模型规模并降低计算复杂度,尤其在SVHN数据集上,压缩后的VGG-16网络模型在参数量和浮点运算量分别减少97.3%和91.2%的情况下,图像分类准确率仅损失了0.57个百分点。

WEI Yue, CHEN Shichao, ZHU Fenghua, et al.

Pruning method for convolutional neural network models based on sparse regularization

[J]. Computer Engineering, 2021, 47(10): 61-66.

DOI:10.19678/j.issn.1000-3428.0059375      [本文引用: 3]

The existing pruning algorithms for Convolutional Neural Network(CNN) models exhibit a low accuracy in evaluating the importance of parameters by relying on their own parameter information, which would easily lead to mispruning and affect the performance of model.To address the problem, an improved pruning method for CNN models is proposed.By training the model with sparse regularization, a deep convolutional neural network model with sparse parameters is obtained.Structural pruning is performed by combining the sparsity of the convolution layer and the BN layer to remove redundant filters.Experimental results on CIFAR-10, CIFAR-100 and SVHN datasets show that the proposed pruning method can effectively compress the network model scale and reduce the computational complexity.Especially on the SVHN dataset, the compressed VGG-16 network model reduces the amount of parameters and FLOPs by 97.3% and 91.2%, respectively, and the accuracy of image classification only loses 0.57 percentage points.

卢海伟, 夏海峰, 袁晓彤.

基于滤波器注意力机制与特征缩放系数的动态网络剪枝

[J]. 小型微型计算机系统, 2019, 40(9): 1832-1838.

[本文引用: 2]

结构化剪枝是模型压缩的一种有效方式,裁减掉网络中不重要的滤波器,减小网络的计算量和存储量.然而,仅仅基于滤波器自身的参数信息是无法准确判断该滤波器是否冗余.针对以上问题,提出一种利用卷积层和BN层双层参数信息的动态网络剪枝方法,该方法利用滤波器注意力机制以及BN(Batch Normalization)层缩放系数选择冗余滤波器,并对其进行裁剪.该方法具有三个优势:1)端到端的训练剪枝:训练和剪枝同时进行,训练速度更快.2)更大的优化空间:训练过程中动态调整被裁剪的滤波器,搜索最优的剪枝策略.3)更准确的滤波器选择:运用多重参数信息精确选取冗余的滤波器,提高了网络的泛化性能.实验分别在标准CIFAR-10数据集和CIFAR-100数据集上进行,尤其在CIFAR-10数据集上的实验结果表明,压缩后的ResNet56和ResNet110的浮点运算率减少40%多,但精度比基本网络高.

LU Haiwei, XIA Haifeng, YUAN Xiaotong.

Dynamic network pruning via filter attention mechanism and feature scaling factor

[J]. Journal of Chinese Computer Systems, 2019, 40(9): 1832-1838.

[本文引用: 2]

Structured pruning is an effective way of model compression,which reduces the unimportant filters in the network and reduces the amount of computation and storage of the network..However,it is impossible to accurately determine the filter based on the parameter information of the filter itself.A dynamic pruning method is proposed,which uses the attention mechanism of the filter and the BN layer scaling factor to select a redundant filter and crop it.The method has three advantages:1.End-to-end training pruning:training and pruning are performed at the same time and the training speed is faster.2.Larger optimization space:The training network dynamically adjusts the cropped filter to search for the optimal pruning strategy.3.More accurate filter selection:Multiple parameter information selects redundant filters to ensure the performance of the network.The experiments were carried out on CIFAR-10 and CIFAR-100 respectively.The experimental results on the CIFAR-10 dataset showed that the floating point operations of the compressed ResNet56 and ResNet110 were reduced by more than 40%,but the accuracy was improved.

LIU C T, LIN T W, WU Y H, et al.

Computation-performance optimization of convolutional neural networks with redundant filter removal

[J]. IEEE Transactions on Circuits & Systems, 2019, 66(5): 1908-1921.

[本文引用: 5]

IOFFE S, SZEGEDY C. Batch normalization: Accelerating deep network training by reducing internal covariate shift[C]//Proceedings of the 32nd International Conference on International Conference on Machine Learning. Lille, France: JMLR: W&CP, 2015: 448-456.

[本文引用: 2]

KULKARNI U, MEENA S M, GURLAHOSUR S V, et al.

Quantization friendly MobileNet (QF-MobileNet) architecture for vision based applications on embedded platforms

[J]. Neural Networks: The Official Journal of the International Neural Network Society, 2021, 136: 28-39.

DOI:10.1016/j.neunet.2020.12.022      URL     [本文引用: 1]

叶会娟, 刘向阳.

基于稀疏卷积核的卷积神经网络研究及其应用

[J]. 信息技术, 2017, 41(10): 5-9.

[本文引用: 1]

YE Huijuan, LIU Xiangyang.

Research and application of convolutional neural network based on sparse convolution kernel

[J]. Information Technology, 2017, 41(10): 5-9.

[本文引用: 1]

WU S L, ZHANG F R, CHEN H D, et al.

Semantic understanding based on multi-feature kernel sparse representation and decision rules for mangrove growth

[J]. Information Processing & Management, 2022, 59(2): 102813.

DOI:10.1016/j.ipm.2021.102813      URL     [本文引用: 1]

MERINO P.

A difference-of-convex functions approach for sparse PDE optimal control problems with nonconvex costs

[J]. Computational Optimization & Applications, 2019, 74(1): 225-258.

[本文引用: 1]

GAO X R, BAI Y Q, LI Q.

A sparse optimization problem with hybrid L2-Lp regularization for application of magnetic resonance brain images

[J]. Journal of Combinatorial Optimization, 2021, 42(4): 760-784.

DOI:10.1007/s10878-019-00479-x      [本文引用: 1]

/