用于调整神经网络模型的剪枝方法及其装置、电子设备制造方法及图纸

技术编号:36183132 阅读:62 留言:0更新日期:2022-12-31 20:41
本发明专利技术公开了一种用于调整神经网络模型的剪枝方法及其装置、电子设备,涉及人工智能领域,其中,该剪枝方法包括:采用预设评估策略对神经网络模型中每个神经元进行评估,得到评估值集合,在对每个神经元进行评估的次数达到预设次数阈值的情况下,得到多个神经元集合,依据评估值集合和映射关系,采用目标排序策略对多个神经元集合中的所有神经元进行排序,得到排序结果,基于排序结果,选取预设数量的目标神经元,得到目标神经元集合,裁剪目标神经元集合中的每个目标神经元,并且在裁剪结束后,依据裁剪结果调整神经网络模型,得到调整后的目标神经网络模型。本发明专利技术解决了相关技术中剪枝之后的神经网络模型精度下降过快的技术问题。术问题。术问题。

【技术实现步骤摘要】
用于调整神经网络模型的剪枝方法及其装置、电子设备


[0001]本专利技术涉及人工智能领域,具体而言,涉及一种用于调整神经网络模型的剪枝方法及其装置、电子设备。

技术介绍

[0002]人工智能技术的飞速发展为计算机视觉(CV)技术带来了巨大的进步。随着神经网络模型层数的不断加深,模型的准确率也在不断提高,但是模型的计算复杂度也越来越大,模型需要在GPU甚至TPU上训练。巨大的计算量限制了许多深度学习技术,这些技术只能迁移到云端,不能应用于移动设备。
[0003]为了缓解上述问题,相关技术中提出了多种模型压缩和加速算法,其中,剪枝算法是经典算法之一。剪枝算法作为一种常见的模型压缩和加速算法,可以有效地降低网络复杂度和计算量。然而,剪枝算法的训练时间较长,在剪枝复杂任务时,剪枝的准确率下降过快。
[0004]图1是根据现有技术中的一种可选的模型剪枝的示意图,如图1所示,剪枝过程如下:对于某一神经网络模型,可以先评估神经元的重要程度,移除最不重要的神经元,然后微调神经网络模型,判断是否继续剪枝,如果继续,则再次评估神经元的重要程度以及后续剪枝步骤,否则停止剪枝。
[0005]然而,现有的剪枝方法存在如下问题:
[0006](1)模型微调时间长:根据图1中的剪枝过程可知,每次评估完并移除掉不重要的神经元之后,都需要微调神经网络模型,微调模型是整个剪枝过程中最浪费时间的步骤。然而,现有的剪枝方法每次仅移除最不重要的神经元,当没有强大计算力的时候,整个训练过程可能会持续几周时间。
[0007](2)模型裁剪后精度下降快:当每次裁剪掉多个神经元(feature maps)时,模型的精度下降过快,尤其是对于复杂任务,模型精度的下降速率使得模型失去了压缩的意义。这一方面是因为模型的结构一次性改变过大,使得模型难以恢复;另一方面是因为裁剪掉的feature maps中存在不该被剪掉的情况。
[0008](3)评估神经元重要程度的方法只对简单任务有效,而对复杂任务无效:现有的剪枝方法中的很多评估神经元重要程度的方法,在很多简单的图像识别任务中效果明显,但在一些需要迁移的复杂的任务中没有效果。
[0009]针对上述的问题,目前尚未提出有效的解决方案。

技术实现思路

