神经网络模型压缩方法、装置、电子设备及存储介质与流程

文档序号:37557668发布日期:2024-04-09 17:49阅读:15来源:国知局
神经网络模型压缩方法、装置、电子设备及存储介质与流程

本公开涉及一种人工智能,尤其涉及一种神经网络模型压缩方法、装置、电子设备及存储介质。


背景技术:

1、随着人工智能技术的发展,神经网络模型的资源开销也不断增长。为了减小神经网络模型的计算资源与存储资源的开销,模型压缩技术已成为人工智能领域的一个重要研究方向。但是,目前尚缺乏用于压缩神经网络模型以降低资源开销的有效手段。


技术实现思路

1、本公开提供一种神经网络模型压缩方法、装置、电子设备及存储介质。

2、根据本公开实施例的第一方面,提供一种神经网络模型压缩方法,包括:

3、获取神经网络模型中每个层级的层级信息;

4、根据每个层级的层级信息对每个层级进行打分处理,得到每个层级的分数信息;

5、基于每个层级的分数信息和至少一个分数阈值,确定每个层级对应的压缩方式;

6、根据每个层级对应的压缩方式对对应层级进行压缩,得到压缩后的神经网络模型。

7、在本公开一些实施例中,层级信息包括一些至少一项:权重尺度影响信息;参数数量信息;参数更新速度信息;重要性及敏感性信息;层级类型信息。

8、在本公开一些实施例中,根据每个层级的层级信息对每个层级进行打分处理,得到每个层级的分数信息,包括:根据每个层级的权重尺度影响信息、参数数量信息、参数更新速度信息、重要性及敏感性信息和层级类型信息对每个层级进行打分处理,得到每个层级的分数信息。

9、在本公开一些实施例中,根据每个层级的权重尺度影响信息、参数数量信息、参数更新速度信息、重要性及敏感性信息和层级类型信息对每个层级进行打分处理,得到每个层级的分数信息,包括:将每个层级的权重尺度影响信息、参数数量信息、参数更新速度信息、重要性及敏感性信息和层级类型信息进行加权求和,得到每个层级的分数信息。

10、在本公开一些实施例中,至少一个分数阈值包括第一分数阈值和第二分数阈值,第一分数阈值小于第二分数阈值;其中,基于每个层级的分数信息和至少一个分数阈值,确定每个层级对应的压缩方式,包括以下至少一项:针对每个层级,在层级的分数信息小于或等于第一分数阈值的情况下,确定层级对应的压缩方式为第一压缩方式;在层级的分数信息大于第一分数阈值且小于或者等于第二分数阈值的情况下,确定层级对应的压缩方式为第二压缩方式;在层级的分数信息大于第二分数阈值的情况下,确定层级对应的压缩方式为第三压缩方式;其中,第一压缩方式的压缩程度大于第二压缩方式的压缩程度,第二压缩方式的压缩程度大于第三压缩方式的压缩程度。

11、在本公开一些实施例中,根据每个层级对应的压缩方式对对应层级进行压缩,得到压缩后的神经网络模型,包括以下至少一项:针对神经网络模型中第一层级,根据第一压缩方式对第一层级进行压缩,得到压缩后的第一层级;其中,第一层级为神经网络模型中压缩方式为第一压缩方式的层级;针对神经网络模型中第二层级,根据第二压缩方式对第二层级进行压缩,得到压缩后的第二层级;其中,第二层级为神经网络模型中压缩方式为第二压缩方式的层级;针对神经网络模型中第三层级,根据第三压缩方式对第三层级进行压缩,得到压缩后的第三层级;其中,第三层级为神经网络模型中压缩方式为第三压缩方式的层级;获得压缩后的神经网络模型。

12、在本公开一些实施例中,层级对应的压缩方式为第一压缩方式;第一压缩方式包括二值化压缩方式;根据每个层级对应的压缩方式对对应层级进行压缩,得到每个压缩后的层级,包括:获取层级的权重参数;对权重参数进行二值化处理,得到与权重参数对应的二值化信息;基于二值化信息对层级中对应的权重参数进行更新。

