技术新讯 > 计算推算,计数设备的制造及其应用技术 > 通用剪枝(UniPruning):用于神经网络加速的通用的硬件高效的剪枝方法与流程  >  正文

通用剪枝(UniPruning):用于神经网络加速的通用的硬件高效的剪枝方法与流程

  • 国知局
  • 2024-07-31 22:38:59

背景技术:

1、近年来,深度学习在许多实际应用中取得了重大突破,例如计算机视觉(例如对象检测、分割和人脸识别)、自然语言处理、语音识别等。多年来,研究的主要目标是提高模型的质量,即使模型大小和时延非常高。然而,对于通常需要实时工作的生产技术方案,模型的时延起着非常重要的作用。

技术实现思路

1、本发明的实施例提供了用于训练和剪枝神经网络的装置和方法。

2、本发明的实施例由独立权利要求的特征定义,并且实施例的其它有利实现方式由从属权利要求的特征定义。

3、根据一个实施例,提供了一种用于训练神经网络的方法,所述神经网络包括至少两个层,所述方法包括:获得贡献于特征张量中的特征的第一权重集的分数,所述特征张量是所述神经网络的第一层的输出;所述分数基于所述第一权重集,并且所述分数还基于以下中的一个或多个:归一化系数,所述归一化系数应用于紧跟在所述第一层之后的归一化层中;和/或第二权重集,所述第二集合包括在将第二层应用于所述特征张量时应用于所述特征的权重,所述第二层在所述第一层之后;所述方法还包括如果基于所述分数的预定条件被满足,则从所述第一层中删除所述第一权重集。

4、通过考虑在当前层之后的层中应用的权重和系数来获得分数,可以提高这种分数的可靠性。这样的重要性度量可以应用于具有贡献于特征通道的参数的任何层。因此,在当前层中通过较小的权重获得的通道(例如,由于在后续层中应用较大归一化系数或较大的权重)可能对神经网络的最终输出做出显著贡献,由权重集合的适当分数表示。

5、在示例性实现方式中,所述删除还包括确定基于所述分数的所述预定条件是否被满足,如果所述预定条件被满足,则从所述第一层中删除所述第一权重集。

6、基于与所述分数相关的条件,高效地执行确定是否删除权重集。

7、例如,所述获得分数还包括:获得贡献于所述特征张量中的特征集中的相应特征的每个权重集的分数。

8、上面描述的分数很容易应用于其它权重集。

9、在一个示例性实现方式中,所述方法还包括:根据所述权重集的相应分数,将贡献于所述特征集中的相应特征的权重集排列在一个或多个组中。

10、为了满足硬件规格,可以形成多组权重集。这可以减少处理量,因为这样可以高效地删除多组集合。

11、例如,所述排列还包括:根据所述权重集的相应分数对所述权重集进行排序;形成包括预定数量的连续排序的权重集的组。

12、使用排序的权重集形成组可以从所述排列的组中确定最不重要和/或最重要的组。

13、在一个示例性实现方式中,所述方法还包括:获得每个组的组分数,其中,相应组的组分数基于所述组中的所述权重集的所述分数。

14、获得组得分可以高效地确定排列组中最不重要或最重要的组。

15、例如,组的组分数是通过将统计度量应用于所述组中的所述权重集的所述分数来获得的。

16、对所述集合的所述分数应用统计度量可以提供获得组分数的高效实现方式。

17、在一个示例性实现方式中,所述删除包括:如果基于所述组的所述组分数的预定条件被满足,则从所述第一层中删除一组权重集。

18、在将所述层应用于特征张量时,从所述层中删除整个组可能会减少处理量。

19、例如,对于所述神经网络中的多个n层中的每个层i,执行排列成组并获得每个组的组分数;如果基于与第i层相关的所述组的所述组分数的预定条件被满足,则从所述第i层中删除一组权重集。

20、当将所述神经网络的n层应用于特征张量时,从所述n层中的一个或多个层中删除组可以减少处理量。

21、在一个示例性实现方式中,所述多个n层包括所述神经网络中的所有层。

22、在删除多组权重集时使用所述神经网络的所有层可以提高模型在将所述神经网络应用于输入特征张量时的性能。

23、例如,所述预定条件包括删除所述n层的所有组的所述组分数中具有最低组分数的预定数量的组m。

24、这样的条件可以从层中删除最不重要的组,从而提高处理效率,同时保持所述层中的重要组以及因此重要的权重集。

25、在一种示例性实现方式中,所述预定条件包括分数、组分数、权重集的数量中的一个或多个的预定阈值。

26、这些阈值为确定是否从层中删除权重的条件提供了高效的实现。

27、例如,删除包括将待删除的权重设置为零。

