基于稀疏卷积神经网络的模型压缩方法、系统及相关设备技术方案

技术编号:26971992 阅读:10 留言:0更新日期:2021-01-06 00:03
本发明专利技术涉及深度学习技术领域,具体涉及一种基于稀疏卷积神经网络的模型压缩方法、系统及相关设备,旨在减轻模型对资源的占用。本发明专利技术的压缩方法包括:对模型进行稀疏正则化训练得到待压缩模型;根据待压缩模型各卷积层与BN层的参数,计算各滤波器的重要性评分;根据重要性评分以及预设的剪枝率设定重要性阈值;将重要性评分低于重要性阈值的滤波器,以及该滤波器对应的BN层参数一并剪除,获得剪枝后的模型。还可以对剪枝后的模型进行微调,以保证模型精度不低于预设的精度。本发明专利技术在不影响模型性能的前提下,实现了对模型参数量与计算量的大幅压缩,可以很好地减轻模型对资源的占用问题,使得深度学习模型能在资源受限的边缘计算设备上运行。

【技术实现步骤摘要】
基于稀疏卷积神经网络的模型压缩方法、系统及相关设备
本专利技术涉及深度学习
,具体涉及一种基于稀疏卷积神经网络的模型压缩方法、系统及相关设备。
技术介绍
深度学习如今迅速发展,在计算机视觉、语音识别、自然语言处理、自动驾驶等领域获得广泛应用,并且在移动端与嵌入式系统的边缘设备上有巨大的应用前景。随着深度神经网络模型规模不断变大,训练和运行深度学习模型需要强大的计算能力和大量的数据存储空间,而边缘设备的存储空间与计算能力有限,这使得深度学习模型在资源受限的边缘设备上难以运行。因此,如何去除模型中多余的参数,且保证模型精度是目前需要解决的问题。有鉴于此,特提出本专利技术。
技术实现思路
为了解决现有技术中的上述问题,本专利技术提出了一种基于稀疏卷积神经网络的模型压缩方法、系统及相关设备,在保证模型效果的前提下,压缩了神经网络模型,解决了模型参数量与计算量过大,难以在资源受限的边缘设备上运行的问题。本专利技术的第一方面,提出一种基于稀疏卷积神经网络的模型压缩方法,所述方法包括:通过对模型进行稀疏正则化训练,得到待压缩模型;根据所述待压缩模型各卷积层与BN层的参数,计算各滤波器的重要性评分;根据所述重要性评分以及预设的剪枝率设定重要性阈值;将所述重要性评分低于所述重要性阈值的滤波器,以及该滤波器对应的BN层参数一并剪除,获得剪枝后的模型。优选地,“通过对模型进行稀疏正则化训练,得到待压缩模型”的步骤包括:通过下式在损失函数中添加惩罚因子:L′=L+λR(X)其中,L′是添加惩罚因子的损失函数,L是原损失函数,λR(X为添加的惩罚因子,λ是正则化系数,R(·)表示正则化范数,X表示卷积核的权重或BN层的缩放系数α,对于卷积核W={w1,w2,...,wm},m为卷积核W中权重参数w的数目;对于缩放系数α,R(α)=|α|。优选地,对所述模型进行稀疏正则化训练时,在向后传播过程中通过下式对上一层权重X对应的输出梯度gX作为输入梯度进行稀疏正则化处理:g′X=gX+λsign(X)其中,g′X是稀疏化处理后梯度,λ是正则化系数,sign(·)是符号函数,对梯度gX对应的权重X的符号进行判断,在X<0,X=0,X>0时分别取-1,0,1;所述上一层为卷积层或BN层,所述梯度为卷积层中各滤波器中卷积核权重的梯度或BN层中各缩放系数的梯度。优选地,“根据所述待压缩模型各卷积层与BN层的参数,计算各滤波器的重要性评分”的步骤包括:按照下式的方法对第n个滤波器的权重进行绝对值求和:其中,En为第n个滤波器权重绝对值的和,L表示第n个滤波器中的卷积核的数目,表示第n个滤波器中的第l个卷积核的权重,表示求的L1范数,n=1,2,...,N,N为所述待压缩模型中滤波器的总个数;根据第n个滤波器权重绝对值之和,以及对应的BN层的缩放系数,按照下式的方法计算第n个滤波器的重要性评分:sn=αn×En其中,sn为第n个滤波器的重要性评分,αn为第n个滤波器对应的BN层的缩放系数。优选地,“根据所述重要性评分以及预设的剪枝率设定重要性阈值”的步骤包括:按照下式的方法设定重要性阈值:θ=sortp(S)其中,θ为所述重要性阈值,S为第1~N个滤波器重要性评分的集合,S={s1,s2,...,sN},sortp(·)表示将对象按升序排序,并选取接近或等于p位置的数输出,p为所述预设的剪枝率。优选地,所述方法还包括:对所述剪枝后的模型进行微调,保证模型精度不低于预设的精度。优选地,“对所述剪枝后的模型进行微调,保证模型精度不低于预设的精度”的步骤包括:判断所述剪枝后的模型精度是否低于预设的精度;若是,按预设的幅度下调剪枝率,并重新进行模型剪枝,直到模型精度大于或等于所述预设的精度;若否,则输出所述剪枝后的模型。本专利技术的第二方面,提出一种基于稀疏卷积神经网络的模型压缩系统,所述系统包括:稀疏化训练模块,用于通过对模型进行稀疏正则化训练,得到待压缩模型;参数重要性分析模块,用于根据所述待压缩模型各卷积层与BN层的参数,计算各滤波器的重要性评分;阈值设定模块,用于根据所述重要性评分以及预设的剪枝率设定重要性阈值;剪枝模块,用于将所述重要性评分低于所述重要性阈值的滤波器,以及该滤波器对应的BN层参数一并剪除,获得剪枝后的模型。优选地,所述系统还包括:微调模块,用于对所述剪枝后的模型进行微调,保证模型精度不低于预设的精度。本专利技术的第三方面,提出一种存储设备,其中存储有多条程序,所述程序适于由处理器加载并执行,以实现上面所述的基于稀疏卷积神经网络的模型压缩方法。本专利技术的第四方面,提出一种控制设备,包括:处理器,适于执行程序;存储器,适于存储所述程序;所述程序适于由所述处理器加载并执行,上面所述的基于稀疏卷积神经网络的模型压缩方法。与最接近的现有技术相比,本专利技术具有如下有益效果:本专利技术提出的基于稀疏卷积神经网络的模型压缩方法,通过对模型进行稀疏正则化训练,得到参数稀疏化(趋近于0)的待压缩模型;结合模型各卷积层与BN层的参数进行重要性分析,可以更准确地对滤波器的重要性进行评价;根据预设的剪枝率设定重要性阈值,将低于该阈值的滤波器剪除,并对模型进行微调,可以恢复剪枝带来的部分精度损失;通过对剪枝后的模型进行测试与微调,若模型未能满足预设的精度,可以通过对剪枝率进行调整,重新进行模型剪枝,直到得到的模型满足精度要求,以保障模型在压缩后的性能。本专利技术在不影响模型性能的前提下,实现了对模型参数量与计算量的大幅压缩,可以很好地减轻模型对资源的占用问题,使得深度学习模型能在资源受限的边缘计算设备上运行。附图说明图1是本专利技术的基于稀疏卷积神经网络的模型压缩方法实施例的主要步骤示意图;图2是本专利技术实施例中根据滤波器权重之和以及缩放系数计算重要性评分并进行剪枝的例子;图3是本专利技术的基于稀疏卷积神经网络的模型压缩系统实施例的主要构成示意图。具体实施方式下面参照附图来描述本专利技术的优选实施方式。本领域技术人员应当理解的是,这些实施方式仅用于解释本专利技术的技术原理,并非旨在限制本专利技术的保护范围。图1是本专利技术的基于稀疏卷积神经网络的模型压缩方法实施例的主要步骤示意图。如图1所示,本实施例的模型压缩方法包括步骤S10-S40:步骤S10,通过对模型进行稀疏正则化训练,得到待压缩模型。具体地,可以通过如公式(1)所示的方法在损失函数中添加惩罚因子:L′=L+λR(X)(1)其中,L′是添加惩罚因子的损失函数,L是原损失函数,λR(X为添加的惩罚因子,λ是正则化系数,R(·)表示正则化范数,X表示卷积核的权重或BN层的缩放系数α,对于卷积核W={w1,w2,...本文档来自技高网...

【技术保护点】
1.一种基于稀疏卷积神经网络的模型压缩方法,其特征在于,所述方法包括:/n通过对模型进行稀疏正则化训练,得到待压缩模型;/n根据所述待压缩模型各卷积层与BN层的参数,计算各滤波器的重要性评分;/n根据所述重要性评分以及预设的剪枝率设定重要性阈值;/n将所述重要性评分低于所述重要性阈值的滤波器,以及该滤波器对应的BN层参数一并剪除,获得剪枝后的模型。/n

【技术特征摘要】
1.一种基于稀疏卷积神经网络的模型压缩方法,其特征在于,所述方法包括:
通过对模型进行稀疏正则化训练,得到待压缩模型;
根据所述待压缩模型各卷积层与BN层的参数,计算各滤波器的重要性评分;
根据所述重要性评分以及预设的剪枝率设定重要性阈值;
将所述重要性评分低于所述重要性阈值的滤波器,以及该滤波器对应的BN层参数一并剪除,获得剪枝后的模型。


2.根据权利要求1所述的基于稀疏卷积神经网络的模型压缩方法,其特征在于,“通过对模型进行稀疏正则化训练,得到待压缩模型”的步骤包括:
通过下式在损失函数中添加惩罚因子:
L′=L+λR(X)
其中,L′是添加惩罚因子的损失函数,L是原损失函数,λR(X)为添加的惩罚因子,λ是正则化系数,R(·)表示正则化范数,X表示卷积核的权重或BN层的缩放系数α,对于卷积核W={w1,w2,...,wm},m为卷积核W中权重参数w的数目;对于缩放系数α,R(α)=|α|。


3.根据权利要求2所述的基于稀疏卷积神经网络的模型压缩方法,其特征在于,对所述模型进行稀疏正则化训练时,在向后传播过程中通过下式对上一层权重X对应的输出梯度gX作为输入梯度进行稀疏正则化处理:
g′X=gX+λsign(X)
其中,g′X是稀疏化处理后梯度,λ是正则化系数,sign(·)是符号函数,对梯度gX对应的权重X的符号进行判断,在X<0,X=0,X>0时分别取-1,0,1;
所述上一层为卷积层或BN层,所述梯度为卷积层中各滤波器中卷积核权重的梯度或BN层中各缩放系数的梯度。


4.根据权利要求1所述的基于稀疏卷积神经网络的模型压缩方法,其特征在于,“根据所述待压缩模型各卷积层与BN层的参数,计算各滤波器的重要性评分”的步骤包括:
按照下式的方法对第n个滤波器的权重进行绝对值求和:



其中,En为第n个滤波器权重绝对值的和,L表示第n个滤波器中的卷积核的数目,表示第n个滤波器中的第l个卷积核的权重,表示求的L1范数,n=1,2,...,N,N为所述待压缩模型中滤波器的总个数;
根据第n个滤波器权重绝对值之和,以及对应的BN层的缩放系数,按照下式的方法计算第n个滤波器的重要性评分:
sn=αn×En
其中,sn为第n个滤波器的重要性评分,αn为第n个滤波器...

【专利技术属性】
技术研发人员:朱凤华韦越陈世超陈圆圆吕宜生熊刚叶佩军王飞跃
申请(专利权)人:中国科学院自动化研究所
类型:发明
国别省市:北京;11

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

1