一种网络模型裁剪方法、装置、设备及计算机存储介质制造方法及图纸

技术编号:33994992 阅读:21 留言:0更新日期:2022-07-02 10:39
本发明专利技术公开了一种网络模型裁剪方法、装置、设备及计算机存储介质。网络模型裁剪方法包括:获取预设训练数据集、初始网络参数矩阵、输出精度满足目标精度的第一网络模型和第一网络模型的第一网络参数矩阵;当第一待训练网络模型的输出精度满足目标精度时,将第一待训练网络模型作为第二待裁剪网络模型,以及保存第二待裁剪网络模型的第二网络参数矩阵;根据初始网络参数矩阵和第二网络参数矩阵,对第二待裁剪网络模型进行裁剪,得到第二网络模型;当第二网络模型的裁剪率达到预设目标裁剪率时,将第二网络模型作为目标网络模型。能够裁剪后的网络模型保持原有精度,同时实现对网络模型有效裁剪,有效减小网络模型的应用限制。有效减小网络模型的应用限制。有效减小网络模型的应用限制。

【技术实现步骤摘要】
一种网络模型裁剪方法、装置、设备及计算机存储介质


[0001]本专利技术属于深度学习领域,尤其涉及一种网络模型裁剪方法、装置、设备及计算机存储介质。

技术介绍

[0002]深度学习是机器学习领域一个重要的分支,深度学习在图像分类、物体检测、自然语言处理等诸多领域中都展现出强大的性能。近年来,随着深度学习的发展,出现了越来越多的处理效果显著的神经网络模型,但随之而来的是神经网络模型越来越复杂,神经网络模型中的参数也越来越多,这就会导致神经网络模型在训练或者使用的过程中,对所使用的硬件要求也越来越高。当硬件设备的配置不够高时,神经网络模型的使用会受到明显的限制。
[0003]为了减少神经网络模型的使用限制,目前,常常对神经网络模型进行剪裁和压缩处理。例如,通过稀疏化训练的方式对神经网络模型进行剪裁和压缩处理,但这种方法不仅导致神经网络的训练速度变慢,以及而且是裁剪后的神经网络模型无法达到原有的精度。

技术实现思路

[0004]本专利技术实施例提供一种网络模型裁剪方法、装置、设备及计算机存储介质,能够裁剪后的网络模型保持原有精度,同时实现对网络模型有效裁剪,有效减小网络模型的应用限制。
[0005]第一方面,本专利技术实施例提供一种网络模型裁剪方法,方法包括:
[0006]获取预设训练数据集、初始网络参数矩阵、输出精度满足目标精度的第一网络模型和第一网络模型的第一网络参数矩阵,其中,第一网络模型的裁剪率未达到预设目标裁剪率,初始网络参数矩阵为训练第一网络模型时的网络参数矩阵;
>[0007]根据初始网络参数矩阵设置第一网络模型的网络参数,得到第一待训练网络模型;以及,根据初始网络参数矩阵和第一网络参数矩阵确定第一待训练网络模型的第一梯度引导矩阵;
[0008]根据预设训练数据集和第一梯度引导矩阵对第一待训练网络模型进行训练,当第一待训练网络模型的输出精度满足目标精度时,将第一待训练网络模型作为第二待裁剪网络模型,以及保存第二待裁剪网络模型的第二网络参数矩阵;
[0009]根据初始网络参数矩阵和第二网络参数矩阵,对第二待裁剪网络模型进行裁剪,得到第二网络模型;
[0010]当第二网络模型的裁剪率达到预设目标裁剪率时,将第二网络模型作为目标网络模型。
[0011]在第一方面的一些可实现方式中,根据初始网络参数矩阵和第一网络参数矩阵确定第一待训练网络模型的第一梯度引导矩阵,包括:
[0012]根据梯度引导矩阵公式,计算第一梯度引导矩阵,其中,梯度引导矩阵公式为:
[0013][0014]其中,G为第一梯度引导矩阵,θ
j
为第一网络参数矩阵,θ0为初始网络参数矩阵,ρ为预设训练加速系数,n为预设训练总次数,i为当前训练次数,k为预设训练调整参数。
[0015]在第一方面的一些可实现方式中,根据预设训练数据集和第一梯度引导矩阵对第一待训练网络模型进行训练,包括:
[0016]根据第一梯度引导矩阵更新第一待训练网络模型的参数矩阵,其中,第一待训练网络模型的参数矩阵满足参数更新公式,参数更新公式为:
[0017][0018]其中,θ
i+1
为第i+1次训练第一待训练网络模型的参数矩阵,θ
i
为第i次训练第一待训练网络模型的参数矩阵,η为预设学习速率,G为第一梯度引导矩阵,为梯度。
[0019]在第一方面的一些可实现方式中,根据初始网络参数矩阵和第二网络参数矩阵,对第二待裁剪网络模型进行裁剪,得到第二网络模型,包括:
[0020]根据初始网络参数矩阵和第一网络参数矩阵,确定第一网络参数矩阵中包括的每个权重值的重要度,得到第一网络参数矩阵的参数重要度矩阵;
[0021]根据第一网络参数矩阵的参数重要度矩阵和预设重要度阈值矩阵,确定第二待裁剪网络模型的掩码矩阵;
[0022]根据掩码矩阵,对第二待裁剪网络模型进行裁剪,得到第二网络模型。
[0023]在第一方面的一些可实现方式中,根据初始网络参数矩阵和第一网络参数矩阵,确定第一网络参数矩阵中包括的每个权重值的重要度,得到第一网络参数矩阵的参数重要度矩阵,包括:
[0024]根据重要度公式计算得到第一网络参数矩阵中每个权重值的重要度,得到第一网络参数矩阵的参数重要度矩阵,其中,重要度公式为:
[0025]m
j
=μ|θ
j
|+σ|θ
j

θ0|
[0026]其中,m
j
为参数重要度矩阵,θ
j
为第一网络参数矩阵,θ0为初始网络参数矩阵,μ为第一参数重要度权重,σ为第二参数重要度权重。
[0027]在第一方面的一些可实现方式中,预设重要度阈值矩阵包括与每个权重值对应的重要度阈值,根据第一网络参数矩阵的参数重要度矩阵和预设重要度阈值矩阵,确定第二待裁剪网络模型的掩码矩阵,包括:
[0028]判断每个权重值与每个权重值对应的重要度阈值的关系,得到第二待裁剪网络模型的掩码矩阵;
[0029]其中,当权重值大于或等于与权重值对应的重要度阈值时,确定权重值的掩码为第一预设码;
[0030]当权重值小于与权重值对应的重要度阈值时,确定权重值的掩码为第二预设码。
[0031]在第一方面的一些可实现方式中,当第二网络模型的裁剪率未达到预设目标裁剪率时,根据初始网络参数矩阵设置第二网络模型的网络参数,得到第二待训练网络模型;以及,根据初始网络参数矩阵和第二网络参数矩阵确定第二待训练网络模型的第二梯度引导矩阵;
[0032]根据预设训练数据集和第二梯度引导矩阵对第二待训练网络模型进行训练,当第二待训练网络模型的输出精度满足目标精度时,将第二待训练网络模型作为第三待裁剪网络模型,以及保存第三待裁剪网络模型的第三网络参数矩阵;
[0033]根据初始网络参数矩阵和第三网络参数矩阵,对第三待裁剪网络模型进行裁剪,得到第三网络模型;
[0034]当第三网络模型的裁剪率达到目标裁剪率时,将第三网络模型作为目标网络模型。
[0035]第二方面,本专利技术实施例提供一种网络模型裁剪装置,装置包括:
[0036]获取模块,用于获取预设训练数据集、初始网络参数矩阵、输出精度满足目标精度的第一网络模型和第一网络模型的第一网络参数矩阵,其中,第一网络模型的裁剪率未达到预设目标裁剪率,初始网络参数矩阵为训练第一网络模型时的网络参数矩阵;
[0037]参数设置模块,用于根据初始网络参数矩阵设置第一网络模型的网络参数,得到第一待训练网络模型;以及,根据初始网络参数矩阵和第一网络参数矩阵确定第一待训练网络模型的第一梯度引导矩阵;
[0038]训练模块,用于根据预设训练数据集和第一梯度引导矩阵对第一待训练网络模型进行训练,当第一待训练网络模型的输出精度满足目标精度时,将第一待训练网络模型作为第二待裁剪网络模型,以及保存第二待裁剪网络模型的第二网络参数矩阵;
[003本文档来自技高网...

【技术保护点】

【技术特征摘要】
1.一种网络模型裁剪方法,其特征在于,包括:获取预设训练数据集、初始网络参数矩阵、输出精度满足目标精度的第一网络模型和所述第一网络模型的第一网络参数矩阵,其中,所述第一网络模型的裁剪率未达到预设目标裁剪率,所述初始网络参数矩阵为训练所述第一网络模型时的网络参数矩阵;根据所述初始网络参数矩阵设置所述第一网络模型的网络参数,得到第一待训练网络模型;以及,根据所述初始网络参数矩阵和所述第一网络参数矩阵确定所述第一待训练网络模型的第一梯度引导矩阵;根据所述预设训练数据集和所述第一梯度引导矩阵对所述第一待训练网络模型进行训练,当所述第一待训练网络模型的输出精度满足所述目标精度时,将所述第一待训练网络模型作为第二待裁剪网络模型,以及保存所述第二待裁剪网络模型的第二网络参数矩阵;根据所述初始网络参数矩阵和所述第二网络参数矩阵,对所述第二待裁剪网络模型进行裁剪,得到第二网络模型;当所述第二网络模型的裁剪率达到预设目标裁剪率时,将所述第二网络模型作为目标网络模型。2.根据权利要求1所述的方法,其特征在于,所述根据所述初始网络参数矩阵和所述第一网络参数矩阵确定所述第一待训练网络模型的第一梯度引导矩阵,包括:根据梯度引导矩阵公式,计算所述第一梯度引导矩阵,其中,所述梯度引导矩阵公式为:其中,G为第一梯度引导矩阵,θ
j
为第一网络参数矩阵,θ0为初始网络参数矩阵,ρ为预设训练加速系数,n为预设训练总次数,i为当前训练次数,k为预设训练调整参数。3.根据权利要求2所述的方法,其特征在于,所述根据所述预设训练数据集和所述第一梯度引导矩阵对所述第一待训练网络模型进行训练,包括:根据所述第一梯度引导矩阵更新所述第一待训练网络模型的参数矩阵,其中,所述第一待训练网络模型的参数矩阵满足参数更新公式,所述参数更新公式为:其中,θ
i+1
为第i+1次训练第一待训练网络模型的参数矩阵,θ
i
为第i次训练第一待训练网络模型的参数矩阵,η为预设学习速率,G为第一梯度引导矩阵,为梯度。4.根据权利要求1所述的方法,其特征在于,所述根据所述初始网络参数矩阵和所述第二网络参数矩阵,对所述第二待裁剪网络模型进行裁剪,得到第二网络模型,包括:根据所述初始网络参数矩阵和所述第一网络参数矩阵,确定所述第一网络参数矩阵中包括的每个权重值的重要度,得到所述第一网络参数矩阵的参数重要度矩阵;根据所述第一网络参数矩阵的参数重要度矩阵和预设重要度阈值矩阵,确定所述第二待裁剪网络模型的掩码矩阵;根据所述掩码矩阵,对所述第二待裁剪网络模型进行裁剪,得到所述第二网络模型。5.根据权利要求4所述的方法,其特征在于,所述根据所述初始网络参数矩阵和所述第
一网络参数矩阵,确定所述第一网络参数矩阵中包括的每个权重值的重要度,得到所述第一网络参数矩阵的参数重要度矩阵,包括:根据重要度公式计算得到所述第一网络参数矩阵中每个权重值的重要度,得到所述第一网络参数矩阵的参数重要度矩阵,其中,所述重要度公式为:m
j
=μ|θ
j
|+σ|θ
j

θ0|其中,m

【专利技术属性】
技术研发人员:倪茂周婷崔芳
申请(专利权)人:中国移动通信集团有限公司
类型:发明
国别省市:

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

1