一种基于BN层多因子的剪枝方法技术

技术编号:38207526 阅读:7 留言:0更新日期:2023-07-21 16:56
本发明专利技术提出一种基于BN层多因子的剪枝方法,属于深度学习、模型压缩和加速技术领域。该方法使用多因子L1正则化来稀疏参数,设计通道得分函数,引入偏移因子来修正通道得分,使用局部剪枝代替全局剪枝,以获得更高的模型压缩率,针对模型体积较大的情况,剪枝后使用知识蒸馏进行微调以保持与原始模型相同的分布,提高剪枝后模型精度。本发明专利技术在各种模型和数据集上的模型精度体积方面优于现有几种剪枝方法,剪枝后模型在经知识蒸馏微调精度有所提高,同时模型泛化能力不受影响,在边缘计算设备推理速度有明显提升。速度有明显提升。速度有明显提升。

【技术实现步骤摘要】
一种基于BN层多因子的剪枝方法


[0001]本专利技术属于深度学习、模型压缩和加速
,具体涉及一种基于BN层多因子的剪枝方法。

技术介绍

[0002]近几年随着人工智能技术的推广,有关图像高识别率的深度学习方法应用越来越广泛,嵌入式本身便携性好、稳定性高等优点,使得嵌入式部署深度学习模型的需求十分广泛,但却无法直接运用在嵌入式开发板上,由于嵌入式开发板资源有限,难以完成深度学习模型实时推理。因此利用模型压缩手段,来减小模型体积、推理时模型所占用内存和计算单元数量,以达到模型推理实时性,成为近年来研究的热门内容。
[0003]Mao等探索完整的修剪粒度范围,并评估模型的正则化与准确率之间的权衡。证明粗粒修剪能够达到与细粒修剪相似甚至更好的压缩率,即使它获得的稀疏性较小。(MaoH,HanS,PoolJ,etal.Exploringtheregularityofsparsestructureinconvolutionalneuralnetworks[J].arXivpreprintarXiv:1705.08922,2017.)
[0004]Guo提出非结构化的剪枝方法,非结构剪枝只能通过设计专用的软件库和硬件完成模型解析,运行时内存也没有明显减小,因为大部分内存空间是由函数映射非本身权重加载消耗的。(GuoY,YaoA,ChenY.Dynamicnetworksurgeryforefficientdnns[J].arXivpreprintarXiv:1608.04493,2016.)
[0005]Anwar等人首先提出了结构化剪枝,可以与硬件和软件库进行很好的兼容,剪枝后模型结构精简,加速模型推理。粗粒度结构化剪枝主要是通道维度剪枝和卷积核维度剪枝,本身就是结构化的剪枝。(AnwarS,HwangK,SungW.Structuredpruningofdeepconvolutionalneuralnetworks[J].ACMJournalonEmergingTechnologiesinComputingSystems(JETC),2017.)
[0006]目前模型压缩领域中,非结构化剪枝需要特定加速软件硬件加速库,通用性较差。而结构化剪枝对硬件平台十分友好,无需设计加速库,能降低模型体积,提高推理速度,但是大部分的结构剪枝需要引入额外的计算量来计算模型通道得分,即使少部分不需要的还存在着剪枝后精度过低,无法直接在嵌入式平台中完成部署,需要使用原始数据进行微调。

技术实现思路

