一种神经网络模型剪枝方法、装置及存储介质与流程

文档序号:37106302发布日期:2024-02-22 21:04阅读:15来源:国知局
一种神经网络模型剪枝方法、装置及存储介质与流程

本技术实施例涉及人工智能,尤其涉及一种神经网络模型剪枝方法、装置及存储介质。


背景技术:

1、模型剪枝,即对原有的神经网络模型进行裁剪,以有效的产生尺寸更小、更节省内存、推理速度更快且精度损失较小的模型。

2、目前,模型剪枝的方法通常为对神经网络模型进行层间敏感度分析,根据分析得到的结果与计算量的目标裁剪率来设定神经网络模型中每个网络层的剪枝量,以进行通道剪枝。

3、然而,底层计算机视觉任务常采用的unet模型中存在密集的跳跃连接,即包含密集的跳连通路,跳连通路与主支通路相互耦合,在实际层间敏感度分析中,跳跃通路的起始位置的网络层同时属于跳连通路和主支通路,其敏感度同时受到主支通路和跳连通路两条路线的影响,往往会被判断为高敏感度,最后实际分配的裁剪率很低,导致跳连通路与主支通路都无法被有效的裁剪,神经网络模型裁剪的有效性低。


技术实现思路

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、针对所述至少一个网络层中,卷积核尺寸为k×k的第一网络层,生成第一分支、第二分支和第三分支;其中,所述第一网络层为所述至少一个网络层中任意一个网络层,k为大于1的自然数,所述第一分支为卷积核尺寸为1×1的网络层,所述第二分支由卷积核尺寸为1×1的卷积核,以及卷积核尺寸为k×k的网络层串联组成,所述第三分支由卷积核尺寸为1×1的卷积核,以及平均池化层串联组成;

33、将所述第一网络层、所述第一分支、所述第二分支和所述第三分支组合,得到所述第一网络层对应的结构重构块。

34、本技术实施例提供了一种神经网络模型剪枝装置,包括:

35、获取模块,用于获取原始神经网络模型对应的第一神经网络模型;其中,所述第一神经网络模型为在所述原始神经网络模型的跳连通路中插入压缩器得到的模型,所述原始神经网络模型包括相互耦合的主支通路和所述跳连通路,所述压缩器作为所述第一神经网络模型的网络层,用于将所述跳连通路与所述主支通路相互解耦;

36、训练模块,用于以所述原始神经网络模型为基准,对所述第一神经网络模型进行模型训练,得到第二神经网络模型;

37、剪枝模块,用于对所述第二神经网络模型进行网络层剪枝,得到所述原始神经网络模型对应的剪枝神经网络模型;所述剪枝神经网络模型用于对多媒体数据进行数据处理。

38、本技术实施例提供了一种神经网络模型剪枝装置,包括:处理器、存储器和通信总线;

39、所述通信总线,用于实现所述处理器和所述存储器之间的通信连接;

40、所述处理器,用于执行所述存储器存储的一个或者多个计算机程序,以实现上述神经网络模型剪枝方法。

41、本技术实施例提供了一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该计算机程序被处理器执行时实现上述神经网络模型剪枝方法。

42、本技术实施例提供了一种神经网络模型剪枝方法、装置及存储介质,方法包括:获取原始神经网络模型对应的第一神经网络模型;其中,第一神经网络模型为在原始神经网络模型的跳连通路中插入压缩器得到的模型,原始神经网络模型包括相互耦合的主支通路和跳连通路,压缩器作为第一神经网络模型的网络层,用于将跳连通路与主支通路相互解耦;以原始神经网络模型为基准,对第一神经网络模型进行模型训练,得到第二神经网络模型;对第二神经网络模型进行网络层剪枝,得到原始神经网络模型对应的剪枝神经网络模型;剪枝神经网络模型用于对多媒体数据进行数据处理。本技术实施例提供的技术方案,跳连通路中压缩器的引入使主支通路与跳连通路相互解耦,使跳连通路与主支通路能够分离进行裁剪,从而提高跳连通路和主支通路裁剪的有效性。

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