28、将权重归零而不是进行剪枝使得所述模型的训练更加稳定。

29、在一个示例性实现方式中,所述方法还包括在所述删除之后,在第一预定数量的周期训练所述神经网络。

30、这样的过程使模型可以在删除的参数是冗余的约束下重新学习自身。

31、例如,所述方法还包括:在所述神经网络的所述训练之后,剪枝经删除权重;在第二预定数量的周期,训练所述剪枝后的神经网络。

32、对经删除(零)权重的硬剪枝可以减小所述模型的大小,从而减少应用所述经过训练的模型时所需的处理。对剪枝后的模型进行进一步训练,可以对剩余的权重(参数)进行微调,以提高所述模型的性能。

33、在一种示例性实现方式中,一种计算机程序存储在非瞬时性介质中并包括代码指令,当在一个或多个处理器上执行时,使得所述一个或多个处理器执行根据上述任一方法所述的方法的步骤。

34、根据一个实施例,提供了一种用于训练神经网络的装置,所述神经网络包括至少两个层,所述装置包括:处理单元,用于获得贡献于特征张量中的特征的第一权重集的分数,所述特征张量是所述神经网络的第一层的输出;所述分数基于所述第一权重集,并且所述分数还基于以下中的一个:归一化系数,所述归一化系数应用于紧跟在所述第一层之后的归一化层中;和/或第二权重集,所述第二集合包括在将第二层应用于所述特征张量时应用于所述特征的权重,所述第二层在所述第一层之后;如果基于所述分数的预定条件被满足,则从所述第一层中删除所述第一权重集。

35、所述装置提供了上述方法的优点。

36、本发明可以在硬件(hw)和/或软件(sw)或其组合中实现。此外,基于硬件的实现可以与基于软件的实现相结合。

37、一个或多个实施例的细节在附图和说明书中阐述。其它特征、目标和优点将从说明书、附图和权利要求中显而易见。

技术特征:

1.一种用于训练神经网络的方法,其特征在于,所述神经网络包括至少两个层,所述方法包括:

2.根据权利要求1所述的方法,其特征在于,所述删除还包括:

3.根据权利要求1或2所述的方法,其特征在于,所述获得分数还包括:

4.根据权利要求3所述的方法,其特征在于,还包括:

5.根据权利要求4所述的方法,其特征在于,所述排列还包括:

6.根据权利要求4或5所述的方法,其特征在于,还包括:

7.根据权利要求6所述的方法,其特征在于,组的组分数是通过将统计度量应用于所述组中的所述权重集的所述分数来获得的。

8.根据权利要求6或7所述的方法,其特征在于,所述删除包括:如果基于所述组的所述组分数的预定条件被满足,则从所述第一层中删除(s755)一组权重集。

9.根据权利要求6或7所述的方法,其特征在于,

10.根据权利要求9所述的方法,其特征在于,所述多个n层包括所述神经网络中的所有层。

11.根据权利要求9或10所述的方法,其特征在于,所述预定条件包括;

12.根据权利要求1至10中任一项所述的方法,其特征在于,所述预定条件包括以下中的一个或多个的预定阈值:

13.根据权利要求1至12中任一项所述的方法,其特征在于,所述删除包括将待删除权重设置为零。

14.根据权利要求1至13中任一项所述的方法,其特征在于,还包括:

15.根据权利要求14所述的方法,其特征在于,还包括:

16.一种计算机程序,其特征在于,存储在非瞬时性介质中并包括代码指令,所述代码指令当在一个或多个处理器上执行时,使得所述一个或多个处理器执行根据权利要求1至15中任一项所述的方法的步骤。

17.一种用于训练神经网络的装置,其特征在于,所述神经网络包括至少两个层,所述装置包括:处理电路,用于:

技术总结描述了用于获得神经网络各层内权重集的分数的方法和装置。所述分数基于第一层中的权重集和以下中的一个或多个:(i)后续归一化层中的(可选)归一化系数和(ii)第二层中的权重集。根据所述分数,可以从所述层中删除所述权重集。这样剪枝可以减小相应层的大小。根据组分数,可以从所述神经网络的一个或多个层中剪枝多组权重集。例如,所述组的大小可以基于硬件规格。技术研发人员:弗拉基米尔·彼得罗维奇,德米特里·谢尔盖耶维奇·米哈伊洛夫,彼得·安德烈耶维奇·沃罗别夫,伊万·列昂尼多维奇·马祖连科,熊业攀,申皓全受保护的技术使用者:华为技术有限公司技术研发日:技术公布日:2024/7/25

本文地址:https://www.jishuxx.com/zhuanli/20240730/193997.html

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 YYfuon@163.com 举报,一经查实,本站将立刻删除。