13、在本公开一些实施例中,层级对应的压缩方式为第二压缩方式;第二压缩方式包括低比特量化压缩方式;根据每个层级对应的压缩方式对对应层级进行压缩,得到每个压缩后的层级,包括:获取层级的权重参数和低比特量化位宽;低比特量化位宽对应的比特位小于或等于第一比特位;根据权重参数,确定量化范围;基于低比特量化位宽对权重参数进行转换处理,得到定点数信息;基于线性量化方法对定点数信息进行映射处理,得到映射值信息;基于映射值信息对权重参数进行更新。

14、在本公开一些实施例中,该神经网络模型压缩方法还包括:对压缩后的神经网络模型进行训练,得到训练后的神经网络模型;基于训练后的神经网络模型进行模型性能检测,确定模型性能检测结果;根据模型性能检测结果,确定神经网络模型性能未满足预设条件;根据第一预设步长和/或第二预设步长,调整第一分数阈值和/或第二分数阈值,并根据调整后的第一分数阈值和/或第二分数阈值重新对神经网络模型进行压缩和训练,直至神经网络模型性能满足预设条件。

15、在本公开一些实施例中,根据第一预设步长和/或第二预设步长,调整第一分数阈值和/或第二分数阈值,并根据调整后的第一分数阈值和/或第二分数阈值重新对神经网络模型进行压缩和训练,包括:根据第二预设步长,调整第二分数阈值;根据调整后的第二分数阈值,重新对神经网络模型进行压缩和训练,并确定训练后的神经网络模型性能未满足预设条件,则根据第二预设步长对第二分数阈值进行回退处理,并根据第一预设步长,调整第一分数阈值;根据调整后的第一分数阈值和回退后的第二分数阈值,重新对神经网络模型进行压缩和训练,得到训练后的神经网络模型,并确定训练后的神经网络模型性能未满足预设条件;根据第二预设步长,继续调整第二分数阈值;根据继续调整后的第二分数阈值,重新对神经网络模型进行压缩和训练,得到训练后的神经网络模型,并确定训练后的神经网络模型性能未满足预设条件,返回执行根据第二预设步长,调整第二分数阈值的步骤。根据本公开实施例的第二方面,提供一种神经网络模型压缩装置,包括:

16、获取模块,用于获取神经网络模型中每个层级的层级信息;

17、打分模块,用于根据每个层级的层级信息对每个层级进行打分处理,得到每个层级的分数信息;

18、确定模块,用于基于每个层级的分数信息和至少一个分数阈值,确定每个层级对应的压缩方式;

19、压缩模块,用于根据每个层级对应的压缩方式对对应层级进行压缩,得到压缩后的神经网络模型。

20、在本公开一些实施例中,获取模块获取到的层级信息包括以下至少一项:权重尺度影响信息;参数数量信息;参数更新速度信息;重要性及敏感性信息;层级类型信息。

21、在本公开一些实施例中,打分模块具体用于根据每个层级的权重尺度影响信息、参数数量信息、参数更新速度信息、重要性及敏感性信息和层级类型信息对每个层级进行打分处理,得到每个层级的分数信息。

22、在本公开一些实施例中,打分模块具体用于将每个层级的权重尺度影响信息、参数数量信息、参数更新速度信息、重要性及敏感性信息和层级类型信息进行加权求和,得到每个层级的分数信息。

23、在本公开一些实施例中,确定模块具体用于针对每个层级,在层级的分数信息小于或等于第一分数阈值的情况下,确定层级对应的压缩方式为第一压缩方式;在层级的分数信息大于第一分数阈值且小于或者等于第二分数阈值的情况下,确定层级对应的压缩方式为第二压缩方式;在层级的分数信息大于第二分数阈值的情况下,确定层级对应的压缩方式为第三压缩方式;其中,第一压缩方式的压缩程度大于第二压缩方式的压缩程度,第二压缩方式的压缩程度大于第三压缩方式的压缩程度。