[0007]为了克服上述现有技术的不足,本专利技术提出了一种BN层多因子剪枝方法,使用多因子L1正则化来稀疏参数,设计通道得分函数,引入偏移因子来修正通道得分,使用局部剪枝代替全局剪枝,以获得更高的模型压缩率,针对模型体积较大的情况,本专利技术剪枝后使用知识蒸馏进行微调以保持与原始模型相同的分布,提高剪枝后模型精度。
[0008]本专利技术提供的技术方案如下:
[0009]本专利技术提供了一种BN层多因子剪枝方法,在模型稀疏化训练中,采用将通过对BN层缩放因子与偏移因子同时施加L1正则化,能够增强模型在参数稀疏化过程中的稳定性,
使通道间参数分离,重新设计通道剪枝标准,将这稀疏化后的缩放因子与偏移因子一起来识别不重要的通道,使用偏移因子来修正通道得分,通道得分更能代表该通道对模型的贡献,同时使用原有模型本身的参数的组合来作为通道得分标准不会引入额外的计算量对硬件平台十分友好。在剪枝过程中,使用局部剪枝代替全局剪枝,相比于全局剪枝对于存在剪枝率过大导致层内通道数为0或者层内通道较小,严重影响剪枝后精度,局部剪枝能够实现任意剪枝率并保证较高的精度。具体步骤如下:
[0010]步骤1:选取合适合适的数据集以及分类网络,模型含有并使用BN层;
[0011]步骤2:模型稀疏化训练;
[0012]本专利技术借鉴了Liu(Liu Z,Li J,Shen Z,et al.Learning efficient convolutionalnetworks through network slimming[C]//Proceedings of the IEEE InternationalConference on Computer Vision.2017)的剪枝BN层缩放因子作为通道的重要思路,Liu的方法使用BN层中的缩放因子作为网络的重要评判依据,并施加L1正则化,Liu的方法网络损失函数如公式(1)所示。
[0013][0014]其中a为BN层中的缩放因子,g(a)=|a|,为a因子L1范数,广泛用于实现参数的稀疏性。函数l()表示基本的loss,λ在这里是为了保持本身网络的损和及L1范数之间的平衡,函数g()为L1的约束函数。根据BN层输出在训练中由其中y
i
为BN 层的输出,x
i
为输入分布,为输入x
i
的经归一化后的参数分布。可以看出只对进行L1正则化分离了缩放因子a和偏移因子b之间的关系,造成损失函数值下降不稳定。
[0015]本专利技术针对在稀疏化训练过程中出现的损失函数不稳定所导致的稀疏化训练精度下降问题将a和偏移因子b一起进行L1稀疏化训练,改进后的整体损失函数如式(2)
[0016]经式(2)指导训练稀疏化后的第j层卷积层权值W
(j)
∈R
K
×
K
×
M
×
N
。(其中K为卷积核的大小,M为输入通道维度,N为输出通道维度)
[0017][0018]其中η是为了保持本身网络的损失值和及其他L1范数之间的数量级平衡。改进后的损失函数用于改善BN层中单一因子L1正则化造成输出损失函数不稳定的情况。
[0019]步骤3:设置剪枝率β,进行模型剪枝。
[0020]原有的剪枝方法只是使用稀疏化训练的BN层缩放因子作为通道得分标准,而忽略了BN 层真正的输出是由缩放因子和偏移因子共同决定的,同时在剪枝中,使用全局剪枝的方法,将所有层中的通道数一起排序,来寻找剪枝临界值,这造成某几层中所含通道数过少以至为零。
[0021]本专利技术在此基础上又重新设计了剪枝标准,根据BN层的原理,计算出当前批次的均值如式(3)所示,随后计算当前批次的方差式(4),将当前批次均值以及批次方差代入批次归一化式(5)中,最后变化重构,恢复出这一层网络所需要的分布如式6所示。
[0022][0023][0024][0025][0026]其中x
i
为输入,y
i
为输出,μ
B
和σ
B
表示在批量B的情况下的输入均值与方差,在每层每通道都对应着一组a和b,于是在BN层缩放因子的基础上,提出基于BN层的双因子的剪枝方法,通过将引入偏移因子b来修正只通过a直接得到的通道得分,将剪枝标准从只比较通道得分a变成a+b。
[0027]通过式(6)可知通过式(6)可知是经过归一化处理后的本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种BN层多因子剪枝方法,其特征在于,具体步骤如下:步骤1:选取合适的数据集以及分类网络,模型含有并使用BN层;步骤2:引入BN层缩放因子与偏移因子同时施加L1进行稀疏化训练;经式(1)指导训练稀疏化后的第j层卷积层权值W
(j)
∈R
K
×
K
×
M
×
N
,其中K为卷积核的大小,M为输入通道维度,N为输出通道维,其中a为BN层中的缩放因子,g(a)=|a|,为a因子L1范数,函数l()表示基本的loss,函数g()为L1的约束函数;η是为了保持本身网络的损失值和及其他L1范数之间的数量级平衡;步骤3:设置剪枝率β,进行模型剪枝;3.1由公式(2)指导对每一通道进行通道函数f
i(j)
的计算,来得出第j层卷积层通道得分函数F
final
;式中将|a|+|b|一起作为剪枝后的评价指标,其中和表示第j层中第i个通道的卷积核所对应的BN层中的缩放因子a与偏移因子b;3.2对每一通道进行通道函数的计算,求得通道得分函数后,即可得到每一层的卷积核稀疏性排序,第j层所对的通道函数运算后得如式(3)所示,其中F
(j)
为第j层所对应的所有通道数的集合,为第j层中第m个通道;3.3将式(3)中F
(j)
集合降序排序后得到式(4),其中为排序后第j层第m(j)通道的得分指数,3.4设置剪枝率β,得剪枝后得通道得分的临界值与F
(j)
中的集合进行比较得到mask集合其中当时表明该通道未被裁剪,否则表明该通道被裁剪,最终第j层的通道函数F
final
,如式(5),该层最后保留的通道为mask
m(j)(j)
=1;3.5最后得到剪枝后的网络权重,如式(6)2.如权利要求1所述的BN层多因子剪枝方法,其特征在于,对剪枝后的模型使用原来训练的数据再训练,以恢复网络由于剪枝带来的参数分布问题,提高模型精度。3.如权利要求1所述的BN层多因子剪枝方法,其特征在于,引入知识蒸馏来对剪枝后的
模型进行微调,来提高剪枝后模型精度,具体包括如下步骤:4.1在Softmax中增加温度参数T,对特征分布进行软化,其中s(x)为Softmax中增加温度参数T表达式,软化后的特征分布更加利于学生网络的学习,如式(7)所示,4.2通过KL散度比较模型检测前一层的特征图分布差异软损失函数loss_soft,如式(8)其中s、t分别为剪枝后网络与原始网络特征提取器的分布,loss_soft为根据两个网络分布之间软差异,a为跟训练epoch有关,t(x)同理,4.3将loss_soft与目标检测原有的loss进行整合,目标检测整体loss式(9),平衡因子与迭代次数的关系如式(10)。loss=(1

δ)(loss
cls
+loss
box
+loss
obj
)+δloss_soft
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ

【专利技术属性】
技术研发人员:谢涛赵相强于重重田昊
申请(专利权)人:北京工商大学
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1