一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

卷积神经网络剪枝优化方法、装置、电子设备及存储介质与流程

2022-04-14 03:40:44 来源:中国专利 TAG:


1.本发明实施例涉及深度学习技术领域,特别涉及一种卷积神经网络剪枝优化方法、装置、电子设备及存储介质。


背景技术:

2.卷积神经网络在人工智能领域十分重要,常见的应用包括计算机视觉、语音识别和自然语言处理等。卷积神经网络可通过加深网络的层级结构来提高网络性能。通过增长神经网络模型的规模,可带来学习任务效果的提升,但也带来了卷积神经网络部署困难。主要问题在于神经网络模型内部参数存在巨大冗余,造成资源浪费。已有研究表明,只需要给定一小部分的参数子集,就能够完整地重构出剩余参数,这证明了模型压缩的可行性。
3.卷积神经网络的剪枝优化是一种非常有效的模型压缩方式,能够移除在整个网络中相对不重要的参数,而保留相对重要的参数,以控制模型压缩的精度损失,并对模型进行加速。目前,现有的卷积神经网络剪枝优化通常针对整体网络的通用性场景展开,然而实际应用场景的多变性往往导致单纯使用通用优化方法效果不佳。


技术实现要素:

4.基于现有技术针对整体网络的通用性场景展开卷积神经网络剪枝优化效果不佳的问题,本发明实施例提供了一种有针对性的卷积神经网络剪枝优化方法、装置、电子设备及存储介质,能够结合类别实现卷积神经网络定制优化。
5.第一方面,本发明实施例提供了一种卷积神经网络剪枝优化方法,包括:获取完成训练的卷积神经网络模型,所述卷积神经网络模型能够对输入的图像进行分类识别;对于所述卷积神经网络模型的每一个类别,确定对应的语义信息图,并基于所述语义信息图,确定每个滤波器在各类别中的滤波器重要性因子;其中,一个类别对应的所述语义信息图包含该类别相关的所有语义特征;根据滤波器重要性因子及剪枝目标,对滤波器进行重要程度排序;其中,剪枝目标包括目标类别;基于排序结果及剪枝目标,逐步剪除重要程度小的滤波器,直至达成剪枝目标,得到剪枝优化后的卷积神经网络模型;对剪枝优化后的卷积神经网络模型进行重训练。
6.可选地,所述对于所述卷积神经网络模型的每一个类别,确定对应的语义信息图,包括:对每一个类别,构建多层的语义信息图;其中,语义信息图的层数与所述卷积神经网络模型的层数相同,语义信息图的每层包括多个节点,每个节点代表一个用于分类至该类别的语义特征;根据各语义特征在训练数据集上被激活的激活值,确定语义特征的重要性值。
7.可选地,所述根据各语义特征在训练数据集上被激活的激活值,确定语义特征的重要性值,包括:对于每一个语义特征,确定其在训练数据集上被激活的所有激活值;取数值最大的k个激活值求和,作为该语义特征的重要性值;其中,k小于训练数据集的数据总量n。
8.可选地,基于所述语义信息图,确定每个滤波器在各类别中的滤波器重要性因子,包括:基于卷积神经网络模型,确定各个卷积层中的滤波器;对于每一个类别,基于所述语义信息图,确定各滤波器能够提取的语义特征及相应的重要性值;对于每一个滤波器,基于滤波器在各类别中能够提取的语义特征的重要性值,确定在各类别下的滤波器重要性因子。
9.可选地,所述对于每一个滤波器,基于滤波器在各类别中能够提取的语义特征的重要性值,确定在各类别下的滤波器重要性因子,包括:对于每一个滤波器,以滤波器在一个类别中能够提取的语义特征的重要性值中的最大值,作为该滤波器在该类别中的第一重要性因子;对同一卷积层、对应同一类别的滤波器的第一重要性因子,进行归一化处理,得到滤波器在相应单类别中的滤波器重要性因子。
10.可选地,所述对于每一个滤波器,基于滤波器在各类别中能够提取的语义特征的重要性值,确定在各类别下的滤波器重要性因子,包括:对于每一个滤波器,以滤波器在一个类别中能够提取的语义特征的重要性值的n次幂之和,作为该滤波器在该类别中的第二重要性因子,n≥1;对同一卷积层、对应同一类别的滤波器的第二重要性因子,进行归一化处理,得到滤波器在相应单类别中的滤波器重要性因子。
11.可选地,所述根据滤波器重要性因子及剪枝目标,对滤波器进行重要程度排序,包括:确定目标类别及相关的滤波器;根据滤波器在相应单类别中的滤波器重要性因子,计算滤波器在目标类别中的第三重要性因子;其中,第三重要性因子为相关各单类别中的滤波器重要性因子的k次幂之和,k大于等于1;根据第三重要性因子的大小进行重要程度排序。
12.第二方面,本发明实施例还提供了一种卷积神经网络剪枝优化装置,包括:获取模块,用于获取完成训练的卷积神经网络模型;计算模块,用于对于所述卷积神经网络模型的每一个类别,确定对应的语义信息图,并基于所述语义信息图,确定每个滤波器在各类别中的滤波器重要性因子;其中,一个类别对应的所述语义信息图包含该类别相关的所有语义特征;排序模块,用于根据滤波器重要性因子及剪枝目标,对滤波器进行重要程度排序;其中,剪枝目标包括目标类别;剪枝模块,用于基于排序结果及剪枝目标,逐步剪除重要程度小的滤波器,直至达
成剪枝目标,得到剪枝优化后的卷积神经网络模型;重训练模块,用于对剪枝优化后的卷积神经网络模型进行重训练。
13.第三方面,本发明实施例还提供了一种电子设备,包括存储器和处理器,所述存储器中存储有计算机程序,所述处理器执行所述计算机程序时,实现本说明书任一实施例所述的方法。
14.第四方面,本发明实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,当所述计算机程序在计算机中执行时,令计算机执行本说明书任一实施例所述的方法。
15.本发明实施例提供了一种卷积神经网络剪枝优化方法、装置、电子设备及存储介质,本发明对训练后的卷积网络模型的每个类别建立可解释性语义信息图,基于语义信息图确定滤波器与各类别之间的重要性关系,结合剪枝目标,分析各滤波器对目标类别的贡献,对滤波器进行重要程度排序,进而确定剪除后对目标分类效果影响小的滤波器,实现有针对性的、效果更佳的剪枝压缩。
附图说明
16.为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
17.图1是本发明一实施例提供的一种卷积神经网络剪枝优化方法流程图;图2是本发明一实施例提供的一种卷积神经网络剪枝优化方法中剪枝过程示意图;图3(a)是本发明一实施例提供的一种卷积神经网络剪枝优化方法在vgg16网络最后两层剪枝的效果图;图3(b)是本发明一实施例提供的一种卷积神经网络剪枝优化方法在vgg16网络最后三层剪枝的效果图;图3(c)是本发明一实施例提供的一种卷积神经网络剪枝优化方法在vgg16网络最后四层剪枝的效果图;图4是本发明一实施例提供的一种电子设备的硬件架构图;图5是本发明一实施例提供的一种卷积神经网络剪枝优化装置结构图。
具体实施方式
18.为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例,基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
19.如前所述,卷积神经网络的剪枝优化是一种非常有效的模型压缩方式,能够以原始神经网络模型为基础,移除整个网络中相对不重要的参数,而保留相对重要的参数,控制模型压缩的精度损失,并对模型进行加速。现有的神经网络优化方法都是针对整体网络的
通用性场景展开的,但因为实际应用场景的多变性,在进行神经网络优化时,应该根据具体情况采取不同的优化方式。有鉴于此,本发明提供了一种可定制化的卷积神经网络剪枝优化方案,从具体应用类别相关的冗余出发,对神经网络模型进行了类别感知的剪枝优化。
20.下面描述以上构思的具体实现方式。
21.请参考图1,本发明实施例提供了一种卷积神经网络剪枝优化方法(简称本发明方法),该方法包括:步骤100,获取完成训练的卷积神经网络模型;完成训练后的卷积神经网络模型能够对输入的图像进行分类识别。
22.利用卷积神经网络模型对图像进行分类识别的技术,在图像识别、目标检测、图像分割等任务中都有应用。对卷积神经网络模型的训练可采用现有技术,在此不再赘述。完成训练后的卷积神经网络模型能够实现一种或多种类别的分类识别。
23.步骤102,对于卷积神经网络模型的每一个类别,确定该类别对应的、可解释性的语义信息图,并基于建立的各语义信息图,确定每个滤波器在各类别中的滤波器重要性因子(或称滤波器相对于各类别的滤波器重要性因子);其中,一个类别对应的语义信息图包含该类别所相关的所有语义特征(或称特征模式)。
24.此步骤102对每个类别建立对应的语义信息图,再根据语义信息图确定滤波器与类别之间的重要性关系(即确定滤波器重要性因子)。语义信息图包含与其对应类别所相关的所有语义特征,一个滤波器在分类至某一类别时,可能被其中多个不同特征激活,因此,一个滤波器可能对应多个语义特征,这代表了该滤波器在某一类别上的特征提取能力。由于卷积神经网络模型的卷积层中有多个滤波器,不同的滤波器对于不同类别的分类能力不同。一个滤波器在某一类别中的滤波器重要性因子大,表明该滤波器相对于该类别的重要性大,对于分类至该类别的贡献大。本发明旨在通过可解释性的语义信息图确定每个滤波器相对于所有类别的重要性,以便在后续剪枝过程中剪掉相对不重要的、对分类贡献小的滤波器,从而实现卷积神经网络压缩优化,加速的同时尽量保持卷积神经网络的性能。
25.步骤104,根据步骤102确定的滤波器重要性因子及预设的剪枝目标,对滤波器进行重要程度排序;其中,剪枝目标包括目标类别,即优化后可具体应用于分类的各类别。
26.确定每个滤波器相对于所有类别的重要性后,还需要结合预设的剪枝目标来进行综合性的重要程度排序。这是因为滤波器可能对不止一个分类类别有贡献,剪枝目标不同,也会影响到相关滤波器的重要程度排序结果。剪枝目标可包括一个或多个目标类别,目标类别可与原始的类别相同,或者为原始的类别的子集。若一个滤波器对类别c0和类别c1贡献小而对类别c2贡献大,当目标类别包括类别c0和类别c1而不包括类别c2时,可剪除该滤波器,而当目标类别包括类别c0和类别c2但不包括类别c1时,剪除该滤波器可能使网络对类别c2的分类能力下降,导致剪枝效果不佳,因此需要进一步结合目标类别进行重要程度排序。
27.步骤106,基于重要程度排序得到的排序结果及剪枝目标,逐步剪除卷积神经网络模型中对于目标分类重要程度小的滤波器,直至达成剪枝目标,得到剪枝优化后的卷积神经网络模型。
28.在确定重要程度排序结果后,也即确定了目标类别-滤波器重要性关系,结合剪枝目标,即能够确定需剪除的、卷积神经网络模型中相应的滤波器。
29.可选地,剪枝目标还包括剪枝率。例如,当优化后的目标类别与模型原始的类别相同,可从对各目标类别最不重要的滤波器开始剪除,直到满足剪枝率的要求;而当优化后的目标类别是模型原始的类别的子集,可根据目标类别及剪枝率,优先剪除对非目标类别(即,属于原始的类别但不属于优化后的目标类别)的贡献最大的滤波器。具体的剪枝目标可根据实际需要进行设定,在此不再进一步限定。
30.步骤108,对剪枝优化后的卷积神经网络模型进行重训练。
31.根据目标类别-滤波器重要性关系确定需剪除的滤波器,剪枝工作可一次完成。由于能够保留与所需目标类别相关的、重要的滤波器,相比于现有技术中的迭代式剪枝等方法,本发明方法在剪枝之后仅需要一次微调。
32.本发明实施例中构建语义信息图,利用语义信息图确定各滤波器对类别相关特征的不同提取作用,抽离出滤波器和类别之间的重要性关系,针对不同的目标类别,进行可定制化地剪枝优化工作。并且,本发明的剪枝粒度是滤波器剪枝,使用滤波器剪枝和使用细粒度相比,具有明显优势:滤波器剪枝之后的网络结构十分规则,不需要使用稀疏存储方法即可直接带来速度的提升和能耗的减小;因为不需要稀疏存储方式,也避免了冗余的索引信息,模型规模上压缩效果也有明显的提升;解析单个参数对特征的提取能力并进行重要性判断是没有意义的,滤波器是提取特征信息的有效单位,是以滤波器为单位才能够更好地对参数进行可解释性分析。同时,本发明方法采用一次性剪枝和一次性重训练,能够节约大量的训练时间。在滤波器级别剪枝上,一次性重训练效果和迭代式重训练剪枝效果相似。本发明方法剪枝优化后的卷积神经网络模型在功能上优于其他现有剪枝方法所得的模型,精度恢复更快,重训练时间也更短,可实现有针对性的、效果更佳的剪枝压缩。
33.下面描述图1所示的各个步骤的执行方式。
34.针对步骤100,采用相应的训练数据集对卷积神经网络模型进行训练,至卷积神经网络模型收敛。
35.针对步骤102中,对于卷积神经网络模型的每一个类别,确定对应的语义信息图,进一步包括:对原始的卷积神经网络模型的每一个类别,构建其对应的、多层的语义信息图;其中,语义信息图的层数与卷积神经网络模型的层数相同,语义信息图的每层均包括多个节点,每个节点代表一个用于分类至该类别的语义特征;根据各语义特征在训练数据集上被激活的激活值,确定相应的语义特征的重要性值。
36.语义信息图和原始的卷积神经网络具有相同的层数,语义信息图每一层都对应于原始的卷积神经网络中的一个卷积层,卷积层由多个滤波器组成,语义信息图中每一层则由节点组成,每一个节点代表了一个语义特征。语义信息图的建立是层层递进的,首先根据卷积神经网络最顶层的输出特征图来确定所有的语义特征,并建立语义信息图的第一层;接下来,使用语义特征的位置推断结果来帮助下一个卷积层进行语义特征的解析分离。通过这样的方式,一层一层的建立起和原始的卷积神经网络相等大小的语义信息图。
37.进一步地,根据各语义特征在训练数据集上被激活的激活值,确定语义特征的重要性值,包括:对于每一个语义特征,确定其在训练数据集上被激活的所有激活值,优选可按激
活值的数值大小排序,以便后续筛选;取数值最大的k个激活值求和,作为该语义特征的重要性值;其中,k小于训练数据集的数据总量n。
38.语义特征的重要性是由语义特征被数据集图片上的特征所激活的值决定的,激活值大意味着这是一个明显且重要的语义特征。假设语义特征m在训练数据集不同图片中的激活值为,并将激活值从大到小排序,则语义特征m的重要性值为前k个激活值之和,表达式为:。
39.可选地,步骤102中,基于语义信息图,确定每个滤波器在各类别中的滤波器重要性因子,包括:基于卷积神经网络模型,确定各个卷积层中的滤波器,即,确定原始的模型所包括的所有滤波器;对于卷积神经网络模型的每一个类别,基于对应的语义信息图,确定各滤波器能够提取的所有语义特征及相应的重要性值;对于每一个滤波器,基于该滤波器在各类别中能够提取的所有语义特征的重要性值,确定该滤波器在各类别中的滤波器重要性因子。
40.该实施方式中,通过确定各滤波器能够提取的所有语义特征及相应的重要性值,将每个滤波器在特定类别中能够表达的信息进行量化,以确定不同滤波器在特定类别中的重要性。设代表卷积神经网络模型的第i个卷积层中第j个滤波器在第c类别中能够提取的所有语义特征的重要性值构成的集合,即:其中,至分别表示第i层第j个滤波器在第c类别中能够提取的语义特征1至语义特征m的重要性值,m表示i个卷积层中第j个滤波器在第c类别中能够提取的所有语义特征总数。基于集合,即可确定第i层第j个滤波器在第c类别中的滤波器重要性因子(或称第i层第j个滤波器相对于第c类别的滤波器重要性因子)。具体如何确定可根据实际需要进行选择。
41.可选地,对于每一个滤波器,基于滤波器在各类别中能够提取的语义特征的重要性值,确定在各类别下的滤波器重要性因子,进一步包括:对于每一个滤波器,以滤波器在某一个类别中能够提取的所有语义特征的重要性值中的最大值,作为该滤波器在该单个类别中的第一重要性因子,或称滤波器相对该单类别的第一重要性因子;即,第i层第j个滤波器在第c类别中的第一重要性因子;对属于同一卷积层、对应同一类别的各滤波器的第一重要性因子,进行归一化处理,得到各滤波器在相应单类别中的滤波器重要性因子,滤波器重要性因子。
42.该实施方式中,以每个滤波器提取的最明显的类别特征决定滤波器重要性因子,
因此选择滤波器能够提取的语义特征的重要性值中最大值来求解滤波器重要性因子。为消除不同类别之间滤波器重要性因子的数量级差异,对单类别的滤波器重要性因子进行归一化的处理。归一化处理在每个卷积层中单独进行,因为即使对于同一个类别,不同层滤波器的滤波器重要性因子也可能不在一个数量级。
43.可选地,对于每一个滤波器,基于滤波器在各类别中能够提取的语义特征的重要性值,确定在各类别下的滤波器重要性因子,包括:对于每一个滤波器,以滤波器在一个类别中能够提取的语义特征的重要性值的n次幂之和,作为该滤波器在该类别中的第二重要性因子,n≥1;即,第i层第j个滤波器在第c类别中的第二重要性因子类别中的第二重要性因子;对同一卷积层、对应同一类别的各滤波器的第二重要性因子,进行归一化处理,得到各滤波器在相应单类别中的滤波器重要性因子,滤波器重要性因子。
44.上述实施方式中,若认为滤波器在某一类别中能够提取的语义特征的重要性值之和最能够代表该滤波器的重要性,则可令n=1;若认为一个重要的特征(即重要性值更大)的重要性大于几个普通的特征,则可令n>1,通过n次幂之和放大重要特征的作用,例如n=2。考虑到计算速率及剪枝效果,优选令n=1,每个滤波器的重要性由滤波器所能提取的所有语义特征来决定。
45.考虑到剪枝目标期望得到的模型可能仍是一个多类别分类识别模型,且一个滤波器可能对多个类别都有贡献,因此,有必要分析多类别情况下各滤波器的重要程度。可选地,针对步骤104,进一步包括:确定目标类别及相关的各个单类别中的滤波器;根据滤波器在相应单类别中的滤波器重要性因子,计算滤波器在目标类别中的第三重要性因子(或称相对于目标类别的第三重要性因子);其中,第三重要性因子为滤波器在相关各单类别中的滤波器重要性因子的k次幂之和,k大于等于1;根据第三重要性因子的大小进行重要程度排序,确定对于目标类别,各滤波器的重要程度。
46.上述实施方式中,若平等地考虑滤波器对不同单类别的贡献,则可令k=1,即,表示经过归一化处理的、滤波器在第c类别中的滤波器重要性因子,target表示目标类别,包含一个或多个类别;若需要放大滤波器对单类别的贡献,则可令k大于1,即,,k可选2。当目标类别target只包括一个类别,则第三重要性因子等于相应单类别中的滤波器重要性因子。
47.针对步骤106,如图2所示,剪除卷积神经网络模型中对应的滤波器的操作为滤波器剪枝,滤波器剪枝就是在形状的整个卷积层中,对一整个形状的滤波器进行移除,其中,表示该卷积层上一层特征图的个数,表示该卷积层
下一层特征图的个数,h表示滤波器长度,w表示滤波器宽度。滤波器剪枝不仅会减少当前卷积层的参数数量,同时本层滤波器数量的减小会影响本层输出特征图的通道数,进而影响下一卷积层的计算。假设第i层的特征图是形状为,表示第i层特征图长度,表示第i层特征图宽度,s表示第i层特征图个数,第i 1卷积层整体形状为,表示第i 1卷积层滤波器长度,表示第i 1卷积层滤波器宽度,此部分n表示第i 1层特征图个数,从中选择一个滤波器进行删除,会对i 1层的输出特征图的数量产生影响,进而影响i 2层的卷积操作,所以i 2层的滤波器也需要做出改变来适应上一层卷积核减少带来的变化。第i 2层中所有滤波器,都需要减去一个相关的通道数,才能和i 1的输出进行卷积操作。滤波器剪枝方式带来的参数数量的减少和计算量的减少都非常直观,举例来说,第i 1层卷积计算产生的运算数量大约是,去掉一个卷积核在本卷积层能够节约次乘法计算,第i 2卷积层本来有次乘法计算,此部分m表示第i 2层特征图个数,受到上一层的影响,可以节约次卷积计算。在参数上,减少的参数数量也为本层减少滤波器参数和影响的下一层滤波器参数之和,为。
48.针对步骤108,对剪枝后的卷积神经网络模型进行重训练可参考现有技术,在此不再赘述。
49.为验证本发明方法效果,在vgg16网络上进行了保留单类别剪枝不重训练试验。在实际应用中,单类别的图片分类的应用比较少见,但如图3(a)至图3(c)所示,本发明通过保留单类别的试验验证了该方法的有效性,证明其能够起到保留特定类别重要滤波器的作用。图3(a)至图3(c)中,c0至c9分别代表原始vgg16网络的10个类别,所选保留目标类别为c1,从vgg16网络的最后两层卷积层开始,然后分别选择最后三层和最后四层进行剪枝,剪枝率从零开始逐渐增加,依次增加百分之十,记录剪枝后未重训练之前的10个类别的分类精度,选择最后两层、三层和四层保留单类别剪枝的效果图分别为图3(a)、图3(b)和图3(c),可以看出,随着剪枝率的增加,目标类别c1的分类精度在逐步剪枝过程中下降速度明显小于其他类别。当剪枝靠近较浅的层的时候,因为浅层特征更为混乱,而且浅层造成的精度损失会扩大到更深的层,所以在浅层进行剪枝的效果不如在深层进行剪枝的效果好。图3(a)至图3(c)中类别c0的精度同样没有受到非常大的影响,这是因为类别c0和类别c1提取重要特征的滤波器重叠度较高,所以类别c0在剪枝后也能得到较好的识别效果。
50.如图4、图5所示,本发明实施例提供了一种卷积神经网络剪枝优化装置。装置实施例可以通过软件实现,也可以通过硬件或者软硬件结合的方式实现。从硬件层面而言,如图4所示,为本发明实施例提供的一种卷积神经网络剪枝优化装置所在电子设备的一种硬件架构图,除了图4所示的处理器、内存、网络接口、以及非易失性存储器之外,实施例中装置所在的电子设备通常还可以包括其他硬件,如负责处理报文的转发芯片等等。以软件实现为例,如图5所示,作为一个逻辑意义上的装置,是通过其所在电子设备的cpu将非易失性存储器中对应的计算机程序读取到内存中运行形成的。本实施例提供的一种卷积神经网络剪枝优化装置,包括:获取模块501、计算模块502、排序模块503、剪枝模块504和重训练模块505;其中:
获取模块501用于获取完成训练的卷积神经网络模型;计算模块502用于对于卷积神经网络模型的每一个类别,确定对应的语义信息图,并基于语义信息图,确定每个滤波器在各类别中的滤波器重要性因子;其中,一个类别对应的语义信息图包含该类别相关的所有语义特征;排序模块503用于根据滤波器重要性因子及剪枝目标,对滤波器进行重要程度排序;其中,剪枝目标包括目标类别;剪枝模块504用于基于排序结果及剪枝目标,逐步剪除重要程度小的滤波器,直至达成剪枝目标,得到剪枝优化后的卷积神经网络模型;重训练模块505用于对剪枝优化后的卷积神经网络模型进行重训练。
51.该实施方式中,获取模块501可用于实现上述方法的步骤100,计算模块502可用于实现上述方法的步骤102,排序模块503可用于实现上述方法的步骤104,剪枝模块504可用于实现上述方法的步骤106,重训练模块505可用于实现上述方法的步骤108。
52.可选地,计算模块502对于卷积神经网络模型的每一个类别,确定对应的语义信息图,包括执行如下操作:对每一个类别,构建多层的语义信息图;其中,语义信息图的层数与卷积神经网络模型的层数相同,语义信息图的每层包括多个节点,每个节点代表一个用于分类至该类别的语义特征;根据各语义特征在训练数据集上被激活的激活值,确定语义特征的重要性值。
53.可选地,计算模块502根据各语义特征在训练数据集上被激活的激活值,确定语义特征的重要性值,包括执行如下操作:对于每一个语义特征,确定其在训练数据集上被激活的所有激活值;取数值最大的k个激活值求和,作为该语义特征的重要性值;其中,k小于训练数据集的数据总量n。
54.可选地,计算模块502基于语义信息图,确定每个滤波器在各类别中的滤波器重要性因子,包括执行如下操作:基于卷积神经网络模型,确定各个卷积层中的滤波器;对于每一个类别,基于语义信息图,确定各滤波器能够提取的语义特征及相应的重要性值;对于每一个滤波器,基于滤波器在各类别中能够提取的语义特征的重要性值,确定在各类别下的滤波器重要性因子。
55.可选地,计算模块502对于每一个滤波器,基于滤波器在各类别中能够提取的语义特征的重要性值,确定在各类别下的滤波器重要性因子,包括执行如下操作:对于每一个滤波器,以滤波器在一个类别中能够提取的语义特征的重要性值中的最大值,作为该滤波器在该类别中的第一重要性因子;对同一卷积层、对应同一类别的滤波器的第一重要性因子,进行归一化处理,得到滤波器在相应单类别中的滤波器重要性因子。
56.可选地,计算模块502对于每一个滤波器,基于滤波器在各类别中能够提取的语义特征的重要性值,确定在各类别下的滤波器重要性因子,包括执行如下操作:对于每一个滤波器,以滤波器在一个类别中能够提取的语义特征的重要性值的n
次幂之和,作为该滤波器在该类别中的第二重要性因子,n≥1;对同一卷积层、对应同一类别的滤波器的第二重要性因子,进行归一化处理,得到滤波器在相应单类别中的滤波器重要性因子。
57.可选地,排序模块503根据滤波器重要性因子及剪枝目标,对滤波器进行重要程度排序,包括执行如下操作:确定目标类别及相关的滤波器;根据滤波器在相应单类别中的滤波器重要性因子,计算滤波器在目标类别中的第三重要性因子;其中,第三重要性因子为相关各单类别中的滤波器重要性因子的k次幂之和,k大于等于1;根据第三重要性因子的大小进行重要程度排序。
58.可以理解的是,本发明实施例示意的结构并不构成对一种卷积神经网络剪枝优化装置的具体限定。在本发明的另一些实施例中,一种卷积神经网络剪枝优化装置可以包括比图示更多或者更少的部件,或者组合某些部件,或者拆分某些部件,或者不同的部件布置。图示的部件可以以硬件、软件或者软件和硬件的组合来实现。
59.上述装置内的各模块之间的信息交互、执行过程等内容,由于与本发明方法实施例基于同一构思,具体内容可参见本发明方法实施例中的叙述,此处不再赘述。
60.本发明实施例还提供了一种电子设备,包括存储器和处理器,所述存储器中存储有计算机程序,所述处理器执行所述计算机程序时,实现本发明任一实施例中的一种卷积神经网络剪枝优化方法。
61.本发明实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序在被处理器执行时,使所述处理器执行本发明任一实施例中的一种卷积神经网络剪枝优化方法。
62.具体地,可以提供配有存储介质的系统或者装置,在该存储介质上存储着实现上述实施例中任一实施例的功能的软件程序代码,且使该系统或者装置的计算机(或cpu或mpu)读出并执行存储在存储介质中的程序代码。
63.在这种情况中,从存储介质读取的程序代码本身可实现上述实施例中任何一项实施例的功能,因此程序代码和存储程序代码的存储介质构成了本发明的一部分。
64.用于提供程序代码的存储介质实施例包括软盘、硬盘、磁光盘、光盘(如cd-rom、cd-r、cd-rw、dvd-rom、dvd-ram、dvd-rw、dvd rw)、磁带、非易失性存储卡和rom。可选择地,可以由通信网络从服务器计算机上中载程序代码。
65.此外,应该清楚的是,不仅可以通过执行计算机所读出的程序代码,而且可以通过基于程序代码的指令使计算机上操作的操作系统等来完成部分或者全部的实际操作,从而实现上述实施例中任意一项实施例的功能。
66.此外,可以理解的是,将由存储介质读出的程序代码写到插入计算机内的扩展板中所设置的存储器中或者写到与计算机相连接的扩展模块中设置的存储器中,随后基于程序代码的指令使安装在扩展板或者扩展模块上的cpu等来执行部分和全部实际操作,从而实现上述实施例中任一实施例的功能。
67.需要说明的是,在本文中,诸如第一和第二之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在
任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况中,由语句“包括一个
…”
限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同因素。
68.本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储在计算机可读取的存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:rom、ram、磁碟或者光盘等各种可以存储程序代码的介质中。
69.最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献