CN111144551A - 一种基于特征方差比的卷积神经网络通道剪枝方法 - Google Patents
一种基于特征方差比的卷积神经网络通道剪枝方法 Download PDFInfo
- Publication number
- CN111144551A CN111144551A CN201911380006.5A CN201911380006A CN111144551A CN 111144551 A CN111144551 A CN 111144551A CN 201911380006 A CN201911380006 A CN 201911380006A CN 111144551 A CN111144551 A CN 111144551A
- Authority
- CN
- China
- Prior art keywords
- variance
- neural network
- pruning
- channel
- convolutional neural
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- General Health & Medical Sciences (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Computational Linguistics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Evolutionary Computation (AREA)
- Artificial Intelligence (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Health & Medical Sciences (AREA)
- Image Analysis (AREA)
Abstract
本发明涉及一种基于特征方差比的卷积神经网络通道剪枝方法。本发明首先通过训练数据集,估计每一层每一输入通道经每一滤波器中输入通道对应的卷积核滤波后的初级特征图的方差和每一滤波器对应输出特征图的方差,然后根据每一层每一输入通道经不同滤波器滤波后的各个初级特征图的方差与初级特征图所对应的滤波器的输出特征图的方差的比值的和,得到每一输入通道的重要性参数,最后根据每一层每一输入通道的重要性参数,对卷积神经网络进行全局通道修剪。本发明与传统的通道剪枝方法相比,具有可解释性、不引入额外的超参数、不需要人为定义剪枝后的网络结构等优点。
Description
技术领域
本发明属于深度学习技术领域,具体涉及一种基于特征方差比的卷积神经网络通道剪枝方法。
背景技术
深度卷积神经网络已经在计算机视觉的多个领域取得了成功,例如图像分类、目标检测、语义分割等。然而,性能的提升是以庞大的存储和计算资源为代价的。当前的深度卷积神经网络往往都伴随着巨大的参数量和计算量,这使得它们在诸如移动端、嵌入式板等资源受限的设备上的部署变得极为困难。为了解决这个问题,研究人员已经提出了诸多深度神经网络压缩与加速方法,例如通道剪枝、知识蒸馏、张量分解等。其中,通道剪枝由于可以在不影响模型性能的情况下减少模型的大量存储和计算开销,并且可以方便地在各种深度学习库中实现,现在已经成为一种主流的解决方案。
通道剪枝旨在删除卷积神经网络中冗余的通道。传统的通道剪枝方法利用网络中参数幅度的大小来指导修剪,例如删除那些卷积层中滤波器范数或者批归一化层中尺度因子绝对值较小的通道。这些方法虽然实现简单,但是只考虑了局部连接信息,而未考虑层间的连接关系,这使得它们无法充分地对网络进行压缩。例如在带有批归一化层和线性整流单元的卷积神经网络中,滤波器的范数将会被批归一化层抵消,不能真实地反映相应输出通道的作用,在线性整流单元的正齐次性质下,过小的批归一化层的尺度因子可以完全在后续的卷积层中得到补偿,局部连接权重太小并不意味着通道就不重要。
发明内容
为了解决背景技术中的问题,本发明提供了一种基于特征方差比的深度卷积神经网络剪枝方法,本发明方法利用滤波后的输入特征图和输出特征图的方差的比值来评估相应输入通道的重要性,并利用此来指导修剪。该方法本质上是保留了模型中信息量最大的那些通道,而把信息量较小的通道删除,这使得模型的表征更加紧致,提高了网络的参数和计算效率。
本发明采用的技术方案如下:
包括以下步骤:
步骤S1:训练数据集输入卷积神经网络,卷积神经网络的每一卷积层中,每个输入通道分别经各个滤波器滤波后得到的各个特征图作为初级特征图并计算初级特征图的方差,所有输入通道经同一滤波器滤波后得到的特征图作为当前滤波器的输出特征图并计算输出特征图的方差;
步骤S2:同一通道经各个滤波器滤波后得到的各个初级特征图的方差分别和初级特征图所对应的滤波器的输出特征图的方差求比值并将该比值作为初始比值,将同一通道的所有初始比值相加作为该通道的重要性参数,从而得到每一卷积层每一输入通道的重要性参数;
步骤S3:根据每一卷积层每一输入通道的重要性参数,对卷积神经网络进行全局通道修剪。
所述步骤S1具体为:
步骤1-1:将卷积神经网络第l层卷积层第i个输入通道的特征图记为Xi,Xi经第j个滤波器中与输入通道对应的第i个卷积核滤波后得到的特征图记为初级特征图Mj,i:
Mj,i=Kj,i*Xi
其中Kj,i表示第j个滤波器的第i个卷积核;
步骤1-2:采用精确计算方法或近似计算方法计算初级特征图Mj,i的方差:
近似计算方法:为了计算简便,根据柯西-施瓦茨不等式,初级特征图Mj,i方差可以采用另一种计算方式得到:
步骤1-4:利用训练数据集分别得到Mj,i和Yj方差的移动平均方差,并作为Mj,和Yj方差的实际估计,具体表达式如下:
其中,λ为衰减因子,表示Mj,i的移动平均方差,表示Yj的移动平均方差,表示在训练数据集中的第t个训练批样本上按步骤1-2计算得到的Mj,方差,表示在训练数据集中的第t个训练批样本上按步骤1-3计算得到的Yj方差。
如果卷积神经网络中的第l层卷积层的后一层为批归一化层,利用批归一化层中的二阶移动平均统计量作为步骤1-4中Yj方差的实际估计,不必进行额外计算。
所述步骤S2具体为:
步骤2-1:根据初级特征图Mj,i和初级特征图Mj,i对应的滤波器的输出特征图Yj的移动平均方差,计算第l层卷积层第i个输入通道的重要性参数为
其中,N表示第l层卷积层的滤波器个数。
步骤2-2:采用步骤2-1计算卷积神经网络中每一卷积层每一输入通道的重要性参数。
所述步骤S3具体为:
步骤3-1:根据在训练数据集上预设的剪枝轮数T以及最终轮期望计算量减少比率R,得到在训练数据集上的第t轮剪枝要达到的第t轮期望计算量减少比率r(t):
r(t)=R-R(1-t/T)2,0≤t≤T;
步骤3-2:在每一轮修剪前,先对卷积神经网络进行一轮训练,然后在一轮训练结束时对卷积神经网络进行修剪;
所述对卷积神经网络进行修剪具体为:在第t轮修剪时,根据步骤S2中计算得到的每个通道的重要性参数,不断删除参数值最低的通道,每一次删除后计算实际计算量减少比率rc(t),直至实际计算量减少比率rc(t)达到步骤3-1计算的第t轮期望计算量减少比率r(t);
步骤3-3:重复步骤3-2,直至剪枝轮数达到T,此时r(T)=R,即达到预设的期望计算量减少比率R,剪枝完的模型理论上获得1/(1-R)倍的加速。
步骤3-4:采用训练数据集对剪枝完的卷积神经网络进行训练,直至其收敛为止。
所述步骤3-2中的实际计算量减少比率rc(t)采用下述公式计算得到:rc(t)=1-当前修剪后的网络的浮点操作数/未修剪过的网络的浮点操作数
网络的浮点操作数计算方法为:
L表示卷积神经网络卷积层的数目。
所述步骤3-2中的一轮训练为将训练数据集中所有训练数据遍历一遍。
本发明的有益效果:
(a)本发明针对目前主流的卷积神经网络,采用特征方差比来指导网络修剪,这比传统的基于网络参数幅度的方法更能剔除网络中的冗余通道,具有更高的剪枝效率。同时,本方法不受批归一化层和线性整流单元等正齐次激活函数的对参数幅度的归一化和补偿的影响。更重要的是,本方法可以使剪枝前后卷积输出特征图在皮尔逊相关系数意义下高度相关,具有可解释性,有严谨的理论基础。
(b)大多数通道剪枝方法在修剪网络之前都需要人为定义剪枝后的模型结构,这需要充分的先验知识,而本发明方法可以在没有人工干预的情况下实现对网络的全局修剪,更加自动化。
(c)本发明方法不需要对卷积神经网络的结构作任何修改,不引入任何超参数,使用起来更加便捷。经过本发明通道剪枝后,保留了卷积神经网络中信息量最大的那些通道,而把信息量较小的通道删除,这使得网络的表征更加紧致,提高了网络的参数和计算效率,可以在减少大量计算量的情况下维持较高的精度。
附图说明
图1是本发明方法的流程图;
图2是每个通道的重要性参数计算图;
图3是ResNet-18在本发明剪枝前后的卷积输出特征对比图;
图4是ResNet-18在本发明剪枝前后的通道重要性参数分布变化图;
图5是ResNet-18在本发明剪枝前后的网络结构图;
图6是本发明方法在不同卷积神经网络上的修剪结果。
具体实施方式
下面结合附图和具体实施例对本发明做进一步说明。
图1为本发明基于特征方差比的卷积神经网络通道剪枝方法的流程图,该方法通过在训练数据集上计算给定卷积神经网络每一卷积层每一输入通道滤波后的特征图与所有输出通道的特征图的方差的比之和,得出每一通道的重要性参数,然后根据此参数对网络进行全局通道修剪。
以下对上述各个步骤进行详细地描述,以便理解本发明方案。
为了描述方便,本发明部分实施例忽略ResNet-18投影捷径中的卷积层。
步骤1.利用训练数据集,估计ResNet18每一卷积层每一输入通道滤波后的特征图的方差和所有输入通道经滤波器滤波后得到的输出特征图的方差;
S1-1.将ResNet-18第l层第i个输入通道的特征图记为Xi,Xi经第j个滤波器中与输入通道对应的第i个卷积核滤波后得到的特征图记为Mj,i,Mj,i=Kj,i*Xi,其中Kj,i表示第j个滤波器的第i个卷积核。滤波后的输入特征图Mj,i的方差的表达式为:
S1-2.根据柯西-施瓦茨不等式,Mj,i方差可采用另一种近似计算方式:
其中‖·‖F表示Frobenius范数,Ri,p,q表示初级特征图Mj,i的第p行、第q列元素在Xi中的感受野,涉及卷积核的参数值,涉及输入特征图的数据,该两者都可以直接获得,而不需要对模型的计算结构做任何改变。
S1-3.卷积神经网络第l层第j个滤波器的输出特征图Yj的方差的计算方式为
S1-4.根据步骤S1-2和步骤S1-3的计算表达式,得到Mj,i和Yj方差在训练数据集上的移动平均结果,该结果作为Mj,i和Yj方差的稳定而可靠的估计。具体表达式如下:
S1-5.由于Resnet-18使用批归一化层,直接利用批归一化层中的二阶移动平均统计量作为Yj的方差估计,不需要按照步骤S1-3和S1-4所述方式估计Yj的方差。
步骤2.根据ResNet-18每一层每一输入通道的滤波后的特征图的方差与所有输出通道的方差的比值的和,得到每一输入通道的重要性参数;
S2-1.根据Mj,i和Yj的移动平均方差,得到第l层第i个输入通道的重要性参数为
其中,N表示该层的滤波器的个数。图2给出了通道重要性参数的一个简单示例,虚线所标记的通道重要性参数最低。
S2-2.对ResNet-18每一卷积层每一输入通道按步骤S2-1计算其重要性参数。
步骤3.根据每一卷积层每一输入通道的重要性参数,对ResNet-18进行全局通道修剪,得到修剪后的模型;
S3-1根据预设的在训练集上的剪枝轮数T=20以及期望的最终轮计算量减少比率R=0.5,得到在训练数据集上的第t轮剪枝要达到的期望的第t轮计算量减少比率r(t),r(t)=R-R(1-t/T)2=0.5-0.5×(1-t/20)2,0≤t≤20。
S3-2.在每一轮修剪时,先对模型进行一轮训练,然后在该轮结束时对模型进行修剪。
S3-3.每次修剪时,根据步骤S2计算出的每个通道的重要性参数,依次删除参数最低的通道,每一次删除后计算实际计算量减少比率rc(t),直至实际计算量减少比率rc(t)达到S3-1计算的第t轮期望计算量减少比率r(t);
实际计算量减少比率rc(t)采用下述公式计算得到:
rc(t)=1-当前修剪后的网络的浮点操作数/未修剪过的网络的浮点操作数
S3-4.重复步骤S3-2,直至剪枝轮数达到T=20,此时有r(20)=0.5,即达到最终轮期望计算量减少比率,剪枝完的模型理论上获得1/(1-R)=2倍的加速。图3给出了随机选取的ResNet-18第二个卷积层的5张输出特征图在剪枝前后的可视化,它们是高度相关的。
S3-5.对剪枝完的模型进行训练,直至其收敛为止。图4给出了训练后网络中的通道重要性参数分布与原网络中通道重要性参数分布的对比。
通过本发明方法,得到一个更加紧致、计算量更小的卷积神经网络,其网络结构如图5所示。
如图6所示,不同的卷积神经网络经过本发明通道剪枝后,在减少大量计算量的情况下仍能维持较高的精度。
以上对本发明方法的具体实施例进行了详细地描述。需要注意的是,本发明不局限于上述实施例,在权利要求范围内,本领域技术人员可对本发明方法做出各种修改。提供本实施例只是为了能让相关人员更好地理解本发明方法。
Claims (7)
1.一种基于特征方差比的卷积神经网络通道剪枝方法,其特征在于,包括以下步骤:
步骤S1:训练数据集输入卷积神经网络,卷积神经网络的每一卷积层中,每个输入通道分别经各个滤波器滤波后得到的各个特征图作为初级特征图并计算初级特征图的方差,所有输入通道经同一滤波器滤波后得到的特征图作为当前滤波器的输出特征图并计算输出特征图的方差;
步骤S2:同一通道经各个滤波器滤波后得到的各个初级特征图的方差分别和初级特征图所对应的滤波器的输出特征图的方差求比值并将该比值作为初始比值,将同一通道的所有初始比值相加作为该通道的重要性参数,从而得到每一卷积层每一输入通道的重要性参数;
步骤S3:根据每一卷积层每一输入通道的重要性参数,对卷积神经网络进行全局通道修剪。
2.根据权利要求1所述的基于特征方差比的卷积神经网络通道剪枝方法,其特征在于,所述步骤S1具体为:
步骤1-1:将卷积神经网络第l层卷积层第i个输入通道的特征图记为Xi,Xi经第j个滤波器中与输入通道对应的第i个卷积核滤波后得到的特征图记为初级特征图Mj,i:
Mj,i=Kj,i*Xi
其中Kj,i表示第j个滤波器的第i个卷积核;
步骤1-2:采用精确计算方法或近似计算方法计算初级特征图Mj,i的方差:
近似计算方法:根据柯西-施瓦茨不等式,初级特征图Mj,i方差采用另一种计算方式得到:
步骤1-4:利用训练数据集分别得到Mj,i和Yj方差的移动平均方差,并作为Mj,i和Yj方差的实际估计,具体表达式如下:
3.根据权利要求2所述的基于特征方差比的卷积神经网络通道剪枝方法,其特征在于,如果卷积神经网络中的第l层卷积层的后一层为批归一化层,利用批归一化层中的二阶移动平均统计量作为步骤1-4中Yj方差的实际估计。
5.根据权利要求1所述的基于特征方差比的卷积神经网络通道剪枝方法,其特征在于,所述步骤S3具体为:
步骤3-1:根据在训练数据集上预设的剪枝轮数T以及最终轮期望计算量减少比率R,得到在训练数据集上的第t轮剪枝要达到的第t轮期望计算量减少比率r(t):
r(t)=R-R(1-t/T)2,0≤t≤T;
步骤3-2:在每一轮修剪前,先对卷积神经网络进行一轮训练,然后在一轮训练结束时对卷积神经网络进行修剪;
所述对卷积神经网络进行修剪具体为:在第t轮修剪时,根据步骤S2中计算得到的每个通道的重要性参数,不断删除参数值最低的通道,每一次删除后计算实际计算量减少比率rc(t),直至实际计算量减少比率rc(t)达到步骤3-1计算的第t轮期望计算量减少比率r(t);
步骤3-3:重复步骤3-2,直至剪枝轮数达到T,此时r(T)=R,即达到最终轮期望计算量减少比率R。
步骤3-4:采用训练数据集对剪枝完的卷积神经网络进行训练,直至其收敛为止。
7.根据权利要求1所述的基于特征方差比的卷积神经网络通道剪枝方法,其特征在于,所述步骤3-2中的一轮训练为将训练数据集中所有训练数据遍历一遍。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911380006.5A CN111144551A (zh) | 2019-12-27 | 2019-12-27 | 一种基于特征方差比的卷积神经网络通道剪枝方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911380006.5A CN111144551A (zh) | 2019-12-27 | 2019-12-27 | 一种基于特征方差比的卷积神经网络通道剪枝方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111144551A true CN111144551A (zh) | 2020-05-12 |
Family
ID=70521169
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911380006.5A Pending CN111144551A (zh) | 2019-12-27 | 2019-12-27 | 一种基于特征方差比的卷积神经网络通道剪枝方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111144551A (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111814953A (zh) * | 2020-06-16 | 2020-10-23 | 上海瀚讯信息技术股份有限公司 | 一种基于通道剪枝的深度卷积神经网络模型的定位方法 |
CN112215353A (zh) * | 2020-09-29 | 2021-01-12 | 电子科技大学 | 一种基于变分结构优化网络的通道剪枝方法 |
CN112488297A (zh) * | 2020-12-03 | 2021-03-12 | 深圳信息职业技术学院 | 一种神经网络剪枝方法、模型生成方法及装置 |
US11030528B1 (en) * | 2020-01-20 | 2021-06-08 | Zhejiang University | Convolutional neural network pruning method based on feature map sparsification |
CN116825088A (zh) * | 2023-08-25 | 2023-09-29 | 深圳市国硕宏电子有限公司 | 一种基于深度学习的会议语音检测方法及系统 |
-
2019
- 2019-12-27 CN CN201911380006.5A patent/CN111144551A/zh active Pending
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11030528B1 (en) * | 2020-01-20 | 2021-06-08 | Zhejiang University | Convolutional neural network pruning method based on feature map sparsification |
CN111814953A (zh) * | 2020-06-16 | 2020-10-23 | 上海瀚讯信息技术股份有限公司 | 一种基于通道剪枝的深度卷积神经网络模型的定位方法 |
CN111814953B (zh) * | 2020-06-16 | 2024-02-13 | 上海瀚讯信息技术股份有限公司 | 一种基于通道剪枝的深度卷积神经网络模型的定位方法 |
CN112215353A (zh) * | 2020-09-29 | 2021-01-12 | 电子科技大学 | 一种基于变分结构优化网络的通道剪枝方法 |
CN112215353B (zh) * | 2020-09-29 | 2023-09-01 | 电子科技大学 | 一种基于变分结构优化网络的通道剪枝方法 |
CN112488297A (zh) * | 2020-12-03 | 2021-03-12 | 深圳信息职业技术学院 | 一种神经网络剪枝方法、模型生成方法及装置 |
CN112488297B (zh) * | 2020-12-03 | 2023-10-13 | 深圳信息职业技术学院 | 一种神经网络剪枝方法、模型生成方法及装置 |
CN116825088A (zh) * | 2023-08-25 | 2023-09-29 | 深圳市国硕宏电子有限公司 | 一种基于深度学习的会议语音检测方法及系统 |
CN116825088B (zh) * | 2023-08-25 | 2023-11-07 | 深圳市国硕宏电子有限公司 | 一种基于深度学习的会议语音检测方法及系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111144551A (zh) | 一种基于特征方差比的卷积神经网络通道剪枝方法 | |
US11030528B1 (en) | Convolutional neural network pruning method based on feature map sparsification | |
CN110084221B (zh) | 一种基于深度学习的带中继监督的序列化人脸关键点检测方法 | |
CN112633412B (zh) | 异常用电检测方法、设备及存储介质 | |
CN109191418B (zh) | 一种基于收缩自编码器特征学习的遥感图像变化检测方法 | |
CN112699941B (zh) | 植物病害严重程度图像分类方法、装置、设备和存储介质 | |
CN113486303A (zh) | 一种基于修饰模型集成的长时间序列预测方法 | |
CN112686376A (zh) | 一种基于时序图神经网络的节点表示方法及增量学习方法 | |
CN113657585A (zh) | 一种稀疏网络结构剪枝方法及装置 | |
CN114677548A (zh) | 基于阻变存储器的神经网络图像分类系统及方法 | |
CN115511071A (zh) | 模型训练方法、装置及可读存储介质 | |
CN112215404A (zh) | 基于相空间重构和集合经验模态分解的预测方法及装置 | |
CN116188878A (zh) | 基于神经网络结构微调的图像分类方法、装置和存储介质 | |
CN112102269B (zh) | 计算风格迁移质量相似度的方法、装置、计算机设备和存储介质 | |
CN117058235A (zh) | 跨多种室内场景的视觉定位方法 | |
CN116992941A (zh) | 基于特征相似与特征补偿的卷积神经网络剪枝方法及装置 | |
CN111369559A (zh) | 妆容评估方法、装置、化妆镜和存储介质 | |
CN116187561A (zh) | 一种基于空间时域卷积网络的pm10浓度精细化预测方法 | |
CN115953902A (zh) | 一种基于多视图时空图卷积网络的交通流预测方法 | |
CN113378866B (zh) | 图像分类方法、系统、存储介质及电子设备 | |
CN114511078A (zh) | 基于多策略麻雀搜索算法的bp神经网络预测方法及装置 | |
CN113298827A (zh) | 一种基于DP-Net网络的图像分割方法 | |
Kumar et al. | CNN-based denoising system for the image quality enhancement | |
Chen et al. | Fpar: Filter pruning via attention and rank enhancement | |
CN112308197A (zh) | 一种卷积神经网络的压缩方法、装置及电子设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20200512 |
|
RJ01 | Rejection of invention patent application after publication |