基于目标模型的剪枝方法及其装置、电子设备及存储介质制造方法及图纸

技术编号:37807432 阅读:11 留言:0更新日期:2023-06-09 09:37
本发明专利技术公开了一种基于目标模型的剪枝方法及其装置、电子设备及存储介质,涉及人工智能领域,其中,该剪枝方法包括:确定目标模型中的待剪枝层,在每个待剪枝层后添加预设修剪层,得到目标网络结构,在对目标网络结构中的每个网络层的参数的梯度更新完成的情况下,筛选预设修剪层中的第一冗余通道集合,基于第一冗余通道集合,确定待剪枝层中的第二冗余通道集合,并对第二冗余通道集合中的每个第二冗余通道进行剪枝,得到剪枝后的目标模型。本发明专利技术解决了相关技术中识别冗余通道的准确性较低,导致剪枝效果较差的技术问题。导致剪枝效果较差的技术问题。导致剪枝效果较差的技术问题。

【技术实现步骤摘要】
基于目标模型的剪枝方法及其装置、电子设备及存储介质


[0001]本专利技术涉及人工智能领域,具体而言,涉及一种基于目标模型的剪枝方法及其装置、电子设备及存储介质。

技术介绍

[0002]当前,卷积神经网络通过深度结构和过度参数化,获得了很高的精度水平和较强的泛化能力,然而随着不断加深的多层架构让网络体量也越来越大。以VGG16(Visual Geometry Group Network,即视觉几何群网络)为例,该网络的浮点运算量(Floating Point Operations,FLOPs)大于15G,网络参数总量超过了1.4亿个,并且需要超过500MB的存储空间保存这些参数。卷积神经网络自身的复杂性持续不断增加,限制了边缘设备的部署和产品化,主要体现在以下几个方面:(1)庞大的参数量相当耗费存储资源,数以百万乃至千万计的可训练参数使得深度卷积神经网络在嵌入式或物联网设备等资源敏感型平台的应用中难以部署;(2)浮点计算量也带来了不小的计算负担,卷积运算在高分辨率的图像上是计算密集型的,无法应用在计算能力较低的设备上;(3)过参数化模型带来的能源成本很高,在复杂计算的加持下边缘设备的电池损耗极快,这将给这些设备的续航带来挑战。因此,需要降低CNN(Convolutional Neural Network,即卷积神经网络)的存储、计算和续航成本,即需要对神经网络进行压缩。
[0003]针对一个已完成预训练的卷积神经网络,如何在保持原有训练精度的情况下尽量去除冗余参数是模型压缩的主要目标之一。模型剪枝是一种模型压缩手段,可以分为结构化(通道)剪枝和非结构(细粒度)剪枝。
[0004]相关技术中,可以通过如下方法进行模型剪枝:(1)一种基于输入输出层的通道剪枝算法,通过对卷积神经网络前向传播中前后层的关联性研究,可以将连续两层的输入输出通道作为剪枝前预训练的结构稀疏正则项,并提出一种基于输入输出层的通道级别剪枝度量标准。然而,该算法预训练时的稀疏项应用于全部卷积层通道,将稀疏项与原网络的损失函数耦合在一起进行训练,是一种训练与剪枝相耦合的算法,难以实现精度损失和稀疏率之间的平衡;(2)一种解耦式的ResRep(无损通道修剪)剪枝算法,能够从抵抗性和可修剪性两方面评估通道剪枝算法,并将CNN重参数化为记忆部分和遗忘部分。然而,该算法中每层的冗余通道采用基于本层范数的大小的度量标准进行判断,忽略了卷积神经网络前后层的关联性。同时,该算法只考虑本层稀疏正则以划分剪枝参数,使得下层输入通道不具备和上层输出滤波器相同的稀疏性,不能精确识别冗余通道参数。
[0005]针对上述的问题,目前尚未提出有效的解决方案。

技术实现思路