[0010]本专利技术实施例提供了一种用于调整神经网络模型的剪枝方法及其装置、电子设备,以至少解决相关技术中剪枝之后的神经网络模型精度下降过快的技术问题。
[0011]根据本专利技术实施例的一个方面,提供了一种用于调整神经网络模型的剪枝方法,包括:采用预设评估策略对神经网络模型中每个神经元进行评估,得到评估值集合,其中,
所述神经网络模型包含有多个神经元,所述预设评估策略对应有目标排序策略,所述评估值集合中的每个评估值与对应的所述神经元建立映射关系;在对每个所述神经元进行评估的次数达到预设次数阈值的情况下,得到多个神经元集合;依据所述评估值集合和所述映射关系,采用所述目标排序策略对所述多个神经元集合中的所有所述神经元进行排序,得到排序结果;基于所述排序结果,选取预设数量的目标神经元,得到目标神经元集合;裁剪所述目标神经元集合中的每个所述目标神经元,并且在裁剪结束后,依据裁剪结果调整所述神经网络模型,得到调整后的目标神经网络模型,其中,所述目标神经网络模型用于处理输入图像。
[0012]可选地,在对每个所述神经元进行评估的次数达到预设次数阈值的情况下,得到多个神经元集合之前,还包括:在所述预设评估策略为评估绝对值策略的情况下,计算所述神经网络模型中每个所述神经元的绝对值,得到绝对值集合,其中,所述绝对值集合中的每个所述绝对值与对应的所述神经元建立第一映射关系;基于所述绝对值集合和所述第一映射关系,按照绝对值顺序,对所述神经元进行排序,得到第一排序结果;基于所述第一排序结果,选取第一预设数量的第一神经元,得到第一神经元集合。
[0013]可选地,计算所述神经网络模型中每个所述神经元的绝对值的步骤,包括:确定进行评估的评估次数以及每次评估选取的神经元数量;基于所述评估次数以及所述神经元数量,计算所述神经元的初始绝对值;基于所述初始绝对值,计算所述神经元的第一代价值;在所述第一代价值小于预设代价阈值的情况下,确定所述初始绝对值为所述神经元的所述绝对值。
[0014]可选地,在对每个所述神经元进行评估的次数达到预设次数阈值的情况下,得到多个神经元集合之前,还包括:在所述预设评估策略为评估重叠值策略的情况下,计算所述神经网络模型中每个所述神经元的重叠值,得到重叠值集合,其中,所述重叠值集合中的每个所述重叠值与对应的所述神经元建立第二映射关系;基于所述重叠值集合和所述第二映射关系,按照重叠值顺序,对所述神经元进行排序,得到第二排序结果;基于所述第二排序结果,选取第二预设数量的第二神经元,得到第二神经元集合。
[0015]可选地,计算所述神经网络模型中每个所述神经元的重叠值的步骤,包括:确定进行评估的评估次数以及每次评估选取的神经元数量;基于所述评估次数以及所述神经元数量,计算每个所述神经元的第二代价值;依据所述第二代价值顺序,对所述神经元进行排序,并基于排序结果,选取第三预设数量的第三神经元集合,其中,所述第三预设数量表征的数量与所述神经元数量相等;将所述第三神经元集合中的每个所述神经元映射到所述神经网络模型的各特征层上,得到与所述第三神经元集合中的每个所述神经元对应的目标神经元标识集合;在所述神经元的神经元标识与所述目标神经元标识集合中的目标神经元标识匹配成功的情况下,将所述神经元的当前重叠值加上预设值,其中,每个所述神经元的初始重叠值相同;在对每个所述神经元完成所述评估次数的评估的情况下,得到每个所述神经元的所述重叠值。
[0016]可选地,依据所述评估值集合和所述映射关系,采用所述目标排序策略对所述多个神经元集合中的所有所述神经元进行排序,得到排序结果的步骤,包括:在所述预设评估策略为所述评估绝对值策略的情况下,确定所述目标排序策略为第一排序策略;采用所述第一排序策略,基于与每个所述神经元对应的所述绝对值,对所述多个神经元集合中的所
述神经元进行排序,得到第三排序结果。
[0017]可选地,依据所述评估值集合和所述映射关系,采用所述目标排序策略对所述多个神经元集合中的所有所述神经元进行排序,得到排序结果的步骤,还包括:在所述预设评估策略为所述评估重叠值策略的情况下,确定所述目标排序策略为第二排序策略,其中,第二排序策略是与第一排序策略相反的排序策略;采用所述第二排序策略,基于与每个所述神经元对应的所述重叠值,对所述多个神经元集合中的所述神经元进行排序,得到第四排序结果。
[0018]可选地,依据裁剪结果调整所述神经网络模型,得到调整后的目标神经网络模型的步骤,包括:确定所述神经网络模型的调整参数;基于所述调整参数以及所述裁剪结果,调整所述神经网络模型,得到初始神经网络模型;在所述初始神经网络模型的指标值位于预设指标阈值范围内的情况下,确定所述神经网络模型调整完成,得到调整后的所述目标本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种用于调整神经网络模型的剪枝方法,其特征在于,包括:采用预设评估策略对神经网络模型中每个神经元进行评估,得到评估值集合,其中,所述神经网络模型包含有多个神经元,所述预设评估策略对应有目标排序策略,所述评估值集合中的每个评估值与对应的所述神经元建立映射关系;在对每个所述神经元进行评估的次数达到预设次数阈值的情况下,得到多个神经元集合;依据所述评估值集合和所述映射关系,采用所述目标排序策略对所述多个神经元集合中的所有所述神经元进行排序,得到排序结果;基于所述排序结果,选取预设数量的目标神经元,得到目标神经元集合;裁剪所述目标神经元集合中的每个所述目标神经元,并且在裁剪结束后,依据裁剪结果调整所述神经网络模型,得到调整后的目标神经网络模型,其中,所述目标神经网络模型用于处理输入图像。2.根据权利要求1所述的剪枝方法,其特征在于,在对每个所述神经元进行评估的次数达到预设次数阈值的情况下,得到多个神经元集合之前,还包括:在所述预设评估策略为评估绝对值策略的情况下,计算所述神经网络模型中每个所述神经元的绝对值,得到绝对值集合,其中,所述绝对值集合中的每个所述绝对值与对应的所述神经元建立第一映射关系;基于所述绝对值集合和所述第一映射关系,按照绝对值顺序,对所述神经元进行排序,得到第一排序结果;基于所述第一排序结果,选取第一预设数量的第一神经元,得到第一神经元集合。3.根据权利要求2所述的剪枝方法,其特征在于,计算所述神经网络模型中每个所述神经元的绝对值的步骤,包括:确定进行评估的评估次数以及每次评估选取的神经元数量;基于所述评估次数以及所述神经元数量,计算所述神经元的初始绝对值;基于所述初始绝对值,计算所述神经元的第一代价值;在所述第一代价值小于预设代价阈值的情况下,确定所述初始绝对值为所述神经元的所述绝对值。4.根据权利要求1所述的剪枝方法,其特征在于,在对每个所述神经元进行评估的次数达到预设次数阈值的情况下,得到多个神经元集合之前,还包括:在所述预设评估策略为评估重叠值策略的情况下,计算所述神经网络模型中每个所述神经元的重叠值,得到重叠值集合,其中,所述重叠值集合中的每个所述重叠值与对应的所述神经元建立第二映射关系;基于所述重叠值集合和所述第二映射关系,按照重叠值顺序,对所述神经元进行排序,得到第二排序结果;基于所述第二排序结果,选取第二预设数量的第二神经元,得到第二神经元集合。5.根据权利要求4所述的剪枝方法,其特征在于,计算所述神经网络模型中每个所述神经元的重叠值的步骤,包括:确定进行评估的评估次数以及每次评估选取的神经元数量;基于所述评估次数以及所述神经元数量,计算每个所述神经元的第二代价值;
依据所述第二代价值顺序,对所述神经元进行排序,并基于排序结果,选取第三预设数量的第三神经元集合,其中,所述第三预设数量表征的数量与所述神经元数量相等;将所述第三神经元集合中的每个所述神经元映射到所述神经网络模型的各特征层...

【专利技术属性】
技术研发人员:吕朝辉罗涛施佳子于海燕
申请(专利权)人:中国工商银行股份有限公司
类型:发明
国别省市:

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

1