CN111047039A - 深度神经网络裁剪方法、装置及电子设备 - Google Patents
深度神经网络裁剪方法、装置及电子设备 Download PDFInfo
- Publication number
- CN111047039A CN111047039A CN201911280967.9A CN201911280967A CN111047039A CN 111047039 A CN111047039 A CN 111047039A CN 201911280967 A CN201911280967 A CN 201911280967A CN 111047039 A CN111047039 A CN 111047039A
- Authority
- CN
- China
- Prior art keywords
- convolution kernel
- convolution
- target
- layer
- kernel
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000013528 artificial neural network Methods 0.000 title claims abstract description 111
- 238000000034 method Methods 0.000 title claims abstract description 54
- 238000012545 processing Methods 0.000 claims abstract description 21
- 230000008569 process Effects 0.000 claims description 19
- 238000012549 training Methods 0.000 claims description 12
- 230000006978 adaptation Effects 0.000 claims description 4
- 230000001133 acceleration Effects 0.000 abstract description 4
- 230000000694 effects Effects 0.000 abstract description 4
- 238000010586 diagram Methods 0.000 description 14
- 238000010606 normalization Methods 0.000 description 13
- 238000004891 communication Methods 0.000 description 9
- 238000005520 cutting process Methods 0.000 description 8
- 238000012512 characterization method Methods 0.000 description 6
- 238000003860 storage Methods 0.000 description 6
- 238000009966 trimming Methods 0.000 description 5
- 238000011176 pooling Methods 0.000 description 4
- 101100400452 Caenorhabditis elegans map-2 gene Proteins 0.000 description 3
- 101150064138 MAP1 gene Proteins 0.000 description 3
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 238000010801 machine learning Methods 0.000 description 3
- 238000004422 calculation algorithm Methods 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 2
- 238000013500 data storage Methods 0.000 description 2
- 238000013461 design Methods 0.000 description 1
- 238000009826 distribution Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000003909 pattern recognition Methods 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 238000004904 shortening Methods 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
- G06N3/082—Learning methods modifying the architecture, e.g. adding, deleting or silencing nodes or connections
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- General Health & Medical Sciences (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Computational Linguistics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Evolutionary Computation (AREA)
- Artificial Intelligence (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Health & Medical Sciences (AREA)
- Image Analysis (AREA)
Abstract
本申请实施例公开了一种深度神经网络裁剪方法、装置及电子设备,将目标卷积层中稀疏度最高的卷积核作为基准卷积核,根据该基准卷积核对各个非基准卷积核的相对熵,以及各个非基准卷积核中元素的绝对值,确定至少一个目标卷积核;该目标卷积核与基准卷积核的差异,小于目标卷积层中非目标卷积核与所述基准卷积核的差异;删除该至少一个目标卷积核,并对目标卷积层的下一卷积层中的各个卷积核进行处理,使得下一卷积层中的各个卷积核与所述目标卷积层中剩余的卷积核相适配,减少了目标卷积层中卷积核的数量和输出的特征图的数量,以及目标卷积层的下一卷积层中卷积核的数据量,在保证网络模型的处理精度的同时提升网络模型的加速效果。
Description
技术领域
本申请涉及机器学习技术领域,更具体地说,涉及一种深度神经网络裁剪方法、装置及电子设备。
背景技术
目前,深度神经网络因其具有较好的模式识别效果,而在计算机视觉、语音识别、机器人技术等多个领域得到广泛应用。深度神经网络通常具有较大的数据存储和运算规模,因而训练好的深度神经网络只能部署在具有较高的存储和运算性能的终端设备上。要想在存储和运算能力较低的设备上部署深度神经网络,则需要对训练好的深度神经网络进行裁剪,以便对深度神经网络进行加速从而使其能够部署到存储和运算能力较低的设备上。
然而,发明人研究发现,目前对深度神经网络的裁剪均是对神经网络进行稀疏化裁剪,即对深度神经网络的参数进行稀疏化处理,这种裁剪方式对深度神经网络的加速并不明显。
发明内容
本申请的目的是提供一种深度神经网络裁剪方法、装置及电子设备,包括如下技术方案:
一种深度神经网络裁剪方法,包括:
在深度神经网络的待裁剪的至少一个卷积层中确定目标卷积层;
根据所述目标卷积层中的基准卷积核对各个非基准卷积核的相对熵,以及各个非基准卷积核中元素的绝对值,确定所述基准卷积核与各个非基准卷积核之间的差异;所述基准卷积核为所述目标卷积层中稀疏度最高的卷积核;
基于所述基准卷积核与各个非基准卷积核间之间的差异,确定至少一个目标卷积核;所述目标卷积核与所述基准卷积核的差异,小于所述目标卷积层中非目标卷积核与所述基准卷积核的差异;
删除所述至少一个目标卷积核;
对所述深度神经网络中所述目标卷积层的下一卷积层中的各个卷积核进行处理,使得所述下一卷积层中的各个卷积核与所述目标卷积层中剩余的卷积核相适配。
上述方法,优选的,所述目标卷积层中的基准卷积核对各个非基准卷积核的相对熵通过如下方式获得:
将所述目标卷积层中的各个卷积核中的元素进行归一化,得到归一化后的卷积核;
分别计算归一化后的基准卷积核对每一个归一化后的非基准卷积核的相对熵。
上述方法,优选的,所述根据所述目标卷积层中的基准卷积核对各个非基准卷积核的相对熵,以及各个非基准卷积核中元素的绝对值,确定所述基准卷积核与各个非基准卷积核间之间的差异,包括:
对应每一个非基准卷积核,计算该非基准卷积核对应的相对熵与该非基准卷积核中的元素的绝对值的最大值的乘积;乘积结果的大小表征该非基准卷积核与所述基准卷积核的差异。
上述方法,优选的,所述根据所述目标卷积层中的基准卷积核对各个非基准卷积核的相对熵,以及各个非基准卷积核中元素的绝对值,确定所述基准卷积核与各个非基准卷积核间之间的差异,包括:
对应每一个非基准卷积核,获得该非基准卷积核对应的相对熵与目标偏置系数的和值;
计算该非基准卷积核对应的和值与该非基准卷积核中的元素的绝对值的最大值的乘积;乘积结果的大小表征该非基准卷积核与所述基准卷积核的差异。
上述方法,优选的,所述目标卷积层中的稀疏度最高的卷积核,包括:
所述目标卷积层中L1范数最小的卷积核。
上述方法,优选的,所述对所述深度神经网络中所述目标卷积层的下一卷积层中的各个卷积核进行处理,包括:
在所述下一卷积层中的各个卷积核中分别确定目标通道,所述目标通道为与所述至少一个目标卷积核对应的通道;
删除所述下一卷积层中的各个卷积核中的目标通道,使得所述下一卷积层中的各个卷积核的通道数均与所述目标卷积层中剩余的卷积核的数量相同。
上述方法,优选的,还包括:
判断所述待裁剪的至少一个卷积层是否均裁剪完成;
若判断结果为否,在所述待裁剪的至少一个卷积层中确定与所述目标卷积层的层级最接近的一个未裁剪的卷积层作为目标卷积层,并返回执行所述根据所述目标卷积层中的基准卷积核对各个非基准卷积核的相对熵,以及各个非基准卷积核中元素的绝对值,确定所述基准卷积核与各个非基准卷积核之间的差异的步骤。
上述方法,优选的,所述深度神经网络为训练过程中参数更新次数达到阈值的深度神经网络,或者,所述深度神经网络为训练完成的深度神经网络。
一种深度神经网络裁剪装置,包括:
第一确定模块,用于在深度神经网络的待裁剪的至少一个卷积层中确定目标卷积层;
第二确定模块,用于根据所述目标卷积层中的基准卷积核对各个非基准卷积核的相对熵,以及各个非基准卷积核中元素的绝对值,确定所述基准卷积核与各个非基准卷积核之间的差异;所述基准卷积核为所述目标卷积层中稀疏度最高的卷积核;
第三确定模块,用于基于所述基准卷积核与各个非基准卷积核间之间的差异,确定至少一个目标卷积核;所述目标卷积核与所述基准卷积核的差异,小于所述目标卷积层中非目标卷积核与所述基准卷积核的差异;
裁剪模块,用于删除所述至少一个目标卷积核;
适配模块,用于对所述深度神经网络中所述目标卷积层的下一卷积层中的各个卷积核进行处理,使得所述下一卷积层中的各个卷积核与所述目标卷积层中剩余的卷积核相适配。
一种电子设备,包括:
存储器,用于至少存储一组指令集;
处理器,用于调用并执行所述存储器中的所述指令集,通过执行所述指令集进行以下操作:
在深度神经网络的待裁剪的至少一个卷积层中确定目标卷积层;
根据所述目标卷积层中的基准卷积核对各个非基准卷积核的相对熵,以及各个非基准卷积核中元素的绝对值,确定所述基准卷积核与各个非基准卷积核之间的差异;所述基准卷积核为所述目标卷积层中稀疏度最高的卷积核;
基于所述基准卷积核与各个非基准卷积核间之间的差异,确定至少一个目标卷积核;所述目标卷积核与所述基准卷积核的差异,小于所述目标卷积层中非目标卷积核与所述基准卷积核的差异;
删除所述至少一个目标卷积核;
对所述深度神经网络中所述目标卷积层的下一卷积层中的各个卷积核进行处理,使得所述下一卷积层中的各个卷积核与所述目标卷积层中剩余的卷积核相适配。
通过以上方案可知,本申请提供的一种深度神经网络裁剪方法、装置及电子设备,将目标卷积层中稀疏度最高的卷积核作为基准卷积核,根据该基准卷积核对各个非基准卷积核的相对熵,以及各个非基准卷积核中元素的绝对值,确定至少一个目标卷积核;该目标卷积核与基准卷积核的差异,小于目标卷积层中非目标卷积核与所述基准卷积核的差异;删除该至少一个目标卷积核,并对目标卷积层的下一卷积层中的各个卷积核进行处理,使得下一卷积层中的各个卷积核与所述目标卷积层中剩余的卷积核相适配,减少了目标卷积层中卷积核的数量和输出的特征图的数量,以及目标卷积层的下一卷积层中卷积核的数据量,与现有技术中仅对深度神经网络的数据进行稀疏化处理而数据量不变相比,本申请方案在保证深度神经网络的处理精度的同时提升深度神经网络的加速效果。
附图说明
为了更清楚地说明本申请实施例的技术方案,下面将对实施例所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例提供的深度神经网络裁剪方法的一种实现流程图;
图2为本申请实施例提供的一个深度神经网络的局部示意图;
图3为本申请实施例提供的获取基准卷积核对各个非基准卷积核的相对熵的一种实现流程图;
图4为本申请实施例提供的对深度神经网络中目标卷积层的下一卷积层中的各个卷积核进行处理的一种实现流程图;
图5为本申请实施例提供的目标卷积层中卷积核,以及目标卷积层的输入特征图和输出特征图的对应关系示例图;
图6为本申请实施例提供的目标卷积层中卷积核,以及目标卷积层的输入特征图和输出特征图的另一种应关系示例图;
图7为本申请实施例提供的深度神经网络裁剪装置的一种结构示意图;
图8为本申请实施例提供的电子设备的硬件结构框图。
说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”“第四”等(如果存在)是用于区别类似的部分,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例,能够以除了在这里图示的以外的顺序实施。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有付出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
本申请实施例提供的深度神经网络裁剪方法的基本思想是:将卷积核的稀疏度作为衡量输入卷积层的特征图的重要性的指标,卷积核的稀疏度越高,说明输入卷积层的特征图的重要性越低。对于每一个待裁剪的卷积层,从该卷积层中选出表征输入的特征图的重要性最低的卷积核作为基准卷积核,然后,从其它卷积核(即非基准卷积核)中选取与基准卷积核的相似度较高的卷积核,将基准卷积核及选取出的非基准卷积核裁剪掉。
本申请实施例提供的深度神经网络裁剪方法的一种实现流程图如图1所示,可以包括:
步骤S11:在深度神经网络的待裁剪的至少一个卷积层中确定目标卷积层。
深度神经网络中通常包括多个卷积层,每个卷积层利用卷积核对输入本卷积层的数据进行处理,得到特征图,利用不同的卷积核对输入的数据进行处理,得到不同的特征图。本申请实施例中,对深度神经网络中的至少部分卷积层中的卷积核进行裁剪,具体对哪些卷积层进行裁剪,每个卷积层裁剪多少个卷积核,可以由用户根据实际需要裁剪的数据量确定。最终确定的待裁剪的卷积层可能只有一个,也可能有两个或更多个。不同的待裁剪的卷积层中要裁剪的卷积核的个数可以相同,也可以不同。
当待裁剪的卷积层有至少两个时,该至少两个卷积层在深度神经网络中可以是相邻的,也是不相邻的。需要说明的是,这里的“相邻”和“不相邻”描述的是深度神经网络中的卷积层之间的相对关系,与深度神经网络中的其它层无关。如图2所示,为一个深度神经网络的局部示意图,该示意图中包括三个卷积层和两个池化层,则第一卷积层和第二卷积层为相邻的两个卷积层,第二卷积层和第三卷积层为相邻的两个卷积层,而第一卷积层和第三卷积层则是不相邻的两个卷积层。
在确定待裁剪的至少一个卷积层后,逐个对该待裁剪的卷积层进行裁剪,因而,目标卷积层为待裁剪的至少一个卷积层中未裁剪的一个卷积层。
步骤S12:根据目标卷积层中的基准卷积核对各个非基准卷积核的相对熵,以及各个非基准卷积核中元素的绝对值,确定基准卷积核与各个非基准卷积核间之间的差异;基准卷积核为目标卷积层中稀疏度最高的卷积核。
在确定目标卷积层后,获取该目标卷积层中各个卷积核的稀疏度,将稀疏度最高的一个卷积核作为基准卷积核,其它卷积核则为非基准卷积核。其中,卷积核的稀疏度可以用L2范数表征,卷积核的L2范数的取值越小,表征卷积核的稀疏度越高。在一优选的实施例中,卷积核的稀疏度可以用L1范数表征,卷积核的L1范数的取值越小,表征卷积核的稀疏度越高。
如果稀疏度最高的卷积核有多个,则获取每一个稀疏度最高的卷积核中元素的绝对值的最大值;在稀疏度最高的多个卷积核中确定元素的绝对值的最大值最小的卷积核,将该元素的绝对值的最大值最小的卷积核确定为基准卷积核。
如果稀疏度最高的多个卷积核中,元素的绝对值的最大值最小的卷积核有至少两个,则从该至少两个卷积核中随机确定一个卷积核作为基准卷积核。
比如,假设稀疏度最高的卷积核有5个,分别为卷积核1,卷积核2,卷积核3,卷积核4和卷积核5,则获取卷积核1中各个元素的绝对值的最大值(为便于叙述,记为M1),卷积核2中各个元素的绝对值的最大值(为便于叙述,记为M2),卷积核3中各个元素的绝对值的最大值(为便于叙述,记为M3),卷积核4中各个元素的绝对值的最大值(为便于叙述,记为M4),卷积核5中各个元素的绝对值的最大值(为便于叙述,记为M5),从M1、M2、M3、M4、M5中确定最小值,假设为M4,则将卷积核4确定为基准卷积核。如果M1、M2、M3、M4、M5中的最小值有至少两个,比如,M2和M4最小,则从卷积核2和卷积核4中随机选择一个卷积核作为基准卷积核。
为便于叙述,将目标卷积层中的基准卷积核记为K0,第i个非基准卷积核记为Ki,i=1,2,3,…,N;N为目标卷积层中非基准卷积核的个数。则本申请实施例中,根据目标卷积层中的基准卷积核K0对非基准卷积核Ki的相对熵,以及非基准卷积核Ki中元素的绝对值,确定基准卷积核K0与非基准卷积核Ki之间的差异。基准卷积核K0与非基准卷积核Ki之间的差异越大,表征基准卷积核K0与非基准卷积核Ki之间的相似度越低,反之,基准卷积核K0与非基准卷积核Ki之间的差异越小,表征基准卷积核K0与非基准卷积核Ki之间的相似度越高。
步骤S13:基于基准卷积核与各个非基准卷积核间之间的差异,确定至少一个目标卷积核;目标卷积核与基准卷积核的差异,小于目标卷积层中非目标卷积核与基准卷积核的差异。
可选的,相比于基准卷积核和非基准卷积核的差异,基准卷积核和自身的差异最小,因此,所确定的至少一个目标卷积核中包括基准卷积核。
可选的,如果目标卷积层只需要裁剪一个卷积核,则可以将基准卷积核作为目标卷积核,而不必在执行步骤S13。也就是说,在执行步骤S13之前,还可以先判断目标卷积层中需要裁剪的卷积核的个数,如果目标卷积层只需要裁剪一个卷积核,则不执行步骤S13,直接将基准卷积核作为目标卷积核并执行步骤S14及后续步骤,如果目标卷积层需要裁剪至少两个卷积核,则执行步骤S13及后续步骤。
步骤S14:删除步骤S13中确定的至少一个目标卷积核。
本申请的发明人研究发现,如果不删除目标卷积核而是将目标卷积核中的元素置零,需要增加额外的稀疏计算算法才能实现加速,而且目标卷积层中卷积核的数据量并没有减少,使得目标卷积层输出的特征图的数量也没有减少,而是将目标卷积层输出的部分特征图置零,显然,将目标卷积核置零的方式并不会减少深度神经网络的数据量,而是将卷积核和特征图稀疏化,以这种方式进行裁剪后得到的神经网络相比于裁剪前,基本不会加速,或者,需要增加额外的稀疏计算算法才能实现加速,对终端设备的存储能力的要求仍然较高。因此,本申请实施例中,将目标卷积核做删除处理,这样既减少了卷积核的数量,又减少了卷积层输出的特征图的数量,达到减少了神经网络的数据量的同时减少了计算量的目的,从而实现网络加速。
步骤S15:对深度神经网络中目标卷积层的下一卷积层中的各个卷积核进行处理,使得下一卷积层中的各个卷积核与目标卷积层中剩余的卷积核相适配。
在神经网络中,相邻的两个卷积层中的卷积核是有一定关联关系的,因此,本申请实施例中,在对目标卷积层进行裁剪后,对目标卷积层的下一卷积层中的各个卷积核进行处理,使得下一卷积层中的各个卷积核与目标卷积层中剩余的卷积核相适配。
深度神经网络中除了卷积层之外还有其它层(即非卷积层),比如池化层,输出层等,非卷积层中参数的设置通常不受输入的特征图的限制,因而即便目标卷积层的下一层是非卷积层,也无需对非卷积层的参数进行调整,通常,非卷积层输出的特征图的数量与输入非卷积层的特征图的数量相同,因而,当输入非卷积层的特征图的数量减少时,输出非卷积层的特征图的数量也就相应减少了,而如果与非卷积层连接的下一层为卷积层,则需要对该卷积层的卷积核进行处理,使得该卷积层的卷积核与上一层的非卷积核输出的特征图相适配,也就是该卷积层的卷积核与目标卷积层中剩余的卷积核相适配。
本申请实施例提供的深度神经网络裁剪方法,将目标卷积层中稀疏度最高的卷积核作为基准卷积核,根据该基准卷积核对各个非基准卷积核的相对熵,以及各个非基准卷积核中元素的绝对值,确定至少一个目标卷积核;该目标卷积核与基准卷积核的差异,小于目标卷积层中非目标卷积核与所述基准卷积核的差异;删除该至少一个目标卷积核,并对目标卷积层的下一卷积层中的各个卷积核进行处理,使得下一卷积层中的各个卷积核与所述目标卷积层中剩余的卷积核相适配,减少了目标卷积层中卷积核的数量和输出的特征图的数量,以及目标卷积层的下一卷积层中卷积核的数据量,与现有技术中仅对深度神经网络的数据(卷积核和特征图)进行稀疏化处理而数据量不变相比,本申请方案在保证深度神经网络的处理精度的同时提升深度神经网络的加速效果,而且不需要增加额外的稀疏计算算法。本申请实施例中,对深度神经网络进行加速是指缩短从待处理数据输入深度神经网络到深度神经网络输出结果的时间。
为了进一步提高裁剪后的深度神经网络的精度,还可以通过训练的方式对裁剪后的深度神经网络的参数进行微调,基于本申请的深度神经网络裁剪方法得到的裁剪后的深度神经网络进行微调时的收敛速度快,以L1范数作为衡量稀疏度的指标时裁剪得到的深度神经网络的收敛速度高于以L2范数作为衡量稀疏度的指标时裁剪得到的深度神经网络的收敛速度。
在一可选的实施例中,获取基准卷积核对各个非基准卷积核的相对熵的一种实现流程图如图3所示,可以包括:
步骤S31:将目标卷积层中的各个卷积核中的元素进行归一化,得到归一化后的卷积核。
本申请实施例中,每个卷积核仅利用自身的元素进行归一化,即各个卷积核的归一化过程相互独立。
各个卷积核的归一化过程相同,下面以第j个卷积核的归一化过程为例说明具体的归一化过程。j=1,2,3,…,Q;Q为目标卷积层中卷积核的个数,显然,Q=N+1。
可以将第j个卷积核中第g个元素的绝对值除以第j个卷积核中所有元素的绝对值之和,得到第j个卷积核中第g个元素的的归一化结果,也就是说,第j个卷积核中所有元素的归一化结果之和为1。归一化过程用公式可以表示为:
其中,|Ijg|表示第j个卷积核中的第g个元素Ijg的绝对值;|Ijt|表示第j个卷积核中的第t个元素Ijt的绝对值;∑t(|Ijt|)表示第j个卷积核中的所有元素的绝对值求和;Pjg表示第j个卷积核中的第g个元素Ijg的归一化结果。
相对熵用来衡量两个概率分布之间的差异,本申请实施例中,将归一化后的卷积核作为输入卷积层的特征图的重要性的概率分布,以此来计算基准卷积核对非基准卷积核的相对熵。
步骤S32:分别计算归一化后的基准卷积核对每一个归一化后的非基准卷积核的相对熵。
可选的,本申请实施例中,基准卷积核K0对非基准卷积核Ki的相对熵可以通过入下公式计算得到:
其中,D(P0||Pi)表示基准卷积核K0对第i个非基准卷积核Ki的相对熵;G表示卷积核中元素的数量;P0(g)表示基准卷积核K0中第g个元素的归一化的值;Pi(g)表示第i个非基准卷积核Ki中第g个元素的归一化的值;表示以2为底,的对数。
在一可选的实施例中,根据目标卷积层中的基准卷积核对各个非基准卷积核的相对熵,以及各个非基准卷积核中元素的绝对值,确定基准卷积核与各个非基准卷积核间之间的差异的一种实现方式可以为:
对应每一个非基准卷积核,计算该非基准卷积核对应的相对熵与该非基准卷积核中的元素的绝对值的最大值的乘积;乘积结果的大小表征该非基准卷积核与基准卷积核的差异。
本申请实施例中,在计算出基准卷积核K0对第i个非基准卷积核Ki的相对熵之后,确定第i个非基准卷积核Ki中各个元素的绝对值中的最大值(为便于叙述,记为Mi),将Mi与D(P0||Pi)的乘积作为衡量基准卷积核K0与第i个非基准卷积核Ki的差异的指标。
其中,乘积结果越小,表征基准卷积核K0与第i个非基准卷积核Ki的差异越小,反之,乘积结果越大,表征基准卷积核K0与第i个非基准卷积核Ki的差异越大。
本申请的发明人研究发现,基准卷积核K0对第i个非基准卷积核Ki的相对熵可能为0,当基准卷积核K0对多个非基准卷积核的相对熵均为0时,上述衡量基准卷积核与非基准卷积核的差异的指标也会出现多个0值,这样将无法选出目标卷积核,为了克服该问题,本申请实施例提供的根据目标卷积层中的基准卷积核对各个非基准卷积核的相对熵,以及各个非基准卷积核中元素的绝对值,确定基准卷积核与各个非基准卷积核间之间的差异的另一种实现方式可以为:
对应每一个非基准卷积核,获得该非基准卷积核对应的相对熵与目标偏置系数的和值。
计算该非基准卷积核对应的和值与该非基准卷积核中的元素的绝对值的最大值的乘积;乘积结果的大小表征该非基准卷积核与所述基准卷积核的差异。
本申请实施例中,将Mi与(D(P0||Pi)+ε)的乘积作为衡量基准卷积核K0与第i个非基准卷积核Ki的差异的指标。ε表示目标偏置系数,可选的ε=0.0001。
其中,乘积结果越小,表征基准卷积核K0与第i个非基准卷积核Ki的差异越小,反之,乘积结果越大,表征基准卷积核K0与第i个非基准卷积核Ki的差异越大。
在一可选的实施例中,上述对深度神经网络中目标卷积层的下一卷积层中的各个卷积核进行处理的一种实现流程图如图4所示,可以包括:
步骤S41:在下一卷积层中的各个卷积核中分别确定目标通道,该目标通道为与上述至少一个目标卷积核对应的通道。
目标卷积层的下一卷积层是指深度神经网络中与目标卷积层相邻的下一个卷积层。如图2所示,第一卷积层的下一卷积层为第二卷积层,第二卷积层的下一卷积层为第三卷积层。
在深度神经网络中,每个卷积层输出的特征图的数量是与该卷积层中的卷积核的数量相同的,即每个卷积核对应输出一个特征图。而每个卷积层中卷积核的通道数通常是与输入该卷积层的特征图的数量相同的,且每个通道对应一个输入的特征图。因而,目标卷积层的下一卷积层中每个卷积核的通道数是与目标卷积层输出的特征图的数量相同的,也就是与目标卷积层中卷积核的数量相同。在将目标卷积层中的至少一个目标卷积层删除后,目标卷积层输出的特征图的数量也就相应减少了,因而,需要对目标卷积层的下一卷积层中卷积核的通道进行相应的裁剪。
步骤S42:删除下一卷积层中的各个卷积核中的目标通道,使得下一卷积层中的各个卷积核的通道数均与目标卷积层中剩余的卷积核的数量相同。
比如,假设目标卷积层中本来有3个卷积核,分别为卷积核1,卷积核2,卷积核3,则目标卷积层会输出3个征图,其中,卷积核1对应生成特征图1,卷积核2对应生成特征图2,卷积核3对应生成特征图3,相应的,目标卷积层的下一卷积层中每个卷积核都是3通道卷积核,每个通道对应一个特征图,其中,通道1对应特征图1,通道2对应特征图2,通道3对应特征图3。那么,假设将目标卷积层中的卷积核3作为目标卷积核删除了,只剩下卷积核1和卷积核2,则目标卷积层输出的特征图就会变为2个,即特征图1和特征图2,则需要将目标卷积层的下一卷积层中各个卷积核的通道都裁剪为两个通道,即,将目标卷积层的下一卷积层中各个卷积核的通道3删除,只剩下通道1和通道2。
在一可选的实施例中,在对深度神经网络中目标卷积层的下一卷积层中的各个卷积核进行处理之后,还可以包括:
判断待裁剪的至少一个卷积层是否均裁剪完成。
一个卷积层裁剪完成是指该卷积层中需要裁剪的一定数量的卷积核已被删除。比如,目标卷积层中一共有Q个卷积核,需要裁剪L个卷积核,则当目标卷积核中剩余Q-L个卷积核时,说明目标卷积核裁剪完成。
若判断结果为否,在待裁剪的至少一个卷积层中确定与目标卷积层的层级最接近的一个未裁剪的卷积层作为目标卷积层,并返回执行根据目标卷积层中的基准卷积核对各个非基准卷积核的相对熵,以及各个非基准卷积核中元素的绝对值,确定基准卷积核与各个非基准卷积核之间的差异的步骤及后续步骤。
其中,若目标卷积层的下一个卷积层属于待裁剪的卷积层,则目标卷积层的下一个卷积层是与目标卷积层的层级最接近的未裁剪的卷积层,因而,将目标卷积层的下一个卷积层作为新的目标卷积层,并基于该新的目标卷积层返回执行根据目标卷积层中的基准卷积核对各个非基准卷积核的相对熵,以及各个非基准卷积核中元素的绝对值,确定基准卷积核与各个非基准卷积核之间的差异的步骤及后续步骤,此时,新的目标卷积核中的卷积核为处理后的卷积核,即与前一目标卷积层中剩余的卷积核相适配的卷积核,具体为删除目标通道后的卷积核。
卷积层的层级是指卷积层在深度神经网络中位于哪一层,以图2为例,假设第一卷积层为第r层,则第一池化层为第r+1层,第二卷积层为第r+2层,第二池化层为第r+3层,第三卷积层为第r+4层。
如果第一卷积层,第二卷积层和第三卷积层均为待裁剪的卷积层,则首先将第一卷积层作为目标卷积层,对于第一卷积层来说,第二卷积层是与第一卷积层的层级最接近的未裁剪的卷积层,则在对第一卷积层裁剪完成后,对第二卷积层中的卷积核的通道进行裁剪并将第二卷积层作为目标卷积层,对于第二卷积层来说,第三卷积层为与第一卷积层的层级最接近的未裁剪的卷积层,在对第二卷积层裁剪完成后,对第三卷积层中的卷积核的通道进行裁剪并将第三卷积层作为目标卷积层,依此类推。
而如果只有第一卷积层和第三卷积层为待裁剪的卷积层,则首先将第一卷积层作为目标卷积层,对于第一卷积层来说,第三卷积层是与第一卷积层的层级最接近的未裁剪的卷积层,则在对第一卷积层裁剪完成后,对第二卷积层中的卷积核的通道进行裁剪,将第三卷积层作为目标卷积层,而不是将第二卷积层作为目标卷积层。
在一可选的实施例中,上述深度神经网络可以是训练完成的深度神经网络。
在一可选的实施例中,上述深度神经网络是还未训练完成的深度神经网络,比如,可以是训练过程中参数更新次数达到阈值的深度神经网络。
深度神经网络训练过程就是深度神经网络的参数(比如,卷积核)更新的过程,在训练过程中,深度神经网络根据输入的样本输出预测结果,然后根据预测结果与样本标签的差异对深度神经网络的参数进行更新。需要说明的是,卷积核是卷积层的主要参数,除了卷积核深度神经网络中还有其它需要更新的参数,因与本申请实施例无关,所以这里不再详述。
本申请实施例中,并不是深度神经网络每次更新后都进行裁剪,而是当深度神经网络的参数更新次数达到阈值后才进行裁剪。当然,更新次数的阈值可以设置多个,即深度神经网络的参数更新次数每达到一个阈值,对深度神经网络裁剪一次,并基于裁剪的后的深度神经网络继续进行训练,直至达到训练结束条件。
下面结合具体实例对本申请的方案进行举例说明。
如图5所示,为本申请实施例提供的目标卷积层中卷积核,以及目标卷积层的输入特征图和输出特征图的对应关系示例图。该示例中,假设输入目标卷积层的特征图只有1个,目标卷积层中有四个卷积核(为便于叙述,分别记为C1,C2,C3,C4),则这四个卷积核均为单通道卷积核,假设这四个卷积核分别为3×3大小的卷积核,即每个卷积核由9个元素构成,各个卷积核中的参数如表1所示。
表1
计算各个卷积核的L1范数如表2所示。
表2
||C1||<sub>L1</sub> | ||C2||<sub>L1</sub> | ||C3||<sub>L1</sub> | ||C4||<sub>L1</sub> |
6.30491774 | 10.35737661 | 31.75889717 | 31.07212984 |
显然,卷积核C1的L1范数最小,即卷积核C1的稀疏度最高,将卷积核C1作为基准卷积核。
如果仅需要删除一个卷积核,则直接将卷积核C1删除即可,无需执行归一化及后续步骤。如果需要删除2个卷积核,则需要执行归一化及后续步骤。
对各个卷积核进行归一化,归一化结果如表3所示:
表3
其中,P1表示卷积核C1的归一化结果,P2表示卷积核C2的归一化结果,P3表示卷积核C3的归一化结果,P4表示卷积核C4的归一化结果。
根据表3的归一化结果计算P1相对于P2的相对熵(记为D12),P1相对于P3的相对熵(记为D13),P1相对于P4的相对熵(记为D14),计算结果如表4所示。
表4
D<sub>12</sub> | D<sub>13</sub> | D<sub>14</sub> |
0.00830894136874359 | 0.671672608274762 | 0.00830894136874359 |
根据目标偏置系数ε=0.0001,计算卷积核C1与卷积核C2的差异(记为B12),卷积核C1与卷积核C3的差异(记为B13),卷积核C1与卷积核C4的差异(记为B14),
其中,B12=(D12+ε)×2.76253328=0.0232299803807;
B13=(D13+ε)×6.93347036=4.65771546813;
B14=(D14+ε)×8.28759983=0.0696899410581;
由于卷积核C1与卷积核C4的差异B14最小,因而将卷积核C1和卷积核C4作为目标卷积核,删除卷积核C1和卷积核C4,仅保留卷积核C2和卷积核C3。
由于目标卷积层裁剪前的输出为4个特征图,则在深度神经网络中,目标卷积层的下一卷积层中卷积核的通道数为4,假设下一卷积层中的卷积核的大小仍为3×3,则目标卷积层的下一卷积层中卷积核为3×3×4的卷积核,在将目标卷积层中的卷积核1和卷积核C4删除后,相应的,将目标卷积层的下一卷积层中每个卷积核中与目标卷积层中的卷积核1和卷积核C4对应的通道删除,仅保留两个通道,则目标卷积层的下一卷积层中的每个卷积核均变为3×3×2的卷积核。
在另一示例中,如果输入目标卷积层的特征图为多个,则目标卷积层中各个卷积核均为多通道卷积核,以输入目标卷积层的特征图为2个为例,则目标卷积层中各个卷积核均为2通道卷积核,每个通道对应一个特征图,此时,目标卷积层中的4个卷积核均为3×3×2的卷积核,即每个卷积核由18个元素构成。如图6所示,为本申请实施例提供的目标卷积层中卷积核,以及目标卷积层的输入特征图和输出特征图的另一种应关系示例图。该示例中,输入特征图为2个,假设每个卷积核的两个通道分别为通道1和通道2,则每个卷积核的通道1均对应特征图in1,每个卷积核的通道2均对应特征图in2。输入特征图有多个时,与输入特征图只有1个相比,只是卷积核中元素的数量增加了,具体裁剪方式不变,具体裁剪过程可以参看前述示例,这里不再赘述具体的裁剪过程。
与方法实施例相对应,本申请实施例还提供一种深度神经网络裁剪装置,本申请实施例提供的深度神经网络裁剪装置的一种结构示意图如图7所示,可以包括:
第一确定模块71,第二确定模块72,第三确定模块73,裁剪模块74和适配模块75;其中,
第一确定模块71用于在深度神经网络的待裁剪的至少一个卷积层中确定目标卷积层;
第二确定模块72用于根据所述目标卷积层中的基准卷积核对各个非基准卷积核的相对熵,以及各个非基准卷积核中元素的绝对值,确定所述基准卷积核与各个非基准卷积核之间的差异;所述基准卷积核为所述目标卷积层中稀疏度最高的卷积核;
第三确定模块73用于基于所述基准卷积核与各个非基准卷积核间之间的差异,确定至少一个目标卷积核;所述目标卷积核与所述基准卷积核的差异,小于所述目标卷积层中非目标卷积核与所述基准卷积核的差异;
裁剪模块74用于删除所述至少一个目标卷积核;
适配模块75用于对所述深度神经网络中所述目标卷积层的下一卷积层中的各个卷积核进行处理,使得所述下一卷积层中的各个卷积核与所述目标卷积层中剩余的卷积核相适配。
本申请实施例提供的深度神经网络裁剪装置,将目标卷积层中稀疏度最高的卷积核作为基准卷积核,根据该基准卷积核对各个非基准卷积核的相对熵,以及各个非基准卷积核中元素的绝对值,确定至少一个目标卷积核;该目标卷积核与基准卷积核的差异,小于目标卷积层中非目标卷积核与所述基准卷积核的差异;删除该至少一个目标卷积核,并对目标卷积层的下一卷积层中的各个卷积核进行处理,使得下一卷积层中的各个卷积核与所述目标卷积层中剩余的卷积核相适配,减少了目标卷积层中卷积核的数量和输出的特征图的数量,以及目标卷积层的下一卷积层中卷积核的数据量,与现有技术中仅对深度神经网络的数据(卷积核和特征图)进行稀疏化处理而数据量不变相比,本申请方案在保证网络模型的处理精度的同时提升网络模型的加速效果,而且不需要增加额外的稀疏计算算法。
在一可选的实施例中,第二确定模块72还可以用于获得目标卷积层中的基准卷积核对各个非基准卷积核的相对熵,具体包括:将所述目标卷积层中的各个卷积核中的元素进行归一化,得到归一化后的卷积核;分别计算归一化后的基准卷积核对每一个归一化后的非基准卷积核的相对熵。
在一可选的实施例中,第二确定模块72在根据所述目标卷积层中的基准卷积核对各个非基准卷积核的相对熵,以及各个非基准卷积核中元素的绝对值,确定所述基准卷积核与各个非基准卷积核间之间的差异时,具体用于:
对应每一个非基准卷积核,计算该非基准卷积核对应的相对熵与该非基准卷积核中的元素的绝对值的最大值的乘积;乘积结果的大小表征该非基准卷积核与所述基准卷积核的差异。
在一可选的实施例中,第二确定模块72在根据所述目标卷积层中的基准卷积核对各个非基准卷积核的相对熵,以及各个非基准卷积核中元素的绝对值,确定所述基准卷积核与各个非基准卷积核间之间的差异时,具体用于:
对应每一个非基准卷积核,获得该非基准卷积核对应的相对熵与目标偏置系数的和值;
计算该非基准卷积核对应的和值与该非基准卷积核中的元素的绝对值的最大值的乘积;乘积结果的大小表征该非基准卷积核与所述基准卷积核的差异。
在一可选的实施例中,所述目标卷积层中的稀疏度最高的卷积核,包括:
所述目标卷积层中L1范数最小的卷积核。
在一可选的实施例中,适配模块75具体可以用于:
在所述下一卷积层中的各个卷积核中分别确定目标通道,所述目标通道为与所述至少一个目标卷积核对应的通道;
删除所述下一卷积层中的各个卷积核中的目标通道,使得所述下一卷积层中的各个卷积核的通道数均与所述目标卷积层中剩余的卷积核的数量相同。
在一可选的实施例中,所述深度神经网络装置还可以包括:
判断模块,用于判断所述待裁剪的至少一个卷积层是否均裁剪完成;
若判断结果为否,触发所述第一确定模块71在所述待裁剪的至少一个卷积层中确定与所述目标卷积层的层级最接近的一个未裁剪的卷积层作为目标卷积层,以对未裁剪的卷积层进行裁剪。
在一可选的实施例中,所述深度神经网络为训练过程中参数更新次数达到阈值的深度神经网络,或者,所述深度神经网络为训练完成的深度神经网络。
与方法实施例相对应,本申请实施例还提供一种电子设备,该电子设备的硬件结构框图的示例图如图8所示,可以包括:
处理器1,通信接口2,存储器3和通信总线4;
其中处理器1、通信接口2、存储器3通过通信总线4完成相互间的通信;
可选的,通信接口2可以为通信模块的接口,如GSM模块的接口,WIFI模块的即可等;
处理器1可能是一个中央处理器CPU,或者是特定集成电路ASIC(ApplicationSpecific Integrated Circuit),或者是被配置成实施本申请实施例的一个或多个集成电路。
存储器3用于存储至少一组指令集,可能包含高速RAM存储器,也可能还包括非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。
其中,处理器1具体用于调用并执行所述存储器3中的所述指令集,通过执行所述指令集进行以下操作:
在深度神经网络的待裁剪的至少一个卷积层中确定目标卷积层;
根据所述目标卷积层中的基准卷积核对各个非基准卷积核的相对熵,以及各个非基准卷积核中元素的绝对值,确定所述基准卷积核与各个非基准卷积核之间的差异;所述基准卷积核为所述目标卷积层中稀疏度最高的卷积核;
基于所述基准卷积核与各个非基准卷积核间之间的差异,确定至少一个目标卷积核;所述目标卷积核与所述基准卷积核的差异,小于所述目标卷积层中非目标卷积核与所述基准卷积核的差异;
删除所述至少一个目标卷积核;
对所述深度神经网络中所述目标卷积层的下一卷积层中的各个卷积核进行处理,使得所述下一卷积层中的各个卷积核与所述目标卷积层中剩余的卷积核相适配。
所述指令集的细化功能和扩展功能可以参照上文描述,这里不在赘述。
需要说明的是,在机器学习领域中,通过机器学习的手段构建用于进行信息预测的深度神经网络属于利用自然规律的技术方案。对于现有技术中深度神经网络数据存储规模和运算规模较大,导致其部署环境受限,而现有技术中的网络裁剪方法又无法实现对网络加速的技术问题,本申请采取的技术手段是:利用卷积核的稀疏度,以及卷积核之间的差异选择出重要性较低的卷积核并删除,从而达到减少深度神经网络的数据量和运算量,对深度神经网络加速的技术效果,因而本申请公开的方案属于符合专利法第2条第2款规定的保护客体。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
应当理解,本申请实施例中,从权、各个实施例、特征可以互相组合结合,都能实现解决前述技术问题。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本申请。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本申请的精神或范围的情况下,在其它实施例中实现。因此,本申请将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
Claims (10)
1.一种深度神经网络裁剪方法,包括:
在深度神经网络的待裁剪的至少一个卷积层中确定目标卷积层;
根据所述目标卷积层中的基准卷积核对各个非基准卷积核的相对熵,以及各个非基准卷积核中元素的绝对值,确定所述基准卷积核与各个非基准卷积核之间的差异;所述基准卷积核为所述目标卷积层中稀疏度最高的卷积核;
基于所述基准卷积核与各个非基准卷积核间之间的差异,确定至少一个目标卷积核;所述目标卷积核与所述基准卷积核的差异,小于所述目标卷积层中非目标卷积核与所述基准卷积核的差异;
删除所述至少一个目标卷积核;
对所述深度神经网络中所述目标卷积层的下一卷积层中的各个卷积核进行处理,使得所述下一卷积层中的各个卷积核与所述目标卷积层中剩余的卷积核相适配。
2.根据权利要求1所述的方法,所述目标卷积层中的基准卷积核对各个非基准卷积核的相对熵通过如下方式获得:
将所述目标卷积层中的各个卷积核中的元素进行归一化,得到归一化后的卷积核;
分别计算归一化后的基准卷积核对每一个归一化后的非基准卷积核的相对熵。
3.根据权利要求1所述的方法,所述根据所述目标卷积层中的基准卷积核对各个非基准卷积核的相对熵,以及各个非基准卷积核中元素的绝对值,确定所述基准卷积核与各个非基准卷积核间之间的差异,包括:
对应每一个非基准卷积核,计算该非基准卷积核对应的相对熵与该非基准卷积核中的元素的绝对值的最大值的乘积;乘积结果的大小表征该非基准卷积核与所述基准卷积核的差异。
4.根据权利要求1所述的方法,所述根据所述目标卷积层中的基准卷积核对各个非基准卷积核的相对熵,以及各个非基准卷积核中元素的绝对值,确定所述基准卷积核与各个非基准卷积核间之间的差异,包括:
对应每一个非基准卷积核,获得该非基准卷积核对应的相对熵与目标偏置系数的和值;
计算该非基准卷积核对应的和值与该非基准卷积核中的元素的绝对值的最大值的乘积;乘积结果的大小表征该非基准卷积核与所述基准卷积核的差异。
5.根据权利要求1所述的方法,所述目标卷积层中的稀疏度最高的卷积核,包括:
所述目标卷积层中L1范数最小的卷积核。
6.根据权利要求1所述的方法,所述对所述深度神经网络中所述目标卷积层的下一卷积层中的各个卷积核进行处理,包括:
在所述下一卷积层中的各个卷积核中分别确定目标通道,所述目标通道为与所述至少一个目标卷积核对应的通道;
删除所述下一卷积层中的各个卷积核中的目标通道,使得所述下一卷积层中的各个卷积核的通道数均与所述目标卷积层中剩余的卷积核的数量相同。
7.根据权利要求1所述的方法,还包括:
判断所述待裁剪的至少一个卷积层是否均裁剪完成;
若判断结果为否,在所述待裁剪的至少一个卷积层中确定与所述目标卷积层的层级最接近的一个未裁剪的卷积层作为目标卷积层,并返回执行所述根据所述目标卷积层中的基准卷积核对各个非基准卷积核的相对熵,以及各个非基准卷积核中元素的绝对值,确定所述基准卷积核与各个非基准卷积核之间的差异的步骤。
8.根据权利要求1所述的方法,所述深度神经网络为训练过程中参数更新次数达到阈值的深度神经网络,或者,所述深度神经网络为训练完成的深度神经网络。
9.一种深度神经网络裁剪装置,包括:
第一确定模块,用于在深度神经网络的待裁剪的至少一个卷积层中确定目标卷积层;
第二确定模块,用于根据所述目标卷积层中的基准卷积核对各个非基准卷积核的相对熵,以及各个非基准卷积核中元素的绝对值,确定所述基准卷积核与各个非基准卷积核之间的差异;所述基准卷积核为所述目标卷积层中稀疏度最高的卷积核;
第三确定模块,用于基于所述基准卷积核与各个非基准卷积核间之间的差异,确定至少一个目标卷积核;所述目标卷积核与所述基准卷积核的差异,小于所述目标卷积层中非目标卷积核与所述基准卷积核的差异;
裁剪模块,用于删除所述至少一个目标卷积核;
适配模块,用于对所述深度神经网络中所述目标卷积层的下一卷积层中的各个卷积核进行处理,使得所述下一卷积层中的各个卷积核与所述目标卷积层中剩余的卷积核相适配。
10.一种电子设备,包括:
存储器,用于至少存储一组指令集;
处理器,用于调用并执行所述存储器中的所述指令集,通过执行所述指令集进行以下操作:
在深度神经网络的待裁剪的至少一个卷积层中确定目标卷积层;
根据所述目标卷积层中的基准卷积核对各个非基准卷积核的相对熵,以及各个非基准卷积核中元素的绝对值,确定所述基准卷积核与各个非基准卷积核之间的差异;所述基准卷积核为所述目标卷积层中稀疏度最高的卷积核;
基于所述基准卷积核与各个非基准卷积核间之间的差异,确定至少一个目标卷积核;所述目标卷积核与所述基准卷积核的差异,小于所述目标卷积层中非目标卷积核与所述基准卷积核的差异;
删除所述至少一个目标卷积核;
对所述深度神经网络中所述目标卷积层的下一卷积层中的各个卷积核进行处理,使得所述下一卷积层中的各个卷积核与所述目标卷积层中剩余的卷积核相适配。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911280967.9A CN111047039A (zh) | 2019-12-09 | 2019-12-09 | 深度神经网络裁剪方法、装置及电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911280967.9A CN111047039A (zh) | 2019-12-09 | 2019-12-09 | 深度神经网络裁剪方法、装置及电子设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111047039A true CN111047039A (zh) | 2020-04-21 |
Family
ID=70236126
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911280967.9A Pending CN111047039A (zh) | 2019-12-09 | 2019-12-09 | 深度神经网络裁剪方法、装置及电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111047039A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113935485A (zh) * | 2021-12-15 | 2022-01-14 | 江苏游隼微电子有限公司 | 一种基于相邻层权重的卷积神经网络裁剪方法 |
-
2019
- 2019-12-09 CN CN201911280967.9A patent/CN111047039A/zh active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113935485A (zh) * | 2021-12-15 | 2022-01-14 | 江苏游隼微电子有限公司 | 一种基于相邻层权重的卷积神经网络裁剪方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109840589B (zh) | 一种在fpga上运行卷积神经网络的方法和装置 | |
CN110969250B (zh) | 一种神经网络训练方法及装置 | |
CN113408634B (zh) | 模型推荐方法及装置、设备、计算机存储介质 | |
CN111079780B (zh) | 空间图卷积网络的训练方法、电子设备及存储介质 | |
CN112163637B (zh) | 基于非平衡数据的图像分类模型训练方法、装置 | |
CN109829478B (zh) | 一种基于变分自编码器的问题分类方法和装置 | |
JP6950756B2 (ja) | ニューラルネットワークのランク最適化装置および最適化方法 | |
CN110969172A (zh) | 一种文本的分类方法以及相关设备 | |
CN107247873A (zh) | 一种差异甲基化位点识别方法 | |
CN111260056B (zh) | 一种网络模型蒸馏方法及装置 | |
CN110598123B (zh) | 基于画像相似性的信息检索推荐方法、装置及存储介质 | |
US8712936B2 (en) | Information processing apparatus, information processing method, and program | |
CN111047039A (zh) | 深度神经网络裁剪方法、装置及电子设备 | |
CN114708264A (zh) | 一种光斑质量判别方法、装置、设备和存储介质 | |
CN116468102A (zh) | 刀具图像分类模型剪枝方法、装置、计算机设备 | |
CN111259189A (zh) | 一种音乐分类方法及装置 | |
CN107203916B (zh) | 一种用户信用模型建立方法及装置 | |
CN111967616A (zh) | 自动时间序列回归方法和装置 | |
CN116229180A (zh) | 一种基于对称kld的处理多类型标签噪声的自适应动态阈值方法、系统、设备及介质 | |
CN110705889A (zh) | 一种企业筛选方法、装置、设备及存储介质 | |
CN115148292A (zh) | 基于人工智能的dna模体预测方法、装置、设备及介质 | |
CN112800752B (zh) | 纠错方法、装置、设备以及存储介质 | |
CN111563134B (zh) | 定位系统的指纹数据库聚类方法、系统、设备和存储介质 | |
CN114118411A (zh) | 图像识别网络的训练方法、图像识别方法及装置 | |
EP4007173A1 (en) | Data storage method, and data acquisition method and apparatus therefor |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |