神经网络压缩方法、装置、电子设备及存储介质制造方法及图纸

技术编号:29293187 阅读:18 留言:0更新日期:2021-07-17 00:39
本申请提供了一种神经网络压缩方法、装置、电子设备及存储介质,所述方法包括:获取神经网络中各个网络层的参数,其中,所述神经网络为已训练好的神经网络;根据所述各个网络层的参数,计算所述各个网络层的自适应剪枝阈值;根据所述自适应剪枝阈值,将对应网络层的参数进行剪枝,得到剪枝神经网络;对所述剪枝神经网络进行重训练,得到目标压缩神经网络。通过各个网络层的参数情况,对各个网络层进行参数剪枝,完成对神经网络的结构压缩,使得神经网络结构规模减小,降低神经网络的计算复杂度,利于神经网络部署在实时性要求较高的场景以及利于小型化的部署在嵌入式设备中。以及利于小型化的部署在嵌入式设备中。以及利于小型化的部署在嵌入式设备中。

【技术实现步骤摘要】
神经网络压缩方法、装置、电子设备及存储介质


[0001]本申请涉及人工智能领域,更具体的说,是涉及一种神经网络压缩方法、装置、电子设备及存储介质。

技术介绍

[0002]人工神经网络(artificial neural network,缩写ANN),简称神经网络(neural network,缩写NN)或类神经网络,是一种模仿生物神经网络(动物的中枢神经系统,特别是大脑)的结构和功能的数学模型或计算模型,用于对函数进行估计或近似。
[0003]神经网络主要由输入层,隐藏层,输出层构成。其中,隐藏层可以是多层,每层隐藏层由多个参数构成,隐藏层可以包括特征计算层和降采样层等,特征计算层用于对输入数据进行特征计算,输出计算后的特征图,降采样层用于对特征图进行降采样,使特征图变小。
[0004]随着计算机视觉的发展,对网络性能要求的不断提高,使得神经网络的隐藏层不断增加,导致了神经网络中参数的规模庞大,计算的复杂度高。进而导致了神经网络在计算速度上的降低,不仅难以部署和应用于实时性要求较高的场景,更难以部署和应用于计算能力、存储容量等硬件资源受限的嵌入式设备中。
[0005]因此,现有的神经网络存在网络规模大导致难以部署在嵌入式设备中,以及计算复杂度高导致神经网络计算延迟高难以部署在实时性要求较高的场景的问题。
[0006]申请内容
[0007]本申请的目的是针对上述现有技术存在的缺陷,提供一种神经网络压缩方法,解决了现有的神经网络存在网络规模大导致难以部署在嵌入式设备中,以及计算复杂度高导致神经网络计算延迟高难以部署在实时性要求较高的场景的问题。
[0008]本申请的目的是通过以下技术方案来实现的:
[0009]第一方面,提供一种神经网络压缩方法,所述方法包括:
[0010]获取神经网络中各个网络层的参数,其中,所述神经网络为已训练好的神经网络;
[0011]根据所述各个网络层的参数,计算所述各个网络层的自适应剪枝阈值;
[0012]根据所述自适应剪枝阈值,将对应网络层的参数进行剪枝,得到剪枝神经网络;
[0013]对所述剪枝神经网络进行重训练,得到目标压缩神经网络。
[0014]可选的,在所述对所述剪枝神经网络进行重训练之前,所述方法还包括:
[0015]将所述剪枝神经网络中的特征计算层与降采样层进行合并,得到合并层,所述合并层以所述降采样层中的步长进行特征计算。
[0016]可选的,所述根据所述各个网络层的参数,计算所述各个网络层的自适应剪枝阈值,包括:
[0017]根据当前网络层的参数,计算所述当前网络层的参数标准差;
[0018]根据所述参数标准差,计算所述当前网络层的自适应剪枝阈值。
[0019]可选的,所述根据所述自适应剪枝阈值,将对应网络层的参数进行剪枝,得到剪枝
神经网络,包括:
[0020]在对当前网络层进行剪枝时,判断当前参数是否小于所述当前网络层的自适应剪枝阈值;
[0021]若所述当前参数小于所述当前网络层的自适应剪枝阈值,则对所述当前参数进行剪枝;
[0022]将所有网络层进行剪枝后,得到剪枝神经网络。
[0023]可选的,所述若所述当前参数小于所述当前网络层的自适应剪枝阈值,则对所述当前参数进行剪枝,包括:
[0024]若所述当前参数小于所述当前网络层的自适应剪枝阈值,则将所述当前参数赋值为预设值,通过所述预设值对所述当前参数进行剪枝。
[0025]可选的,所述根据所述自适应剪枝阈值,将对应网络层的参数进行剪枝,得到剪枝神经网络,包括:
[0026]根据当前网络层的参数,计算所述当前网络层的敏感度;
[0027]根据所述敏感度,确定所述当前网络层的裁剪比例;
[0028]根据所述自适应剪枝阈值以及所述裁剪比例,对所述当前网络层的参数进行剪枝,得到剪枝神经网络。
[0029]可选的,所述根据当前网络层的参数,计算所述当前网络层的敏感度,包括:
[0030]计算当前层所有参数的参数和;
[0031]根据所述参数和,计算所述当前网络层的敏感度,所述敏感度与所述参数和之间的关系为正相关。
[0032]第二方面,本专利技术实施例还提供一种神经网络压缩装置,所述装置包括:
[0033]获取模块,用于获取神经网络中各个网络层的参数,其中,所述神经网络为已训练好的神经网络;
[0034]计算模块,用于根据所述各个网络层的参数,计算所述各个网络层的自适应剪枝阈值;
[0035]剪枝模块,用于根据所述自适应剪枝阈值,将对应网络层的参数进行剪枝,得到剪枝神经网络;
[0036]训练模块,用于对所述剪枝神经网络进行重训练,得到目标压缩神经网络。
[0037]第三方面,提供一种电子设备,包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现本申请实施例提供的神经网络压缩方法中的步骤。
[0038]第四方面,提供一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现本申请实施例提供的神经网络压缩方法中的步骤。
[0039]在本专利技术实施例中,获取神经网络中各个网络层的参数,其中,所述神经网络为已训练好的神经网络;根据所述各个网络层的参数,计算所述各个网络层的自适应剪枝阈值;根据所述自适应剪枝阈值,将对应网络层的参数进行剪枝,得到剪枝神经网络;对所述剪枝神经网络进行重训练,得到目标压缩神经网络。通过各个网络层的参数情况,对各个网络层进行参数剪枝,完成对神经网络的结构压缩,使得神经网络结构规模减小,降低神经网络的
计算复杂度,利于神经网络部署在实时性要求较高的场景以及利于小型化的部署在嵌入式设备中。
附图说明
[0040]图1为本申请实施例提供的一种神经网络压缩方法流程示意图;
[0041]图2为本申请实施例提供的另一种神经网络压缩方法流程示意图;
[0042]图3为本申请实施例提供的一种神经网络压缩装置示意图;
[0043]图4为本申请实施例提供的另一种神经网络压缩装置示意图;
[0044]图5为本申请实施例提供的一种计算模块的结构示意图;
[0045]图6为本申请实施例提供的一种剪枝模块的结构示意图;
[0046]图7为本申请实施例提供的另一种剪枝模块的结构示意图;
[0047]图8为本申请实施例提供的一种第三计算子模块的结构示意图。
具体实施方式
[0048]下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。
[0049]请参见图1,图1是本专利技术实施本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种神经网络压缩方法,其特征在于,所述方法包括:获取神经网络中各个网络层的参数,其中,所述神经网络为已训练好的神经网络;根据所述各个网络层的参数,计算所述各个网络层的自适应剪枝阈值;根据所述自适应剪枝阈值,将对应网络层的参数进行剪枝,得到剪枝神经网络;对所述剪枝神经网络进行重训练,得到目标压缩神经网络。2.如权利要求1所述的神经网络压缩方法,其特征在于,在所述对所述剪枝神经网络进行重训练之前,所述方法还包括:将所述剪枝神经网络中的特征计算层与降采样层进行合并,得到合并层,所述合并层以所述降采样层中的步长进行特征计算。3.如权利要求1所述的神经网络压缩方法,其特征在于,所述根据所述各个网络层的参数,计算所述各个网络层的自适应剪枝阈值,包括:根据当前网络层的参数,计算所述当前网络层的参数标准差;根据所述参数标准差,计算所述当前网络层的自适应剪枝阈值。4.如权利要求1所述的神经网络压缩方法,其特征在于,所述根据所述自适应剪枝阈值,将对应网络层的参数进行剪枝,得到剪枝神经网络,包括:在对当前网络层进行剪枝时,判断当前参数是否小于所述当前网络层的自适应剪枝阈值;若所述当前参数小于所述当前网络层的自适应剪枝阈值,则对所述当前参数进行剪枝;将所有网络层进行剪枝后,得到剪枝神经网络。5.如权利要求4所述的神经网络压缩方法,其特征在于,所述若所述当前参数小于所述当前网络层的自适应剪枝阈值,则对所述当前参数进行剪枝,包括:若所述当前参数小于所述当前网络层的自适应剪枝阈值,则将所述当前参数赋值为预设值,通过所述预设值对所...

【专利技术属性】
技术研发人员:林嘉鑫赖蔚蔚吴广财郑杰生郑颖龙周昉昉刘佳木陈颖璇
申请(专利权)人:广东电力信息科技有限公司
类型:发明
国别省市:

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

1