神经网络的剪枝处理方法、装置、设备及介质与流程
未命名
08-03
阅读:80
评论:0

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.处理模块,用于根据所述总剪枝率以及所述原始神经网络各卷积层的参数量和通道耦合情况,确定所述各卷积层的目标剪枝配置信息,其中,所述目标剪枝配置信息中为具有通道依赖关系的卷积层配置的剪枝信息一致;
37.剪枝模块,用于根据所述目标剪枝配置信息对所述原始神经网络进行剪枝压缩处理,获取目标神经网络。
38.第三方面,本公开提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,当所述指令在终端设备上运行时,使得所述终端设备实现上述的方法。
39.第四方面,本公开提供了一种设备,包括:存储器,处理器,及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时,实现上述的方法。
40.第五方面,本公开提供了一种计算机程序产品,所述计算机程序产品包括计算机程序/指令,所述计算机程序/指令被处理器执行时实现上述的方法。
41.本公开实施例提供的技术方案与现有技术相比具有如下优点:获取原始神经网络的总剪枝率;根据总剪枝率以及原始神经网络各卷积层的参数量和通道耦合情况,确定各卷积层的目标剪枝配置信息,其中,目标剪枝配置信息中为具有通道依赖关系的卷积层配置的剪枝信息一致;根据目标剪枝配置信息对原始神经网络进行剪枝压缩处理,获取目标神经网络。可见,本公开实施例能够自适应确定目标剪枝配置信息,提高了剪枝处理的效率,同时保证了剪枝处理获得的目标神经网络具有较优的剪枝配置和剪枝结果,并且能够取得实际收益速度,通过该剪枝处理方法获得的目标神经网络在移动终端中运行时,占用较少的算力资源、存储资源等,从而能够提高移动终端进行视频处理语言识别、图像识别与理解等应用领域的数据处理时的性能。
附图说明
42.结合附图并参考以下具体实施方式,本公开各实施例的上述和其他特征、优点及方面将变得更加明显。贯穿附图中,相同或相似的附图标记表示相同或相似的元素。应当理解附图是示意性的,原件和元素不一定按照比例绘制。
43.图1为本公开实施例提供的一种神经网络的剪枝处理方法的流程示意图;
44.图2为本公开实施例提供的一种剪枝示意图;
45.图3为本公开实施例提供的另一种神经网络的剪枝处理方法的流程示意图;
46.图4为本公开实施例提供的又一种神经网络的剪枝处理方法的流程示意图;
47.图5为本公开实施例提供的一种神经网络的剪枝处理装置的结构示意图;
48.图6为本公开实施例提供的一种电子设备的结构示意图。
具体实施方式
49.下面将参照附图更详细地描述本公开的实施例。虽然附图中显示了本公开的某些实施例,然而应当理解的是,本公开可以通过各种形式来实现,而且不应该被解释为限于这
里阐述的实施例,相反提供这些实施例是为了更加透彻和完整地理解本公开。应当理解的是,本公开的附图及实施例仅用于示例性作用,并非用于限制本公开的保护范围。
50.应当理解,本公开的方法实施方式中记载的各个步骤可以按照不同的顺序执行,和/或并行执行。此外,方法实施方式可以包括附加的步骤和/或省略执行示出的步骤。本公开的范围在此方面不受限制。
51.本文使用的术语“包括”及其变形是开放性包括,即“包括但不限于”。术语“基于”是“至少部分地基于”。术语“一个实施例”表示“至少一个实施例”;术语“另一实施例”表示“至少一个另外的实施例”;术语“一些实施例”表示“至少一些实施例”。其他术语的相关定义将在下文描述中给出。
52.需要注意,本公开中提及的“第一”、“第二”等概念仅用于对不同的装置、模块或单元进行区分,并非用于限定这些装置、模块或单元所执行的功能的顺序或者相互依存关系。
53.需要注意,本公开中提及的“一个”、“多个”的修饰是示意性而非限制性的,本领域技术人员应当理解,除非在上下文另有明确指出,否则应该理解为“一个或多个”。
54.本公开实施方式中的多个装置之间所交互的消息或者信息的名称仅用于说明性的目的,而并不是用于对这些消息或信息的范围进行限制。
55.为了解决上述问题,本公开实施例提供了一种神经网络的剪枝处理方法,下面结合具体的实施例对该方法进行介绍。
56.图1为本公开实施例提供的一种神经网络的剪枝处理方法的流程示意图,该方法可以由神经网络的剪枝处理装置执行,其中该装置可以采用软件和/或硬件实现,一般可集成在电子设备中。如图1所示,该方法包括:
57.步骤101,获取原始神经网络的总剪枝率。
58.为了保证模型效果,在原始神经网络中可能存在一定数量的参数冗余,通过剪枝处理,能够在保证神经网络精度的前提下,剪枝掉神经网络中各卷积层冗余的卷积核(即,结构化剪枝)或卷积核上的神经元(即,非结构化剪枝),从而得到计算资源和存储资源占用更小的“瘦身模型”,加速神经网络的推理过程,助力神经网络的边缘部署。在本实施例中,解决了各卷积层的剪枝配置信息设定问题以及如何取得实际收益速度的问题,具体包括:
59.在本实施例中,原始神经网络为需要进行剪枝处理的神经网络模型,该原始神经网络可以是经过训练获得的,并且该神经网络模型可以根据应用场景和/或用户需求等进行设定,本实施例不作限制,针对该原始神经网络设置有总剪枝率,并且该总剪枝率存在与各卷积层的剪枝率以及各卷积层的参数量的数量关系。
60.举例说明,若原始神经网络中包括四个卷积层,按照数据处理的顺序依次分别为卷积层一conv1,卷积层二conv2、卷积层三conv3、卷积层四conv4,且conv1中的参数量为n1、剪枝率为r1;conv2中的参数量为n2、剪枝率为r2;conv3中的参数量为n3、剪枝率为r3;conv4中的参数量为n4、剪枝率为r4,则可以确定该原始神经网络剪枝处理前的总参数量n_a=n1+n2+n3+n4,且对该原始神经网络按照各层对应的剪枝率进行剪枝处理操作之后的总参数量n_b=(1-r1)n1+(1-r1)(1-r2)n2+(1-r2)(1-r3)n3+(1-r3)(1-r4)n4,进而总剪枝率与n_a和n_b之间的对应关系为:总剪枝率r_total=(n_a-n_b)/n_a。
61.需要说明的是,上述示例中,若设置r1=r2=r3=r4=r时,总体剪枝率r_total》r,因而,若将原始神经网络中各卷积层的剪枝率设为同一数值时,至少存在以下两个问题:
问题一,总剪枝率与各卷积层剪枝率不同,且总剪枝率大于各层的剪枝率,因而若已知总剪枝率,各卷积层剪枝率应基于该总剪枝率以及各卷积层的参数量进行计算求解。问题二,由于卷积神经网络中各卷积层的重要性不同,参数冗余度也不同,将各卷积层的剪枝率设为同一数值忽略了卷积层之间的差异性。并且各卷积层对于剪枝率的敏感性可能存在区别,因而需要针对各卷积层的特性,设定适合该卷积层的剪枝率。
62.步骤102,根据总剪枝率以及原始神经网络各卷积层的参数量和通道耦合情况,确定各卷积层的目标剪枝配置信息。其中,目标剪枝配置信息中为具有通道依赖关系的卷积层配置的剪枝信息一致。
63.在本实施例中,原始神经网络中的卷积层之间可能存在通道耦合性,以卷积层a和卷积层b为例说明该通道耦合性,对卷积层a进行结构化剪枝会导致卷积层a的输出通道减少,若该结构化剪枝操作也会导致卷积层b的输入通道减少,则可以认为卷积层a和卷积层b之间存在通道依赖关系,该通道依赖关系表现为卷积层a和卷积层b之间具有通道耦合。需要说明的,存在通道耦合的卷积层的确定方法有多种,本实施例不做限制,例如:可以通过模型自动识别确定,可以通过人工配置确定等。
64.进而,为了在进行剪枝处理时参考卷积层之间的差异性,可以根据总剪枝率、原始神经网络各卷积层的参数量、原始神经网络各卷积层的通道耦合情况,确定各卷积层的目标剪枝配置信息。需要说明的是,为了确保剪枝处理的实际收益,在该目标剪枝配置信息中,具有通道依赖关系的卷积层配置的剪枝信息一致,从而保证具有通道依赖关系的层的通道被剪枝掉,进而实现在硬件平台运行时的实际加速。
65.一种可选的实施方式中,若两个卷积层配置的剪枝信息一致,则该两个卷积层进行的剪枝掉的卷积核为一致的,举例而言,图2为本公开实施例提供的一种剪枝示意图,如图2所示,图2中的神经网络包括conv-1和conv-2两个卷积层该两个卷积层存在通道依赖关系,且该两个卷积层各包括4个卷积核,因此该神经网络的输出特征图包含4个通道。若需要conv-1和conv-2的剪枝率为50%,一种剪枝方法为对conv-1中剪枝掉卷积核3和卷积核4,conv-2中剪枝掉卷积核1和卷积核2,图2中的白色竖条标识剪枝掉的通道,从图2中可以看出,该种剪枝处理方法无法获得实际的速度收益,具体原因为:conv-1和conv-2存在通道依赖关系即conv-1和conv-2通道耦合,且conv-1和conv-2剪枝掉了不同的卷积核,导致其输出的特征图通道没有对齐,从而conv-1的输出和conv-2的输出进行加/乘运算时,需要进行通道补零后再相加/相乘,实际的计算量并没有减少。另一种剪枝方法为对conv-1和conv-2的剪枝信息一致,即使具有通道依赖关系的两个卷积层剪掉相同的卷积核,例如,conv-1和conv-2均剪枝掉卷积核3和卷积核4,这样进行相加/相乘时,无需进行通道补0,从而达到实际减小计算量的效果。
66.一种可选的实施方式中,可以基于上述步骤提供的总剪枝率和原始神经网络各卷积层的参数量以及各卷积层的剪枝率之间的关系,即总剪枝率r_total=(n_a-n_b)/n_a,根据获得的总剪枝率以及原始神经网络各卷积层的参数量,以原始神经网络各卷积层的通道耦合情况为约束,确定各卷积层的目标剪枝配置信息。该目标剪枝配置信息中包括了各卷积层的剪枝率。
67.步骤103,根据目标剪枝配置信息对原始神经网络进行剪枝压缩处理,获取目标神经网络。
68.确定目标剪枝配置信息之后,可以根据该目标剪枝配置信息中各卷积层的剪枝率对各卷积层进行剪枝压缩处理,从而实现对原始神经网络的剪枝压缩处理,获得目标神经网络。在本实施例中,对原始神经网络进行剪枝压缩处理的方法有多种,可以根据应用场景进行选择,本实施例不作限制,例如:可以根据目标剪枝配置信息调用one-shot剪枝器对原始神经网络进行实际剪枝。
69.综上,根据本公开实施例的神经网络的剪枝处理方法,获取原始神经网络的总剪枝率;根据总剪枝率以及原始神经网络各卷积层的参数量和通道耦合情况,确定各卷积层的目标剪枝配置信息,其中,目标剪枝配置信息中为具有通道依赖关系的卷积层配置的剪枝信息一致;根据目标剪枝配置信息对原始神经网络进行剪枝压缩处理,获取目标神经网络。可见,本公开实施例能够自适应确定目标剪枝配置信息,提高了剪枝处理的效率,同时保证了剪枝处理获得的目标神经网络具有较优的剪枝配置和剪枝结果,并且能够取得实际收益速度,通过该剪枝处理方法获得的目标神经网络在移动终端中运行时,占用较少的算力资源、存储资源等,从而能够提高移动终端进行视频处理语言识别、图像识别与理解等应用领域的数据处理时的性能。
70.图3为本公开实施例提供的另一种神经网络的剪枝处理方法的流程示意图,如图3所示,该方法中,根据总剪枝率以及原始神经网络各卷积层的参数量和通道耦合情况,确定目标剪枝配置信息,包括以下步骤:
71.步骤301,根据预设的起始剪枝率和当前计算周期的目标增长剪枝率,获取当前计算周期的实时剪枝率。
72.在本实施例中,目标增长剪枝率为当前计算周期的剪枝率与上一个计算周期的剪枝率相比的增长值,其中,每个计算周期对应的目标增长剪枝率可以是不同的也可以为相同的,本实施例不做限制。
73.举例而言,若每个计算周期内的目标增长剪枝率相同为p_i,且预设起始剪枝率为p_s,若当前计算周期为起始的第1周期,则第1周期的实时剪枝率与起始剪枝率相同,该实时剪枝率p_c=p_s,若当前计算周期为第n周期(n为大于1的正整数),则第n周期的实时剪枝率p_c=p_s+(n-1)p_i。
74.一种可选的实施方式中,可以预先设置剪枝超参数,该剪枝超参数可以包括:目标增长剪枝率p_i、起始剪枝率p_s,实时剪枝率p_c以及总剪枝率p_t。
75.步骤302,根据实时剪枝率以及各卷积层的参数量和通道耦合情况,获取各卷积层的多个候选剪枝配置信息,其中,多个候选剪枝配置信息中为具有通道依赖关系的卷积层配置的剪枝信息一致。
76.进而,根据当前计算周期的实时剪枝率以及原始神经网络中各卷积层的参数量以及各卷积层的通道耦合情况,确定各卷积层的多个候选剪枝配置信息。并且在该多个候选剪枝匹配信息中,对于具有通道依赖关系的卷积层,配置的剪枝信息一致。
77.步骤303,根据每个候选剪枝配置信息对原始神经网络进行剪枝压缩处理,获取多个候选神经网络。
78.进一步的,判断每个候选剪枝配置信息的性能优劣。具体地,可以根据候选剪枝配置信息确定每个卷积层对应的剪枝率,从而对原始神经网络进行剪枝压缩处理,获得每个候选剪枝配置信息对应的候选神经网络。一种可选的实施方式中,可以基于交替方向乘子
法(alternating direction method of multipliers,admm)按照候选剪枝配置信息对原始神经网络进行稀疏化训练,获得对应的候选神经网络。
79.步骤304,调用预设算法对多个候选神经网络进行测试,获取与每个候选神经网络对应的网络性能。
80.在本实施例中,网络性能能够从一个或多个维度对候选神经网络进行打分,进而可以通过该预设算法获取每个候选网络对应的网络性能,其中,该预设算法可以根据应用场景进行设置,本实施例不做限制,例如,可以调用one-shot剪枝器对多个候选网络进行剪枝性能验证,获得每个候选网络对应的准确性、稳定性等方面的打分。
81.步骤305,判断实时剪枝率是否大于等于总剪枝率,如果是,则根据与每个候选神经网络对应的网络性能,从多个候选剪枝配置信息中确定目标剪枝配置信息。
82.进一步地,判断实时剪枝率是否大于或等于总剪枝率,如果实时剪枝率大于或等于总剪枝率,说明当前的剪枝率已经满足原始神经网络的剪枝率需求,进而可以根据每个候选神经网络对应的网络性能,选择网络性能最优秀的候选神经网络对应的候选剪枝配置信息作为目标剪枝配置信息。
83.一种可选的实施方式中,可以根据每个候选神经网络对应的网络性能,通过计算确定每个候选神经网络的总得分,该总得分越高,则表示候选神经网络的综合网络性能越优秀,确定多个候选神经网络中总得分最高的一个候选神经网络对应的候选剪枝配置信息作为目标剪枝配置信息。
84.步骤306,如果实时剪枝率小于总剪枝率,则根据与每个候选神经网络对应的网络性能,从多个候选剪枝配置信息中筛选出满足预设条件的目标候选剪枝配置信息。
85.如果实时剪枝率小于总剪枝率,说明当前的剪枝率未满足原始神经网络的剪枝率需求,进而需要进一步的对剪枝配置信息进行处理,具体包括:根据与每个候选神经网络对应的网络性能,对多个候选剪枝配置信息进行筛选,确定满足预设条件的目标候选剪枝配置信息,其中,该预设条件可以根据应用场景进行设置,本实施例不作限制。
86.一种可选的实施方式中,若采用基因算法确定目标剪枝配置信息,且基因算法中的维护种群数量为h,可以根据网络性能由好到差对候选神经网络依次排序,预设条件为候选神经网络中排名为前h/2,则排名在前h/2的候选神经网络对应的候选剪枝配置信息为目标候选剪枝配置信息。
87.步骤307,根据目标候选剪枝配置信息以及下一个计算周期的实时剪枝率,生成下一个计算周期的各卷积层的多个候选剪枝配置信息。
88.在本实施例中,可以对当前计算周期的实时剪枝率和下一个计算周期的目标增长剪枝率进行求和运算,从而确定当前计算周期的下一个计算周期的实时剪枝率,根据下一个周期的实时剪枝率对当前获取的目标候选剪枝配置信息进行处理,生成下一个计算周期的各卷积层的多个候选剪枝配置信息。
89.综上,本公开实施例的神经网络的剪枝处理方法,将对原始神经网络的各卷积层的剪枝匹配信息确定问题,由相关技术中的依赖专家经验人为进行配置,优化为了自动化求解,并且在求解过程中将各卷积层作为整体看待,考虑了卷积层之间的通道耦合情况,使得建模更准确,剪枝结果性能更高,满足了总剪枝率的同时又得到了较优的瘦身模型。本剪枝处理方法中,考虑了各卷积层之间的通道依赖关系,通过纠偏可以使得具有通道依赖关
系的卷积层的剪枝信息一致,从而确保了剪枝收益转变为实际的速度收益。
90.基于上述实施例,根据实时剪枝率以及各卷积层的参数量和通道耦合情况,获取各卷积层的多个候选剪枝配置信息的方法有多种,图4为本公开实施例提供的又一种神经网络的剪枝处理方法的流程示意图,如图4所示,可以基于基因算法确定该多个候选剪枝配置信息,具体包括:
91.步骤401,根据预设的基因算法搜索粒度和原始神经网络的卷积层数量获取各卷积层的编码矩阵。
92.在本实施例中,基因算法搜索粒度能够表征确定的各卷积层剪枝率的颗粒度,该搜索颗粒度可以根据应用场景和/或用户需求等进行设定,本实施例不作限制,可以理解地,搜索粒度的值越大,则对应的各卷积层剪枝率的颗粒度越细;搜索粒度的值越小,则对应的各卷积层剪枝率的颗粒度越粗。并且,在基因算法中还可以存在维护种群数量,该维护种群数量能够表征基因算法所维护的种群的规模。
93.进而,根据该预设的基因算法搜索粒度和原始神经网络的卷积层数量获取各卷积层的编码矩阵。一种可选的实施方式中,若预设的搜索粒度为s,该基因算法中的维护种群数量为h,原始神经网络的卷积层数量为m,则获取的各卷积层的编码矩阵为h*m的矩阵,且该矩阵中每个元素的取值范围为[1,s],其中,搜索粒度s、维护种群数量h、卷积层数量m可以根据应用场景进行选择,本实施例不作限制,例如可以取s=32、h=50、m=8。
[0094]
在本实施实施例中,各卷积层的编码矩阵的获取方式可以根据应用场景进行设置,本实施例中不作限制,示例说明如下:
[0095]
一种可选的实施方式中,根据预设的基因算法搜索粒度和原始神经网络的卷积层数量随机产生多个第一配置向量获取编码矩阵。
[0096]
在本实施方式中,第一配置向量的元素个数与原始神经网络的卷积层数量相同,并且该第一配置向量各元素的值为根据基因算法搜索粒度随机生成的,举例而言,若搜索粒度为32,则第一配置向量各元素的值可以为1~32之间的正整数。从而将每个卷积层的剪枝率从连续空间映射到了搜索的离散空间。并且每轮产生的第一配置向量的数量可以根据应用的场景进行设置,本实施例不作限制,例如,可以设置第一配置向量的数量r=10。
[0097]
另一种可选的实施方式中,进一步的,可以对多对第一配置向量交换部分向量片段,生成多个第二配置向量,和/或,对多个第一配置向量中的部分向量片段进行随机替换,生成多个第三配置向量。
[0098]
对于第一配置向量,可以将该第一配置向量中的一个元素或多个相邻元素作为一个向量片段。在本实施方式中,可以将两个第一配置向量确定为一对第一配置向量,将该两个第一配置向量中的一段或多段向量片段进行交换,从而实现对该对第一配置向量的交叉处理,生成一堆第二配置向量。可以理解地,该第二配置向量的向量长度与第一配置向量的向量长度相同,并且,可以对多对第一配置向量进行该交叉处理,从而生成多个第二配置向量。在本实施例中,每轮生成生成的第二配置向量的数量可以根据应用场景进行设置,本实施例不作限制,例如,可以设置第二配置向量的数量c=20。
[0099]
在本实施方式中,还可以将第一配置向量中的一段或多段向量片段中的元素进行随机替换,从而对第一配置向量进行变异处理,生成多个第三配置向量,需要说明的是,随机替换到第三配置向量的随机值需要是基于基因算法搜索粒度随机生成的,该随机值可以
为不大于搜索粒度的正整数。在本实施例中,每轮生成生成的第三配置向量的数量可以根据应用场景进行设置,本实施例不作限制,例如,可以设置第三配置向量的数量d=20。
[0100]
在一些应用场景中,生成的第二配置向量和第三配置向量的数量小于预设数量,还可以根据搜索粒度随机生成配置向量补足空缺。
[0101]
进一步地,根据该多个第一配置向量、多个第二配置向量和多个第三配置向量获取编码矩阵。例如:若基因算法中的维护种群数量为h,可以从该多个第一配置向量、第二配置向量和第三配置向量中选取h个配置向量,并将该h个配置向量拼接生成编码矩阵。
[0102]
步骤402,根据搜索粒度对编码矩阵中的每个行向量进行归一化转换处理生成多个第一向量。
[0103]
编码矩阵中的每个行向量代表了对原始神经网络进行剪枝处理的一种方案,通过归一化转换处理能够将行向量的每个元素的范围从[1,s](其中,s为搜索粒度)转换为[0,1]。
[0104]
一种可选的实施方式中,可以对每个行向量的每个元素除以搜索粒度,从而实现对每个行向量的归一化处理,生成多个第一向量。例如,若搜索粒度为32,则将每个行向量的元素除以32。
[0105]
步骤403,根据实时剪枝率以及各卷积层的参数量和通道耦合情况,对多个第一向量进行纠偏处理获取对应的多个第二向量,并将多个第二向量作为多个候选剪枝配置信息。
[0106]
进一步的,根据实时剪枝率、各卷积层的参数量和各卷积层的通道耦合情况,对多个第一向量进行纠偏处理,生成对应的多个第二向量。其中,通过纠偏处理能够使得根据第二向量确定的剪枝率与原始神经网络的总剪枝率相同,并且根据第二向量确定的各卷积层的剪枝率中,具有通道依赖关系的卷积层的剪枝率相同。将该多个第二作为多个候选剪枝配置信息。
[0107]
综上,本公开实施例的神经网络的剪枝处理方法,能够根据基因算法求解较优的各卷积层的目标剪枝配置信息,从而保证了剪枝处理的效果。
[0108]
基于上述实施例,还可以对目标神经网络进一步进行训练,从而提高剪枝处理之后神经网络的精度,具体还包括:
[0109]
根据应用场景的样本数据训练所述目标神经网络的参数,以根据训练后的所述目标神经网络对输入数据进行处理得到输出数据,其中,所述输入数据包括多媒体数据、音频数据、视频数据、图像数据中的一种或者多种组合。
[0110]
在本实施例中,应用场景包括但不限于:视频处理语言识别、图像识别与理解、游戏视觉中的任一个。样本数据为能满足该应用场景训练需求的数据,该样本数据可以为对原始神经网络进行训练的数据,也可以为其他满足该与应用场景需求的数据,本实施例不做限制。使用该样本数据训练剪枝处理获得的目标神经网络的参数,从而提高神经网络的精度,使用训练后的目标神经网络对该应用场景中的输入数据进行处理,生成对应的输出数据。可以理解地,不同应用场景存在对应的输入数据,该输入数据包括:多媒体数据、音频数据、视频数据、图像数据中的一种或者多种组合。
[0111]
以应用场景为人脸关键部位渲染为例,在该应用场景中,训练后的目标神经网络的输入数据包括图像数据,上述步骤中根据应用场景的样本数据训练目标神经网络的参
数,以根据训练后的目标神经网络对输入数据进行处理得到输出数据,包括:
[0112]
首先,获取训练所述原始神经网络采用的人脸样本图像。
[0113]
进一步的,获取与所述人脸样本图像对应的关键部位渲染图像。
[0114]
在本实施例中,可以采用对原始神经网络进行训练的人脸样本图像及其对应的关键部位渲染图像作为样本数据,使用该样本数据对目标神经网络进行精度提升训练。
[0115]
进一步的,基于预设的目标函数约束,根据人脸样本图像和关键部位渲染图像训练目标神经网络的参数,以根据训练好的目标神经网络对测试图像进行渲染处理获取目标图像。
[0116]
在本实施例中,预设目标函数作为损失函数对目标神经网络的训练进行约束,该目标函数可以根据应用场景需求进行选择,本实施例不做限制。进而可以将人脸样本图像作为目标神经网络的输入数据,将关键部位渲染图像作为该目标神经网络的输出图像,基于目标函数的约束对目标神经网络进行训练,训练好的目标神经网络能够对输入的测试图像进行渲染处理,生成对应的目标图像。
[0117]
综上,本公开实施例的神经网络的剪枝处理方法,可以在视频处理语言识别、图像识别与理解、游戏视觉等应用场景中实现对原始神经网络的剪枝以及进一步的精度训练,从而降低了该应用场景中神经网络的参数量以及算力消耗,同时也保证了神经网络的精度。
[0118]
图5为本公开实施例提供的一种神经网络的剪枝处理装置的结构示意图,该装置可由软件和/或硬件实现,一般可集成在电子设备中。
[0119]
如图5所示,该装置包括:
[0120]
获取模块501,用于获取原始神经网络的总剪枝率;
[0121]
处理模块502,用于根据所述总剪枝率以及所述原始神经网络各卷积层的参数量和通道耦合情况,确定所述各卷积层的目标剪枝配置信息,其中,所述目标剪枝配置信息中为具有通道依赖关系的卷积层配置的剪枝信息一致;
[0122]
剪枝模块503,用于根据所述目标剪枝配置信息对所述原始神经网络进行剪枝压缩处理,获取目标神经网络。
[0123]
一种可选的实施方式中,所述处理模块502,包括:
[0124]
第一获取单元,用于根据预设的起始剪枝率和当前计算周期的目标增长剪枝率,获取所述当前计算周期的实时剪枝率;
[0125]
第二获取单元,用于根据所述实时剪枝率以及所述各卷积层的参数量和通道耦合情况,获取所述各卷积层的多个候选剪枝配置信息,其中,所述多个候选剪枝配置信息中为具有通道依赖关系的卷积层配置的剪枝信息一致;
[0126]
第三获取单元,用于根据每个所述候选剪枝配置信息对所述原始神经网络进行剪枝压缩处理,获取多个候选神经网络;
[0127]
第四获取单元,用于调用预设算法对所述多个候选神经网络进行测试,获取与每个所述候选神经网络对应的网络性能;
[0128]
第一确定单元,用于判断所述实时剪枝率是否大于等于所述总剪枝率,如果是,则根据与每个所述候选神经网络对应的网络性能,从所述多个候选剪枝配置信息中确定所述目标剪枝配置信息。
[0129]
一种可选的实施方式中,所述处理模块502,还包括:
[0130]
第二确定单元,用于如果所述实时剪枝率小于所述总剪枝率,则根据与每个所述候选神经网络对应的网络性能,从所述多个候选剪枝配置信息中筛选出满足预设条件的目标候选剪枝配置信息;
[0131]
生成单元,用于根据所述目标候选剪枝配置信息以及下一个计算周期的实时剪枝率,生成所述下一个计算周期的所述各卷积层的多个候选剪枝配置信息。
[0132]
一种可选的实施方式中,所述第二获取单元,用于:
[0133]
根据预设的基因算法搜索粒度和所述原始神经网络的卷积层数量获取所述各卷积层的编码矩阵;
[0134]
根据所述搜索粒度对所述编码矩阵中的每个行向量进行归一化转换处理生成多个第一向量;
[0135]
根据所述实时剪枝率以及所述各卷积层的参数量和通道耦合情况,对所述多个第一向量进行纠偏处理获取对应的多个第二向量,并将所述多个第二向量作为所述多个候选剪枝配置信息。
[0136]
一种可选的实施方式中,所述第二获取单元,还用于:
[0137]
根据预设的基因算法搜索粒度和所述原始神经网络的卷积层数量随机产生多个第一配置向量获取所述编码矩阵。
[0138]
一种可选的实施方式中,所述第二获取单元,还用于:
[0139]
对多对所述第一配置向量交换部分向量片段,生成多个第二配置向量;
[0140]
对多个所述第一配置向量中的部分向量片段进行随机替换,生成多个第三配置向量;
[0141]
根据所述多个第一配置向量、所述多个第二配置向量和所述多个第三配置向量获取所述编码矩阵。
[0142]
一种可选的实施方式中,还包括:
[0143]
训练模块,用于根据应用场景的样本数据训练所述目标神经网络的参数,以根据训练后的所述目标神经网络对输入数据进行处理得到输出数据,其中,所述输入数据包括多媒体数据、音频数据、视频数据、图像数据中的一种或者多种组合。
[0144]
一种可选的实施方式中,所述训练模块,用于:
[0145]
获取训练所述原始神经网络采用的人脸样本图像;
[0146]
获取与所述人脸样本图像对应的关键部位渲染图像;
[0147]
基于预设的目标函数约束,根据所述人脸样本图像和所述关键部位渲染图像训练所述目标神经网络的参数,以根据训练好的所述目标神经网络对测试图像进行渲染处理获取目标图像。
[0148]
本公开实施例所提供的神经网络的剪枝处理装置可执行本公开任意实施例所提供的神经网络的剪枝处理方法,具备执行方法相应的功能模块和有益效果。
[0149]
除了上述方法和装置以外,本公开实施例还提供了一种计算机可读存储介质,计算机可读存储介质中存储有指令,当所述指令在终端设备上运行时,使得所述终端设备实现本公开实施例所述的神经网络的剪枝处理方法。
[0150]
本公开实施例还提供了一种计算机程序产品,所述计算机程序产品包括计算机程
序/指令,所述计算机程序/指令被处理器执行时实现本公开实施例所述的神经网络的剪枝处理方法。
[0151]
图6为本公开实施例提供的一种电子设备的结构示意图。
[0152]
下面具体参考图6,其示出了适于用来实现本公开实施例中的电子设备600的结构示意图。本公开实施例中的电子设备600可以包括但不限于诸如移动电话、笔记本电脑、数字广播接收器、pda(个人数字助理)、pad(平板电脑)、pmp(便携式多媒体播放器)、车载终端(例如车载导航终端)等等的移动终端以及诸如数字tv、台式计算机等等的固定终端。图6示出的电子设备仅仅是一个示例,不应对本公开实施例的功能和使用范围带来任何限制。
[0153]
如图6所示,电子设备600可以包括处理装置(例如中央处理器、图形处理器等)601,其可以根据存储在只读存储器(rom)602中的程序或者从存储装置608加载到随机访问存储器(ram)603中的程序而执行各种适当的动作和处理。在ram 603中,还存储有电子设备600操作所需的各种程序和数据。处理装置601、rom 602以及ram603通过总线604彼此相连。输入/输出(i/o)接口605也连接至总线604。
[0154]
通常,以下装置可以连接至i/o接口605:包括例如触摸屏、触摸板、键盘、鼠标、摄像头、麦克风、加速度计、陀螺仪等的输入装置606;包括例如液晶显示器(lcd)、扬声器、振动器等的输出装置607;包括例如磁带、硬盘等的存储装置608;以及通信装置609。通信装置609可以允许电子设备600与其他设备进行无线或有线通信以交换数据。虽然图6示出了具有各种装置的电子设备600,但是应理解的是,并不要求实施或具备所有示出的装置。可以替代地实施或具备更多或更少的装置。
[0155]
特别地,根据本公开的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本公开的实施例包括一种计算机程序产品,其包括承载在非暂态计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信装置609从网络上被下载和安装,或者从存储装置608被安装,或者从rom 602被安装。在该计算机程序被处理装置601执行时,执行本公开实施例的神经网络的剪枝处理方法中限定的上述功能。
[0156]
需要说明的是,本公开上述的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(ram)、只读存储器(rom)、可擦式可编程只读存储器(eprom或闪存)、光纤、便携式紧凑磁盘只读存储器(cd-rom)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本公开中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本公开中,计算机可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读信号介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:电线、光缆、rf(射频)等等,或者上述
的任意合适的组合。
[0157]
在一些实施方式中,客户端、服务器可以利用诸如http(hypertext transfer protocol,超文本传输协议)之类的任何当前已知或未来研发的网络协议进行通信,并且可以与任意形式或介质的数字数据通信(例如,通信网络)互连。通信网络的示例包括局域网(“lan”),广域网(“wan”),网际网(例如,互联网)以及端对端网络(例如,ad hoc端对端网络),以及任何当前已知或未来研发的网络。
[0158]
上述计算机可读介质可以是上述电子设备中所包含的;也可以是单独存在,而未装配入该电子设备中。
[0159]
上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被该电子设备执行时,使得该电子设备:首先,获取原始神经网络的总剪枝率;进一步地,根据总剪枝率以及原始神经网络各卷积层的参数量和通道耦合情况,确定各卷积层的目标剪枝配置信息,其中,目标剪枝配置信息中为具有通道依赖关系的卷积层配置的剪枝信息一致;进一步地,根据目标剪枝配置信息对原始神经网络进行剪枝压缩处理,获取目标神经网络。可见,本公开实施例能够自适应确定目标剪枝配置信息,提高了剪枝处理的效率,同时保证了剪枝处理获得的目标神经网络具有较优的剪枝配置和剪枝结果,并且能够取得实际收益速度,通过该剪枝处理方法获得的目标神经网络在移动终端中运行时,占用较少的算力资源、存储资源等,从而能够提高移动终端进行视频处理语言识别、图像识别与理解等应用领域的数据处理时的性能。
[0160]
可以以一种或多种程序设计语言或其组合来编写用于执行本公开的操作的计算机程序代码,上述程序设计语言包括但不限于面向对象的程序设计语言—诸如java、smalltalk、c++,还包括常规的过程式程序设计语言—诸如“c”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(lan)或广域网(wan)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
[0161]
附图中的流程图和框图,图示了按照本公开各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,该模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
[0162]
描述于本公开实施例中所涉及到的单元可以通过软件的方式实现,也可以通过硬件的方式来实现。其中,单元的名称在某种情况下并不构成对该单元本身的限定。
[0163]
本文中以上描述的功能可以至少部分地由一个或多个硬件逻辑部件来执行。例如,非限制性地,可以使用的示范类型的硬件逻辑部件包括:现场可编程门阵列(fpga)、专
用集成电路(asic)、专用标准产品(assp)、片上系统(soc)、复杂可编程逻辑设备(cpld)等等。
[0164]
在本公开的上下文中,机器可读介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的程序。机器可读介质可以是机器可读信号介质或机器可读储存介质。机器可读介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(ram)、只读存储器(rom)、可擦除可编程只读存储器(eprom或快闪存储器)、光纤、便捷式紧凑盘只读存储器(cd-rom)、光学储存设备、磁储存设备、或上述内容的任何合适组合。
[0165]
以上描述仅为本公开的较佳实施例以及对所运用技术原理的说明。本领域技术人员应当理解,本公开中所涉及的公开范围,并不限于上述技术特征的特定组合而成的技术方案,同时也应涵盖在不脱离上述公开构思的情况下,由上述技术特征或其等同特征进行任意组合而形成的其它技术方案。例如上述特征与本公开中公开的(但不限于)具有类似功能的技术特征进行互相替换而形成的技术方案。
[0166]
此外,虽然采用特定次序描绘了各操作,但是这不应当理解为要求这些操作以所示出的特定次序或以顺序次序执行来执行。在一定环境下,多任务和并行处理可能是有利的。同样地,虽然在上面论述中包含了若干具体实现细节,但是这些不应当被解释为对本公开的范围的限制。在单独的实施例的上下文中描述的某些特征还可以组合地实现在单个实施例中。相反地,在单个实施例的上下文中描述的各种特征也可以单独地或以任何合适的子组合的方式实现在多个实施例中。
[0167]
尽管已经采用特定于结构特征和/或方法逻辑动作的语言描述了本主题,但是应当理解所附权利要求书中所限定的主题未必局限于上面描述的特定特征或动作。相反,上面所描述的特定特征和动作仅仅是实现权利要求书的示例形式。
技术特征:
1.一种神经网络的剪枝处理方法,其特征在于,包括:获取原始神经网络的总剪枝率;根据所述总剪枝率以及所述原始神经网络各卷积层的参数量和通道耦合情况,确定所述各卷积层的目标剪枝配置信息,其中,所述目标剪枝配置信息中为具有通道依赖关系的卷积层配置的剪枝信息一致;根据所述目标剪枝配置信息对所述原始神经网络进行剪枝压缩处理,获取目标神经网络。2.根据权利要求1所述的方法,其特征在于,所述根据所述总剪枝率以及所述原始神经网络各卷积层的参数量和通道耦合情况,确定目标剪枝配置信息,包括:根据预设的起始剪枝率和当前计算周期的目标增长剪枝率,获取所述当前计算周期的实时剪枝率;根据所述实时剪枝率以及所述各卷积层的参数量和通道耦合情况,获取所述各卷积层的多个候选剪枝配置信息,其中,所述多个候选剪枝配置信息中为具有通道依赖关系的卷积层配置的剪枝信息一致;根据每个所述候选剪枝配置信息对所述原始神经网络进行剪枝压缩处理,获取多个候选神经网络;调用预设算法对所述多个候选神经网络进行测试,获取与每个所述候选神经网络对应的网络性能;判断所述实时剪枝率是否大于等于所述总剪枝率,如果是,则根据与每个所述候选神经网络对应的网络性能,从所述多个候选剪枝配置信息中确定所述目标剪枝配置信息。3.根据权利要求2所述的方法,其特征在于,在所述判断所述实时剪枝率是否大于等于所述总剪枝率之后,还包括:如果所述实时剪枝率小于所述总剪枝率,则根据与每个所述候选神经网络对应的网络性能,从所述多个候选剪枝配置信息中筛选出满足预设条件的目标候选剪枝配置信息;根据所述目标候选剪枝配置信息以及下一个计算周期的实时剪枝率,生成所述下一个计算周期的所述各卷积层的多个候选剪枝配置信息。4.根据权利要求2所述的方法,其特征在于,所述根据所述实时剪枝率以及所述各卷积层的参数量和通道耦合情况,获取所述各卷积层的多个候选剪枝配置信息,包括:根据预设的基因算法搜索粒度和所述原始神经网络的卷积层数量获取所述各卷积层的编码矩阵;根据所述搜索粒度对所述编码矩阵中的每个行向量进行归一化转换处理生成多个第一向量;根据所述实时剪枝率以及所述各卷积层的参数量和通道耦合情况,对所述多个第一向量进行纠偏处理获取对应的多个第二向量,并将所述多个第二向量作为所述多个候选剪枝配置信息。5.根据权利要求4所述的方法,其特征在于,所述根据预设的基因算法搜索粒度和所述原始神经网络的卷积层数量获取所述各卷积层的编码矩阵,包括:根据预设的基因算法搜索粒度和所述原始神经网络的卷积层数量随机产生多个第一配置向量获取所述编码矩阵。
6.根据权利要求5所述的方法,其特征在于,还包括:对多对所述第一配置向量交换部分向量片段,生成多个第二配置向量;对多个所述第一配置向量中的部分向量片段进行随机替换,生成多个第三配置向量;根据所述多个第一配置向量、所述多个第二配置向量和所述多个第三配置向量获取所述编码矩阵。7.根据权利要求1-6任一所述的方法,其特征在于,还包括:根据应用场景的样本数据训练所述目标神经网络的参数,以根据训练后的所述目标神经网络对输入数据进行处理得到输出数据,其中,所述输入数据包括多媒体数据、音频数据、视频数据、图像数据中的一种或者多种组合。8.根据权利要求7所述的方法,其特征在于,所述根据应用场景的样本数据训练所述目标神经网络的参数,以根据训练后的所述目标神经网络对输入数据进行处理得到输出数据,包括:获取训练所述原始神经网络采用的人脸样本图像;获取与所述人脸样本图像对应的关键部位渲染图像;基于预设的目标函数约束,根据所述人脸样本图像和所述关键部位渲染图像训练所述目标神经网络的参数,以根据训练好的所述目标神经网络对测试图像进行渲染处理获取目标图像。9.一种神经网络的剪枝处理装置,其特征在于,所述装置包括:获取模块,用于获取原始神经网络的总剪枝率;处理模块,用于根据所述总剪枝率以及所述原始神经网络各卷积层的参数量和通道耦合情况,确定所述各卷积层的目标剪枝配置信息,其中,所述目标剪枝配置信息中为具有通道依赖关系的卷积层配置的剪枝信息一致;剪枝模块,用于根据所述目标剪枝配置信息对所述原始神经网络进行剪枝压缩处理,获取目标神经网络。10.一种电子设备,其特征在于,所述电子设备包括:处理器;用于存储所述处理器可执行指令的存储器;所述处理器,用于从所述存储器中读取所述可执行指令,并执行所述指令以实现上述权利要求1-8中任一项所述的方法。11.一种计算机可读存储介质,其特征在于,所述存储介质存储有计算机程序,所述计算机程序用于执行上述权利要求1-8任一项所述的方法。12.一种计算机程序产品,其特征在于,所述计算机程序产品包括计算机程序/指令,所述计算机程序/指令被处理器执行时实现如权利要求1-8任一项所述的方法。
技术总结
本公开实施例涉及一种神经网络的剪枝处理方法、装置、设备及介质,其中该方法包括:获取原始神经网络的总剪枝率;根据总剪枝率以及原始神经网络各卷积层的参数量和通道耦合情况,确定各卷积层的目标剪枝配置信息,其中,目标剪枝配置信息中为具有通道依赖关系的卷积层配置的剪枝信息一致;根据目标剪枝配置信息对原始神经网络进行剪枝压缩处理,获取目标神经网络。可见,本公开实施例能够自适应确定目标剪枝配置信息,提高了剪枝处理的效率,同时保证了剪枝处理获得的目标神经网络具有较优的剪枝配置和剪枝结果,并且能够取得实际收益速度,同时占用较少的移动终端算力资源、存储资源等,提高移动终端进行数据处理的性能。提高移动终端进行数据处理的性能。提高移动终端进行数据处理的性能。
技术研发人员:刘松伟
受保护的技术使用者:北京字跳网络技术有限公司
技术研发日:2022.01.14
技术公布日:2023/8/1
版权声明
本文仅代表作者观点,不代表航家之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)
航空之家 https://www.aerohome.com.cn/
飞机超市 https://mall.aerohome.com.cn/
航空资讯 https://news.aerohome.com.cn/