[0006]本专利技术实施例提供了一种基于目标模型的剪枝方法及其装置、电子设备及存储介质,以至少解决相关技术中识别冗余通道的准确性较低,导致剪枝效果较差的技术问题。
[0007]根据本专利技术实施例的一个方面,提供了一种基于目标模型的剪枝方法,包括:确定
目标模型中的待剪枝层,其中,所述目标模型是训练好的神经网络模型;在每个所述待剪枝层后添加预设修剪层,得到目标网络结构,其中,所述目标网络结构包括:多个网络层,所述网络层为原始网络层或者所述预设修剪层;在对所述目标网络结构中的每个所述网络层的参数的梯度更新完成的情况下,筛选所述预设修剪层中的第一冗余通道集合;基于所述第一冗余通道集合,确定所述待剪枝层中的第二冗余通道集合,并对所述第二冗余通道集合中的每个第二冗余通道进行剪枝,得到剪枝后的所述目标模型,其中,剪枝后的所述目标模型用于对预设文件进行处理。
[0008]可选地,在每个所述待剪枝层后添加预设修剪层之前,还包括:构建预设宽度以及预设高度的预设卷积核;基于所述预设卷积核,构建所述预设修剪层;将所述预设修剪层中的卷积核参数初始化为单位矩阵,并将所述预设修剪层中的偏置参数置为预设数值。
[0009]可选地,在筛选所述预设修剪层中的第一冗余通道集合之前,还包括:对所述预设修剪层进行预设稀疏损失操作,更新所述预设修剪层中的参数的梯度;基于所述预设修剪层的第一权重张量以及位于所述预设修剪层下一层的所述待剪枝层的第二权重张量,确定所述第一权重张量关于预设稀疏损失的梯度值,其中,所述预设稀疏损失是对所述预设修剪层进行所述预设稀疏损失操作得到的;基于预设惩罚因子以及所述预设稀疏损失,采用目标损失函数确定目标损失值;在所述梯度值小于所述目标损失值的情况下,确定对所述预设修剪层的参数的梯度更新完成。
[0010]可选地,在基于预设惩罚因子以及所述预设稀疏损失,采用目标损失函数确定目标损失值之前,还包括:基于初始损失函数、初始稀疏损失与初始惩罚因子之积以及所述预设稀疏损失与所述预设惩罚因子之积,构建所述目标损失函数,其中,预设稀疏损失是通过累加所述第一权重张量的平方和以及所述第二权重张量的平方和得到的。
[0011]可选地,在筛选所述预设修剪层中的第一冗余通道集合之前,还包括:采用预设梯度下降策略,更新所述原始网络层的参数的梯度;在所述原始网络层的参数的梯度值小于通过所述初始损失函数得到的损失值的情况下,确定对所述原始网络层的参数的梯度更新完成。
[0012]可选地,筛选所述预设修剪层中的第一冗余通道集合的步骤,包括:基于预设剪枝率,确定度量标准值;基于所述预设修剪层的第一权重张量以及位于所述预设修剪层下一层的所述待剪枝层的第二权重张量,确定所述预设修剪层中每个通道的权重值;对所有所述权重值进行排序,得到排序结果;基于所述排序结果以及所述度量标准值,确定所述第一冗余通道集合。
[0013]可选地,基于所述第一冗余通道集合,确定所述待剪枝层中的第二冗余通道集合的步骤,包括:基于所述第一冗余通道集合,确定所述预设修剪层的剪枝结果;将所述剪枝结果合并至所述待剪枝层,得到所述待剪枝层的输出结果;基于所述输出结果,确定所述第二冗余通道集合。
[0014]根据本专利技术实施例的另一方面,还提供了一种基于目标模型的剪枝装置,包括:确定单元,用于确定目标模型中的待剪枝层,其中,所述目标模型是训练好的神经网络模型;添加单元,用于在每个所述待剪枝层后添加预设修剪层,得到目标网络结构,其中,所述目标网络结构包括:多个网络层,所述网络层为原始网络层或者所述预设修剪层;筛选单元,用于在对所述目标网络结构中的每个所述网络层的参数的梯度更新完成的情况下,筛选所
述预设修剪层中的第一冗余通道集合;剪枝单元,用于基于所述第一冗余通道集合,确定所述待剪枝层中的第二冗余通道集合,并对所述第二冗余通道集合中的每个第二冗余通道进行剪枝,得到剪枝后的所述目标模型,其中,剪枝后的所述目标模型用于对预设文件进行处理。
[0015]可选地,所述剪枝装置还包括:第一构建模块,用于在每个所述待剪枝层后添加预设修剪层之前,构建预设宽度以及预设高度的预设卷积核;第二构建模块,用于基于所述预设卷积核,构建所述预设修剪层;第一初始化模块,用于将所述预设修剪层中的卷积核参数初始化为单位矩阵,并将所述预设修剪层中的偏置本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于目标模型的剪枝方法,其特征在于,包括:确定目标模型中的待剪枝层,其中,所述目标模型是训练好的神经网络模型;在每个所述待剪枝层后添加预设修剪层,得到目标网络结构,其中,所述目标网络结构包括:多个网络层,所述网络层为原始网络层或者所述预设修剪层;在对所述目标网络结构中的每个所述网络层的参数的梯度更新完成的情况下,筛选所述预设修剪层中的第一冗余通道集合;基于所述第一冗余通道集合,确定所述待剪枝层中的第二冗余通道集合,并对所述第二冗余通道集合中的每个第二冗余通道进行剪枝,得到剪枝后的所述目标模型,其中,剪枝后的所述目标模型用于对预设文件进行处理。2.根据权利要求1所述的剪枝方法,其特征在于,在每个所述待剪枝层后添加预设修剪层之前,还包括:构建预设宽度以及预设高度的预设卷积核;基于所述预设卷积核,构建所述预设修剪层;将所述预设修剪层中的卷积核参数初始化为单位矩阵,并将所述预设修剪层中的偏置参数置为预设数值。3.根据权利要求1所述的剪枝方法,其特征在于,在筛选所述预设修剪层中的第一冗余通道集合之前,还包括:对所述预设修剪层进行预设稀疏损失操作,更新所述预设修剪层中的参数的梯度;基于所述预设修剪层的第一权重张量以及位于所述预设修剪层下一层的所述待剪枝层的第二权重张量,确定所述第一权重张量关于预设稀疏损失的梯度值,其中,所述预设稀疏损失是对所述预设修剪层进行所述预设稀疏损失操作得到的;基于预设惩罚因子以及所述预设稀疏损失,采用目标损失函数确定目标损失值;在所述梯度值小于所述目标损失值的情况下,确定对所述预设修剪层的参数的梯度更新完成。4.根据权利要求3所述的剪枝方法,其特征在于,在基于预设惩罚因子以及所述预设稀疏损失,采用目标损失函数确定目标损失值之前,还包括:基于初始损失函数、初始稀疏损失与初始惩罚因子之积以及所述预设稀疏损失与所述预设惩罚因子之积,构建所述目标损失函数,其中,预设稀疏损失是通过累加所述第一权重张量的平方和以及所述第二权重张量的平方和得到的。5.根据权利要求4所述的剪枝方法,其特征在于,在筛选所述预设修剪层中的第一冗余通道集合之前,还包括:采用预设梯度下降策略,更新所述原始网络层的参数的梯度;...

【专利技术属性】
技术研发人员:刘畅
申请(专利权)人:中国工商银行股份有限公司
类型:发明
国别省市:

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

1