24、在本公开一些实施例中,压缩模块具体用于针对神经网络模型中第一层级,根据第一压缩方式对第一层级进行压缩,得到压缩后的第一层级;其中,第一层级为神经网络模型中压缩方式为第一压缩方式的层级;针对神经网络模型中第二层级,根据第二压缩方式对第二层级进行压缩,得到压缩后的第二层级;其中,第二层级为神经网络模型中压缩方式为第二压缩方式的层级;针对神经网络模型中第三层级,根据第三压缩方式对第三层级进行压缩,得到压缩后的第三层级;其中,第三层级为神经网络模型中压缩方式为第三压缩方式的层级;获得压缩后的神经网络模型。

25、在本公开一些实施例中,压缩模块具体用于获取层级的权重参数;对权重参数进行二值化处理,得到与权重参数对应的二值化信息;基于二值化信息对层级中对应的权重参数进行更新。

26、在本公开一些实施例中,压缩模块具体用于获取层级的权重参数和低比特量化位宽;低比特量化位宽对应的比特位小于或等于第一比特位;根据权重参数,确定量化范围;基于低比特量化位宽对权重参数进行转换处理,得到定点数信息;基于线性量化方法对定点数信息进行映射处理,得到映射值信息;基于映射值信息对权重参数进行更新。

27、在本公开一些实施例中,该神经网络模型压缩装置还包括调整模块。调整模块具体用于对压缩后的神经网络模型进行训练,得到训练后的神经网络模型;基于训练后的神经网络模型进行模型性能检测,确定模型性能检测结果;根据模型性能检测结果,确定神经网络模型性能未满足预设条件;根据第一预设步长和/或第二预设步长,调整第一分数阈值和/或第二分数阈值,并根据调整后的第一分数阈值和/或第二分数阈值重新对神经网络模型进行压缩和训练,直至神经网络模型性能满足预设条件。

28、在本公开一些实施例中,调整模块具体用于根据第二预设步长,调整第二分数阈值;根据调整后的第二分数阈值,重新对神经网络模型进行压缩和训练,并确定训练后的神经网络模型性能未满足预设条件,则根据第二预设步长对第二分数阈值进行回退处理,并根据第一预设步长,调整第一分数阈值;根据调整后的第一分数阈值和回退后的第二分数阈值,重新对神经网络模型进行压缩和训练,得到训练后的神经网络模型,并确定训练后的神经网络模型性能未满足预设条件;根据第二预设步长,继续调整第二分数阈值;根据继续调整后的第二分数阈值,重新对神经网络模型进行压缩和训练,得到训练后的神经网络模型,并确定训练后的神经网络模型性能未满足预设条件,返回执行根据第二预设步长,调整第二分数阈值的步骤。

29、根据本公开实施例的第三方面,提供一种电子设备,包括:

30、至少一个处理器;以及

31、与至少一个处理器通信连接的存储器;其中,

32、存储器存储有可被至少一个处理器执行的指令,指令被至少一个处理器执行,以使至少一个处理器能够执行上述第一方面的神经网络模型压缩方法。

33、根据本公开实施例的第四方面,提供一种存储有计算机指令的非瞬时计算机可读存储介质,其中,计算机指令用于使计算机执行上述第一方面的神经网络模型压缩方法。

34、根据本公开实施例的第五方面,提供一种计算机程序产品,包括计算机程序,该计算机程序在被处理器执行时实现本公开实施例中的神经网络模型压缩方法。

35、本公开的实施例提供的技术方案可以包括以下有益效果:获取神经网络模型中每个层级的层级信息;根据每个层级的层级信息对每个层级进行打分处理,得到每个层级的分数信息;基于每个层级的分数信息和至少一个分数阈值,确定每个层级对应的压缩方式;根据每个层级对应的压缩方式对对应层级进行压缩,得到压缩后的神经网络模型,这样基于神经网络模型中不同层级的层级信息对每个层级以不同压缩方式进行压缩,可以在不明显降低神经网络模型性能的情况下,减小神经网络模型的规模,以便于节省存储空间以及提高神经网络模型的训练速度。

36、应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1