CN113705775A - 一种神经网络的剪枝方法、装置、设备及存储介质 - Google Patents
一种神经网络的剪枝方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN113705775A CN113705775A CN202110866324.3A CN202110866324A CN113705775A CN 113705775 A CN113705775 A CN 113705775A CN 202110866324 A CN202110866324 A CN 202110866324A CN 113705775 A CN113705775 A CN 113705775A
- Authority
- CN
- China
- Prior art keywords
- layer
- channel
- pruning
- module
- input channel
- 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.)
- Granted
Links
- 238000013138 pruning Methods 0.000 title claims abstract description 190
- 238000000034 method Methods 0.000 title claims abstract description 99
- 238000013528 artificial neural network Methods 0.000 title claims abstract description 66
- 238000005070 sampling Methods 0.000 claims abstract description 85
- 238000007906 compression Methods 0.000 claims abstract description 55
- 230000006835 compression Effects 0.000 claims abstract description 53
- 238000012216 screening Methods 0.000 claims description 53
- 230000006870 function Effects 0.000 claims description 20
- 238000010586 diagram Methods 0.000 claims description 15
- 238000005457 optimization Methods 0.000 claims description 12
- 238000004590 computer program Methods 0.000 claims description 11
- 230000009286 beneficial effect Effects 0.000 abstract description 6
- 238000003062 neural network model Methods 0.000 abstract description 6
- 238000012545 processing Methods 0.000 abstract description 6
- 238000004364 calculation method Methods 0.000 abstract description 5
- 235000019580 granularity Nutrition 0.000 abstract description 4
- 230000008569 process Effects 0.000 description 19
- 244000141353 Prunus domestica Species 0.000 description 14
- 238000004422 calculation algorithm Methods 0.000 description 9
- 210000002569 neuron Anatomy 0.000 description 7
- 230000001133 acceleration Effects 0.000 description 4
- 238000010276 construction Methods 0.000 description 4
- 238000013527 convolutional neural network Methods 0.000 description 4
- 102100035474 DNA polymerase kappa Human genes 0.000 description 3
- 101710108091 DNA polymerase kappa Proteins 0.000 description 3
- 238000013473 artificial intelligence Methods 0.000 description 3
- HBGGXOJOCNVPFY-UHFFFAOYSA-N diisononyl phthalate Chemical compound CC(C)CCCCCCOC(=O)C1=CC=CC=C1C(=O)OCCCCCCC(C)C HBGGXOJOCNVPFY-UHFFFAOYSA-N 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 208000037170 Delayed Emergence from Anesthesia Diseases 0.000 description 2
- 238000013135 deep learning Methods 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 239000004973 liquid crystal related substance Substances 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000004913 activation Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000009795 derivation Methods 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000011156 evaluation Methods 0.000 description 1
- 230000007774 longterm Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000001537 neural effect Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 230000000717 retained effect Effects 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
- 238000012549 training Methods 0.000 description 1
- 238000004804 winding Methods 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/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
-
- 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
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
技术领域
本发明涉及深度神经网络压缩与加速技术领域,更具体地说,涉及一种神经网络的剪枝方法、装置、设备及存储介质。
背景技术
随着神经网络在深度和宽度的增加,其在各种AI(Artificial Intelligence,人工智能)应用场景展现了卓越的性能,例如图像识别和目标检测等机器视觉任务。面对基于深度学习的机器视觉软件在各种嵌入式设备或移动设备的发展趋势,拥有巨大参数量的深度神经网络在计算和存储资源有限的设备中难以得到部署。深度神经网络压缩与加速技术为深度学习在这些资源受限设备中得到长期实时应用提供了解决途径。深度神经网络压缩技术通过减少神经网络模型的参数量、计算量,达到减少神经网络模型的存储开销、提高推理速度的目的。
目前,卷积神经网络演化出了多样化的多分支结构,但是针对多分支结构的剪枝方案都只对瓶颈结构的中间层进行输入和输出通道的裁剪,对于整个多分支结构的输入和输出通道未作压缩处理,而多分支结构的瓶颈结构的中间层的通道数本来就小于整个模块的输入和输出通道数,因此,只压缩多分支结构的中间层不利于提高多分支结构的压缩比。
发明内容
本发明的目的在于提供一种神经网络的剪枝方法、装置、设备及存储介质,以提高神经网络的压缩比,减少神经网络模型执行任务所需要的计算量,加快神经网络的任务处理速度。
为实现上述目的,本发明提供一种神经网络的剪枝方法,包括:
确定神经网络中待剪枝的目标网络层;
利用所述目标网络层的通道压缩比及每个原输入通道的卷积核权值确定所述目标网络层的通道核集;其中,所述通道核集内记载了保留输入通道;
根据所述通道核集对所述目标网络层的原输入通道进行剪枝,并重构所述目标网络层的卷积核。
其中,所述利用所述目标网络层的通道压缩比及每个原输入通道的卷积核权值确定所述目标网络层的通道核集,包括:
根据所述目标网络层的原输入通道的第一数量及所述通道压缩比,确定所述目标网络层的保留输入通道的第二数量;
利用所述第一数量、所述第二数量以及每个原输入通道的卷积核权值的Frobenius范数,确定每个原输入通道的重要性值;
根据每个原输入通道的重要性值确定每个原输入通道的采样概率;
利用每个原输入通道的采样概率对每个原输入通道进行R轮独立采样,并根据采样结果生成与所述目标网络层对应的通道核集。
其中,所述利用所述第一数量、所述第二数量以及每个原输入通道的卷积核权值的Frobenius范数,确定每个原输入通道的重要性值,包括:
利用所述第一数量及所述第二数量确定所述第一数量个加权系数;
根据每个原输入通道的卷积核权值确定每个原输入通道的Frobenius范数值,并根据每个原输入通道的Frobenius范数值向每个原输入通道分配对应的加权系数;其中,Frobenius范数值越大的原输入通道分配的加权系数越大;
根据每个原输入通道的加权系数及每个原输入通道的初始重要性函数,确定每个原输入通道的重要性值。
其中,所述重构所述目标网络层的卷积核,包括:
利用所述通道核集创建优化函数;所述优化函数为:
其中,Yk是原卷积核在输出通道k的输出特征图,K是所述目标网络层的卷积核输出通道总数,代表分别计算卷积核的K个输出通道的特征图重构误差并求和,代表Frobenius范数,Wik代表卷积核在输入通道i和输出通道k的权值,为在通道核集中每个保留输入通道的输入数据xi经卷积核输出通道k的输出特征图之和,*代表卷积操作;
最小化所述优化函数,对所述目标网络层的卷积核的权值进行更新。
为实现上述目的,本发明进一步提供一种基于ResNet下采样模块的剪枝方法,包括上述方案中的的剪枝方法;其中,所述确定神经网络中待剪枝的目标网络层包括:
将所述下采样模块中残差支路的中间层及输出层依次作为所述目标网络层,以对中间层及输出层的原输入通道进行剪枝,并重构中间层及输出层的卷积核;
相应的,所述剪枝方法还包括:
利用所述下采样模块的输入层的通道压缩比,对所述输入层的原输入通道进行随机采样,获得第一输入通道筛选结果;
利用所述第一输入通道筛选结果对所述下采样模块的输入层及下采样层的原输入通道进行剪枝,并将所述下采样模块的输入层及下采样层分别作为目标网络层进行卷积核重构。
为实现上述目的,本发明进一步提供一种基于ResNe残差模块的剪枝方法,包括上述方案中的的剪枝方法;其中,所述ResNet中包括堆叠的N个残差模块,所述确定神经网络中待剪枝的目标网络层包括:
将N个残差模块中的每个残差模块的中间层及输出层依次作为所述目标网络层,以对中间层及输出层的原输入通道进行剪枝,并重构中间层及输出层的卷积核;
相应的,所述对中间层及输出层的原输入通道进行剪枝,并重构中间层及输出层的卷积核之后,所述剪枝方法还包括:
利用残差模块的输入层的通道压缩比,对残差模块的输入层的原输入通道进行随机采样,获得第二输入通道筛选结果;
针对所述N个残差模块中的每个残差模块,均利用所述第二输入通道筛选结果对每个残差模块的输入层的原输入通道进行剪枝,并将所述残差模块的输入层作为目标网络层进行卷积核重构;利用所述第二输入通道筛选结果对所述残差模块的输出层的原输出通道进行剪枝,并将所述残差模块的输出层作为目标网络层进行卷积核重构。
为实现上述目的,本发明进一步提供一种基于SqueezeNet的剪枝方法,包括上述方案中的的剪枝方法;其中,若对所述SqueezeNet的目标Fire模块进行剪枝,则所述确定神经网络中待剪枝的目标网络层包括:
将所述目标Fire模块的下一Fire模块的Squeeze层作为所述目标网络层,以利用下一Fire模块的Squeeze层的原输入通道进行剪枝,并重构下一Fire模块的Squeeze层的卷积核;
相应的,所述剪枝方法还包括:
根据所述下一Fire模块的Squeeze层的通道核集,对所述目标Fire模块的Expand层中不同尺寸的卷积核的原输出通道进行剪枝;
利用所述目标Fire模块的Expand层的通道压缩比,对所述目标Fire模块的Expand层的原输入通道进行随机采样,获得第三输入通道筛选结果;
利用所述第三输入通道筛选结果对所述目标Fire模块的Expand层中不同尺寸的卷积核的原输入通道进行剪枝,并将所述目标Fire模块的Expand层作为目标网络层,对Expand层中不同尺寸的卷积核进行重构。
为实现上述目的,本发明进一步提供一种神经网络的剪枝装置,包括:
网络层确定模块,用于确定神经网络中待剪枝的目标网络层;
通道核集确定模块,用于利用所述目标网络层的通道压缩比及每个原输入通道的卷积核权值确定所述目标网络层的通道核集;其中,所述通道核集内记载了保留输入通道;
通道剪枝模块,用于根据所述通道核集对所述目标网络层的原输入通道进行剪枝;
卷积核重构模块,用于重构所述目标网络层的卷积核。
为实现上述目的,本发明进一步提供一种电子设备,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现上述剪枝方法的步骤。
为实现上述目的,本发明进一步提供一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现上述剪枝方法的步骤。
通过以上方案可知,本发明实施例提供的一种神经网络的剪枝方法,包括:确定神经网络中待剪枝的目标网络层;利用目标网络层的通道压缩比及每个原输入通道的卷积核权值确定目标网络层的通道核集;其中,通道核集内记载了保留输入通道;根据通道核集对目标网络层的原输入通道进行剪枝,并重构目标网络层的卷积核。
可见,本方案在对神经网络进行剪枝时,可将待剪枝网络层作为目标网络层进行通道剪枝及卷积核重构,因此,本方案对多分支结构进行压缩时,并不仅仅局限于中间层,还可对输入层、输出层、下采样层等等网络层进行压缩,大大提升了神经网络的压缩比,减少神经网络模型执行任务所需要的计算量,加快神经网络的任务处理速度;并且,本方案是一种数据无关的剪枝方法,有利于保持压缩后神经网络的鲁棒性,本方案还是一种异步通道的剪枝方法,能够在神经网络的不同网络层实现不同稀疏粒度的剪枝,提高压缩的灵活性;本发明还公开了一种神经网络的剪枝装置、设备及存储介质,同样能实现上述技术效果。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例公开的一种神经网络的剪枝方法流程示意图;
图2为本发明实施例公开的下采样模块结构示意图;
图3为本发明实施例公开的下采样模块剪枝整体流程示意图;
图4为本发明实施例公开的残差模块结构示意图;
图5为本发明实施例公开的残差模块剪枝整体流程示意图;
图6为本发明实施例公开的Fire模块结构示意图;
图7为本发明实施例公开的Fire模块剪枝整体流程示意图;
图8为本发明实施例公开的一种神经网络的剪枝装置结构示意图;
图9为本发明实施例公开的一种电子设备结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明提出了一种基于核集理论的卷积神经网络异步剪枝方法,能够在神经网络的前向推理过程中逐层采用基于核集理论的筛选准则来裁剪通道,并通过优化特征图重构误差直接获取压缩后卷积核的新权值,针对ResNet残差模块等多分支结构设计了异步的压缩流程,分别先后实现对残差模块以及其他模块的中间层以及输入输出层的通道剪枝。需要说明的是,本实施例所述的核集理论具体是指离线流式核集构建算法(offline andstreaming corset constructions,OSCC),OSCC提供了核集构建过程中各种公式推导和证明的支撑,本方案在OSCC的基础上进行了改建,实现对通道核集的构建。
本发明所述方法对在分类图像上训练好的图像识别网络的各个卷积层进行滤波器级剪枝,与现有滤波器级剪枝方法不同,本发明方法以异步通道剪枝的方式实现滤波器级剪枝,而不是直接进行滤波器级剪枝。在本发明中,卷积核被定义为一个四维张量K×C×H×W,具有K个输出通道、C个输入通道并且尺寸为H×W,其中K×1×H×W对应特定输入通道的卷积核参数,1×C×H×W对应特定输出通道的卷积核参数,当以异步的方式对一个卷积核进行输入和输出通道剪枝时,可以实现对滤波器1×1×H×W剪枝。本发明所述方法在筛选待裁剪通道时采用了核集理论,通过加权随机采样为输入或输出通道构造核集,实现数据无关的通道剪枝,以保证压缩后图像识别网络的鲁棒性。
参见图1,本发明实施例提供的一种神经网络的剪枝方法流程示意图;参见图1,该剪枝方法具体包括如下步骤:
S101、确定神经网络中待剪枝的目标网络层;
具体来说,本实施例中的神经网络可以为应用于图像识别等任务的卷积神经网络,由于该神经网络参数具有很大的冗余性,因此,通过本方案对卷积神经网络进行剪枝能够减少图像识别需要的计算量,加快图像识别速度。本实施例中的目标网络层可以为神经网络中任意待剪枝的网络层,可以为单分支网络结构中的网络层,也可以为多分枝结构中网络层,例如:输入层、中间层、输出层、下采样层等等,在此并不具体限定。
S102、利用目标网络层的通道压缩比及每个原输入通道的卷积核权值确定目标网络层的通道核集;该通道核集内记载了保留输入通道;
需要说明的是,本实施例中的通道压缩比为:压缩前的输入通道数与压缩后的输入通道数的比例,通过该通道压缩比,可以确定压缩后的保留输入通道的数量,例如:目标网络层的原输入通道的数量为50,且通道压缩比为10:5,则目标网络层需要保留的输入通道的数量为25。本实施例中的通道核集中记载了需要保留的输入通道,确定通道核集的具体方式在此并不具体限定,可以随机从原输入通道中选取,也可以根据目标网络层的卷积核的权值进行选取,也可以根据每个原输入通道的重要性值来选取等等。
S103、根据通道核集对目标网络层的原输入通道进行剪枝,并重构目标网络层的卷积核。
在本实施例中,确定目标网络层的通道核集后,该通道核集内记载的原输入通道需要保留,通道核集内未记载的原输入通道需要移除,从而实现对原输入通道的剪枝。并且,输入通道进行剪枝后,还需要对目标网络层的卷积核进行重构,以对卷积核的权值进行更新,该卷积核重构过程不需要重训练网络,仅仅在神经网络的前向推理过程中实现。
需要说明的是,目前基于显著性的剪枝算法所采用的启发式筛选规则通常依赖于特征图或者卷积核权值的重要性,两者分别对应着数据驱动(data-driven)的剪枝算法和数据无关(data-independent)的剪枝算法两个分类。已有研究表明:神经网络压缩会对压缩后网络模型的泛化产生影响,即便压缩后网络模型的平均准确率与未压缩的完整网络相近,压缩后网络模型在某一类别的样本中或者某些类别上泛化能力会下降。数据无关的剪枝算法可以为任意测试数据提供鲁棒的压缩。例如,压缩方法DINP
(Data-Independent Neural Pruning via Coresets),采用离线流式核集构建算法(offline and streaming corset constructions,OSCC)为全连接层的隐层神经元构建核集,将核集内的隐层神经元视作重要神经元予以保留并更新神经元的权值。此外,DINP给出了以激活函数值上界为依据的神经元重要性衡量规则与核集采样概率,在核集的构建过程中网络层的输入数据与每个神经元被采样的加权系数的计算和分配无关,所以DINP构建的神经元核集具有与数据无关的特性。在本申请中,并非使用特征图来进行通道剪枝,是通过卷积核权值进行通道剪枝,因此本方案是一种数据无关的剪枝方法,有利于保持压缩后神经网络的鲁棒性。
综上可见,本方案公开了一种结构化剪枝方案,本方案在对神经网络进行剪枝时,可将待剪枝网络层作为目标网络层进行通道剪枝及卷积核重构,不仅可对单分支结构进行压缩,还可以对多分支结构进行压缩;本方案对多分支结构进行压缩时,并不仅仅局限于模块的中间层,还可对模块的输入层、输出层、下采样层等等网络层进行压缩,从而实现对整个模块的输入通道和输出通道进行剪枝,大大提升了神经网络的压缩比,减少神经网络模型执行任务所需要的计算量,加快神经网络的任务处理速度;并且,本方案对不同网络层是通过异步方式进行剪枝,因此本方案公开的这种异步通道的剪枝方法,能在不同网络层实现不同稀疏粒度的剪枝,提高压缩的灵活性,可在某些网络层实现通道剪枝的基础上,在其他网络层实现滤波器级剪枝。
基于上述实施例,在本实施例中,利用目标网络层的通道压缩比及每个原输入通道的卷积核权值确定所述目标网络层的通道核集的过程具体包括:
步骤一:根据目标网络层的原输入通道的第一数量及通道压缩比,确定目标网络层的保留输入通道的第二数量;
步骤二:利用第一数量、第二数量以及每个原输入通道的卷积核权值的Frobenius范数,确定每个原输入通道的重要性值;
步骤三:根据每个原输入通道的重要性值确定每个原输入通道的采样概率;
步骤四:利用每个原输入通道的采样概率对每个原输入通道进行R轮独立采样,并根据采样结果生成与目标网络层对应的通道核集。
在本实施例中,设定目标网络层为第l层网络层,则目标网络层的原输入通道的第一数量也可以理解为第l-1层网络层的输出通道数,在本实施例中,通过nl-1表示目标网络层的原输入通道的第一数量,通过al表示目标网络层的保留输入通道的第二数量。
本实施例在步骤二确定每个原输入通道的重要性值时,首先利用第一数量及第二数量确定第一数量个加权系数,根据每个原输入通道的卷积核权值确定每个原输入通道的Frobenius范数值,并根据每个原输入通道的Frobenius范数值向每个原输入通道分配对应的加权系数;其中,Frobenius范数值越大的原输入通道分配的加权系数越大,然后根据每个原输入通道的加权系数及每个原输入通道的初始重要性函数,确定每个原输入通道的重要性值。
在本实施例中,可通过如下公式计算nl-1个加权系数wi(x):
进一步,为了将nl-1个加权系数wi(x)与nl-1个原输入通道建立关联关系,需要计算第l层卷积核的nl-1个原输入通道卷积核权值的Frobenius范数值,将各个原输入通道的Frobenius范数值按照数值大小顺序排序,并将nl-1个加权系数按照数值大小顺序排序,根据两者的排序,将数值越大的加权系数分配给Frobenius范数值越大的原输入通道。每个原输入通道分配对应的加权系数后,即可根据如下公式计算每个原输入通道的重要性值:
si(x)=wi(x)·gi(x) (2)
其中,在公式2中,si(x)为第i个原输入通道的重要性函数,用于确定第i个原输入通道的重要性值,gi(x)为第i个原输入通道的初始重要性函数,在本实施例中,初始重要性函数可根据神经网络的不同进行自定义设置,如:针对ResNet及SqueezeNet,可设置gi(x)=1,针对mobilenet-v2网络中线性点卷积层(linear point-wise convolution layer),可设置:
其中,i表示第i个通道,xij是当前批次输入数据x中某个数据xj的第i通道,是Frobenius范数,N是线性点卷积层的输入通道总数;wi(x)为第i个原输入通道的加权系数。每个原输入通道的重要性值确定后,本实施例在步骤三根据如下公式3确定每个原输入通道的采样概率pi:
pi=si(x)/t (3)
在本实施例中,确定每个原输入通道的采样概率后,需要通过步骤四按照每个原输入通道的采样概率进行R轮独立采样,获得采样结果,该采样结果为每个原输入通道被采样到次数,原输入通道的采样概率越大,则被采样的次数越多;得出采样结果后,即可将采样结果中被采样次数最多的al个原输入通道添加至通道核集而未被添加至通道核集的原输入通道需要被剪枝。
对目标网络层进行通道剪枝后,还需要重构目标网络层的卷积核,在本实施例中,重构目标网络层的卷积核的过程即为对卷积核权值进行更新的过程,该过程首先利用通道核集创建优化函数;该优化函数为:
其中,Yk是原卷积核在输出通道k的输出特征图,K是目标网络层的卷积核输出通道总数,代表分别计算卷积核的K个输出通道的特征图重构误差并求和,代表Frobenius范数,Wik代表卷积核在输入通道i和输出通道k的权值,为在通道核集中每个保留输入通道的输入数据xi经卷积核输出通道k的输出特征图之和,*代表卷积操作;
然后最小化优化函数,对目标网络层的卷积核的权值进行更新。
需要说明的是,目前神经网络剪枝算法设计启发式的筛选规则以选择参数、通道、滤波器等对象来进行剪枝,并通过训练或者特征图重构来弥补压缩造成的精度损失。除了网络模型的准确率和压缩比之外,神经网络剪枝算法的评价标准还有运行效率(construction efficiency),因此,本实施例采用特征图重构方式的剪枝算法能够提高神经网络压缩过程本身的运行效率。
综上可见,本方案在对通过进行剪枝时,是利用卷积核的特征而非特征图的特征来构造通道采样的采样概率,因此实现了数据无关的剪枝方式,有利于保持压缩后神经网络的鲁棒性;并且,本方案通过最小化通道核集对应的输出特征图重构误差来重构卷积核,即在网络的前向推理过程中实现卷积核重构而不需要重训练网络,节省卷积核重构时间,提高神经网络压缩过程本身的运行效率。
需要说明的是,在对具有单分枝结构的网络层进行剪枝时,可直接利用上述实施例所述的结构化剪枝方法对单分枝结构中每个网络层进行剪枝,但是对于多分枝结构,除了利用上述实施例所述的结构化剪枝方法对多分枝结构中每个网络层进行剪枝之外,还需要根据多分支结构的特殊之处进行额外处理,在本实施例中,以ResNet的下采样模块、残差模块,以及SqueezeNet的Fire模块为例对多分枝结构的剪枝过程进行说明。
一、若对ResNet的下采样模块进行剪枝,则本方案在执行上述实施例中的S101时,需要将下采样模块中残差支路的中间层及输出层依次作为目标网络层,并继续执行S102~S103,以对中间层及输出层的原输入通道进行剪枝,并重构中间层及输出层的卷积核;
相应的,由于下采样模块的特殊性,在本实施例中,该剪枝方法还包括:利用下采样模块的输入层的通道压缩比,对输入层的原输入通道进行随机采样,获得第一输入通道筛选结果;利用第一输入通道筛选结果对下采样模块的输入层及下采样层的原输入通道进行剪枝,并将下采样模块的输入层及下采样层分别作为目标网络层进行卷积核重构。
在本实施例中,为了方便说明,将上述实施例所述的剪枝方法称为基于核集理论的剪枝方法,并且,本方案对下采样模块、残差模块、Fire模块中任意网络层的卷积核进行重构的过程也与上述实施例所述的目标网络层的重构过程相同,在此并不再具体赘述。参见图2,为本发明实施例提供的下采样模块结构示意图,图2的中间层、输出层及输入层属于残差支路,在对下采样模块进行压缩时,本方案首先采用上述实施例所述的基于核集理论的剪枝方法,对残差支路的中间层和输出层进行输入通道剪枝,并重构相应的卷积核,随后对残差支路的输入层和下采样层的输入通道按照基于随机采样的剪枝方法进行通道剪枝,并对卷积核重构;其中,基于随机采样的剪枝方法具体是指:根据对应的通道压缩比对原输入通道进行一次均等概率随机采样,获得对应的输入通道筛选结果,并进行剪枝,后文为了方便描述,将该过程简称为基于随机采样的剪枝方法,不再对该过程具体说明。
参见图3,为本发明实施例提供的下采样模块剪枝整体流程示意图,该整体流程图具体包括如下步骤:
S201、基于核集理论的剪枝方法对残差支路的中间层的原输入通道进行筛选和剪枝,并重构输出层的卷积核;
S202、基于核集理论的剪枝方法对残差支路的输出层的原输入通道进行筛选和剪枝,并重构输出层的卷积核;
S203、基于随机采样的剪枝方法对残差支路的输入层的原输入通道进行筛选,得到第一输入通道筛选结果;
S204、根据该第一输入通道筛选结果对残差支路的输入层及下采样层的原输入通道进行剪枝,并重构残差支路的输入层及下采样层的卷积核。
需要说明的是,由于残差支路的输入层及下采样层具有相同的输入,因此对残差支路的输入层进行通道筛选得出通道核集后,该通道核集可直接应用在下采样模块的下采样层,无需再次计算。
二、若对ResNet中堆叠的N个残差模块进行剪枝,则本方案在执行上述实施例中的S101时,需要将N个残差模块中的每个残差模块的中间层及输出层依次作为目标网络层,并继续执行S102~S103,以对中间层及输出层的原输入通道进行剪枝,并重构中间层及输出层的卷积核;
相应的,由于残差模块的特殊性,在本实施例中,对中间层及输出层的原输入通道进行剪枝,并重构中间层及输出层的卷积核之后,还包括:利用残差模块的输入层的通道压缩比,对残差模块的输入层的原输入通道进行随机采样,获得第二输入通道筛选结果;针对N个残差模块中的每个残差模块,均利用第二输入通道筛选结果对每个残差模块的输入层的原输入通道进行剪枝,并将残差模块的输入层作为目标网络层进行卷积核重构;利用第二输入通道筛选结果对残差模块的输出层的原输出通道进行剪枝,并将残差模块的输出层作为目标网络层进行卷积核重构。
参见图4,为本发明实施例提供的残差模块结构示意图,残差模块包括:输入层、中间层和输出层及shortcut;并且,图4仅记载了一个残差模块结构,对于堆叠的残差模块,则通过多个如图4所示结构组成。在对堆叠的残差模块进行压缩时,多个残差模块的输入层之间可以共享基于随机采样的剪枝方法获得的通道核集,保留同样编号的通道,因此,本方案对堆叠的残差模块进行压缩时,首先依次对堆叠的多个残差模块的中间层和输出层的输入通道进行基于核集理论的剪枝以及卷积核重构,随后基于随机采样的剪枝方法对其中一个残差模块获取输入通道筛选结果,并利用该输入通道筛选结果依次对堆叠的多个残差模块的输入层及输出层进行剪枝以及卷积核重构,即在不同的步骤中对残差模块的输出层执行两次卷积核重构。
若残差模块的总数为N,i和i'表示当前进行剪枝的第i和第i'个残差模块,i和i'在初始情况下为1。参见图5,为本发明实施例提供的残差模块剪枝整体流程示意图,该整体流程图具体包括如下步骤:
S301、基于核集理论的剪枝方法,对第i个残差模块的中间层的原输入通道进行筛选和剪枝,并重构中间层的卷积核;
S302、基于核集理论的剪枝方法,对第i个残差模块的输出层的原输入通道进行筛选和剪枝,并重构输出层的卷积核;
S303、判断i是否小于等于N;若是,则将i加1,并继续S301~S302;若否,则继续执行S304;
S304、基于随机采样的剪枝方法,对第i’个残差模块的输入层的原输入通道进行筛选,得到第二输入通道筛选结果;i’的初始值为1;
S305、根据该第二输入通道筛选结果对第i’个残差模块的输入层的原输入通道进行剪枝,并重构输入层的卷积核;
S306、根据该第二输入通道筛选结果对第i’个残差模块的输出层的原输出通道进行剪枝,并重构输出层的卷积核。
S307、判断i’是否小于等于N;若是,则将i’加1,并继续执行S305~S306;若否,则结束流程。
需要说明的是,由于残差模块包括shortcut,因此S306是对输出层的shortcut分支的原输出通道进行剪枝,由于输出层的输出通道发生变化,则根据变化后的通道数再对输出层的卷积核进行重构。
三、若对SqueezeNet的目标Fire模块进行剪枝,则本方案在执行上述实施例中的S101时,需要将目标Fire模块的下一Fire模块的Squeeze层作为目标网络层,并继续执行S102~S103,以利用下一Fire模块的Squeeze层的原输入通道进行剪枝,并重构下一Fire模块的Squeeze层的卷积核;
相应的,由于Fire模块的特殊性,在本实施例中,该剪枝方法还包括:
根据所述下一Fire模块的Squeeze层的通道核集,对所述目标Fire模块的Expand层中不同尺寸的卷积核的原输出通道进行剪枝;
利用目标Fire模块的Expand层的通道压缩比,对目标Fire模块的Expand层的原输入通道进行随机采样,获得第三输入通道筛选结果;
利用第三输入通道筛选结果对目标Fire模块的Expand层中不同尺寸的卷积核的原输入通道进行剪枝,并将目标Fire模块的Expand层作为目标网络层,对Expand层中不同尺寸的卷积核进行重构。
参见图6,为本发明实施例提供的Fire模块结构示意图,Fire模块包括:Squeeze层及Expand层;并且,Expand层中具有两个不同尺寸的卷积核。本方案对Fire模块进行通道剪枝的过程为:基于核集理论的剪枝方法对Fire模块i+1的Squeeze层的原输入通道进行剪枝及卷积核重构,再对Fire模块i的expand层输出通道进行剪枝,随后基于随机采样的剪枝方法对Fire模块i的expand层的输入通道进行剪枝及卷积核重构。并且,针对squeeze层的输入通道剪枝中,第i+1个Fire模块的squeeze层的输入通道筛选结果被划分为两个部分,分别对应着第i个Fire模块的expand层的3×3卷积和1×1卷积的输出通道;针对第i个Fire模块expand层的输入通道剪枝中,3×3卷积和1×1卷积之间共享输入通道筛选结果。
参见图7,为本发明实施例提供的Fire模块剪枝整体流程示意图,该整体流程图具体包括如下步骤:
S401、基于核集理论的剪枝方法,对Fire模块i+1的Squeeze层的原输入通道进行筛选,生成通道核集,并根据该通道核集对Fire模块i+1的Squeeze层进行通道剪枝及卷积核重构。
S402、将通道核集划分为两部分,分别对应于Fire模块i的expand层中不同尺寸的卷积核的原输出通道,并对其原输出通道进行剪枝。
需要说明的是,虽然Fire模块i+1的Squeeze层的输入通道与Fire模块i的expand层的输出通道之间是对应关系,但是剪枝流程中,需要通过S401及S402分别对这个两个层中各自的卷积核做剪枝。
S403、基于随机采样的剪枝方法,对Fire模块i的expand层的原输入通道进行筛选,生成通道核集,并根据该通道核集对Fire模块i的expand层中不同尺寸卷积核的输入通道进行剪枝,并重构不同尺寸的卷积核。
综上可见,本方案所述的通道剪枝方法,以异步的方式通过输入和输出通道剪枝实现滤波器级剪枝,并针对ResNet和SqueezeNet的多分支结构特点设计了剪枝流程,解决了现有剪枝方法在压缩ResNe和SqueezeNett时只对残差模块、下采样模块及Fire模块的中间层的输入和输出通道做剪枝,而不对整个模块的输入和输出通道做压缩的局限,能够取得更高的压缩比,减少网络在前向推理过程的计算量,并且能够在网络中不同的层实现不同稀疏性粒度的剪枝。此外,本发明方法所设计的基于核集理论的通道筛选规则具有数据无关特性,有利于保持压缩后图像识别网络的鲁棒性。
进一步,本方案还可以部署于基于FPGA的神经网络加速应用或者AI加速芯片的软件平台中,本方案能够以高压缩比剪枝图像识别网络,减少图像识别网络在实时图像分类应用中计算量,本技术方案也可以拓展应用于目标检测网络的骨干网络的压缩,例如YOLO或者Faster RCNN。
下面对本发明实施例提供的剪枝装置、设备及介质进行介绍,下文描述的剪枝装置、设备及介质与上文描述的剪枝方法可以相互参照。
参见图8,本发明实施例提供的一种神经网络的剪枝装置结构示意图,通过图8可以看出,该装置包括:
网络层确定模块11,用于确定神经网络中待剪枝的目标网络层;
通道核集确定模块12,用于利用所述目标网络层的通道压缩比及每个原输入通道的卷积核权值确定所述目标网络层的通道核集;其中,所述通道核集内记载了保留输入通道;
通道剪枝模块13,用于根据所述通道核集对所述目标网络层的原输入通道进行剪枝;
卷积核重构模块14,用于重构所述目标网络层的卷积核。
其中,通道核集确定模块包括:
第一确定单元,用于根据所述目标网络层的原输入通道的第一数量及所述通道压缩比,确定所述目标网络层的保留输入通道的第二数量;
第二确定单元,用于利用所述第一数量、所述第二数量以及每个原输入通道的卷积核权值的Frobenius范数,确定每个原输入通道的重要性值;
第三确定单元,用于根据每个原输入通道的重要性值确定每个原输入通道的采样概率;
通道核集生成单元,用于利用每个原输入通道的采样概率对每个原输入通道进行R轮独立采样,并根据采样结果生成与目标网络层对应的通道核集。
其中,所述第二确定单元包括:
加权系数确定子单元,用于利用所述第一数量及所述第二数量确定所述第一数量个加权系数;
加权系数分配子单元,用于根据每个原输入通道的卷积核权值确定每个原输入通道的Frobenius范数值,并根据每个原输入通道的Frobenius范数值向每个原输入通道分配对应的加权系数;其中,Frobenius范数值越大的原输入通道分配的加权系数越大;
重要性值确定子单元,用于根据每个原输入通道的加权系数及每个原输入通道的初始重要性函数,确定每个原输入通道的重要性值。
其中,所述卷积核重构模块包括:
函数创建单元,用于利用所述通道核集创建优化函数;所述优化函数为:
其中,Yk是原卷积核在输出通道k的输出特征图,K是所述目标网络层的卷积核输出通道总数,代表分别计算卷积核的K个输出通道的特征图重构误差并求和,代表Frobenius范数,Wik代表卷积核在输入通道i和输出通道k的权值,为在通道核集中每个保留输入通道的输入数据xi经卷积核输出通道k的输出特征图之和,*代表卷积操作;
权值更新单元,用于最小化所述优化函数,对所述目标网络层的卷积核的权值进行更新。
其中,若对ResNet的下采样模块进行剪枝,则所述网络层确定模块具体用于:将所述下采样模块中残差支路的中间层及输出层依次作为所述目标网络层,以对中间层及输出层的原输入通道进行剪枝,并重构中间层及输出层的卷积核;
相应的,所述装置还包括:
第一筛选模块,用于利用所述下采样模块的输入层的通道压缩比,对所述输入层的原输入通道进行随机采样,获得第一输入通道筛选结果;
所述通道剪枝模块还用于:利用所述第一输入通道筛选结果对所述下采样模块的输入层及下采样层的原输入通道进行剪枝;
所述卷积核重构模块还用于:重构输入层及下采样层的卷积核。
其中,若对ResNet中堆叠的N个残差模块进行剪枝,则所述网络层确定模块具体用于:将N个残差模块的中间层及输出层依次作为所述目标网络层,以对中间层及输出层的原输入通道进行剪枝,并重构中间层及输出层的卷积核;
相应的,所述装置还包括:
第二筛选模块,用于在对中间层及输出层的原输入通道进行剪枝,并重构中间层及输出层的卷积核之后,利用残差模块的输入层的通道压缩比,对残差模块的输入层的原输入通道进行随机采样,获得第二输入通道筛选结果;
所述通道剪枝模块还用于:利用所述第二输入通道筛选结果依次对N个残差模块的输入层的原输入通道进行剪枝,对N个残差模块的输出层的原输出通道进行剪枝;
所述卷积核重构模块还用于:重构输入层的卷积核,重构输出层的卷积核。
其中,若对SqueezeNet的目标Fire模块进行剪枝,则所述网络层确定模块具体用于:将所述目标Fire模块的下一Fire模块的Squeeze层作为所述目标网络层,以利用下一Fire模块的Squeeze层的原输入通道进行剪枝,并重构下一Fire模块的Squeeze层的卷积核;
相应的,所述装置还包括:
第二筛选模块,用于利用所述目标Fire模块的Expand层的通道压缩比,对所述目标Fire模块的Expand层的原输入通道进行随机采样,获得第三输入通道筛选结果;
所述通道剪枝模块还用于:利用所述第三输入通道筛选结果对所述目标Fire模块的Expand层中不同尺寸的卷积核的原输入通道进行剪枝;
所述卷积核重构模块还用于:重构所述目标Fire模块的Expand层中不同尺寸的卷积核。
参见图9,为本发明实施例公开的一种电子设备结构示意图,通过图9可以看出,该电子设备包括:
存储器21,用于存储计算机程序;
处理器22,用于执行所述计算机程序时实现上述任意方法实施例所述的神经网络的剪枝方法的步骤。
在本实施例中,设备可以是PC(Personal Computer,个人电脑),也可以是智能手机、平板电脑、掌上电脑、便携计算机等终端设备。
该设备可以包括存储器21、处理器22和总线23。
其中,存储器21至少包括一种类型的可读存储介质,所述可读存储介质包括闪存、硬盘、多媒体卡、卡型存储器(例如,SD或DX存储器等)、磁性存储器、磁盘、光盘等。存储器21在一些实施例中可以是设备的内部存储单元,例如该设备的硬盘。存储器21在另一些实施例中也可以是设备的外部存储设备,例如设备上配备的插接式硬盘,智能存储卡(SmartMedia Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。进一步地,存储器21还可以既包括设备的内部存储单元也包括外部存储设备。存储器21不仅可以用于存储安装于设备的应用软件及各类数据,例如执行剪枝方法的程序代码等,还可以用于暂时地存储已经输出或者将要输出的数据。
处理器22在一些实施例中可以是一中央处理器(Central Processing Unit,CPU)、控制器、微控制器、微处理器或其他数据处理芯片,用于运行存储器21中存储的程序代码或处理数据,例如执行剪枝方法的程序代码等。
该总线23可以是外设部件互连标准(peripheral component interconnect,简称PCI)总线或扩展工业标准结构(extended industry standard architecture,简称EISA)总线等。该总线可以分为地址总线、数据总线、控制总线等。为便于表示,图9中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
进一步地,设备还可以包括网络接口24,网络接口24可选的可以包括有线接口和/或无线接口(如WI-FI接口、蓝牙接口等),通常用于在该设备与其他电子设备之间建立通信连接。
可选地,该设备还可以包括用户接口25,用户接口25可以包括显示器(Display)、输入单元比如键盘(Keyboard),可选的用户接口25还可以包括标准的有线接口、无线接口。可选地,在一些实施例中,显示器可以是LED显示器、液晶显示器、触控式液晶显示器以及OLED(Organic Light-Emitting Diode,有机发光二极管)触摸器等。其中,显示器也可以适当的称为显示屏或显示单元,用于显示在设备中处理的信息以及用于显示可视化的用户界面。
图9仅示出了具有组件21-25的设备,本领域技术人员可以理解的是,图9示出的结构并不构成对设备的限定,可以包括比图示更少或者更多的部件,或者组合某些部件,或者不同的部件布置。
本发明实施例还公开了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现上述任意方法实施例所述的神经网络的剪枝方法的步骤。
其中,该存储介质可以包括:U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
Claims (10)
1.一种神经网络的剪枝方法,其特征在于,包括:
确定神经网络中待剪枝的目标网络层;
利用所述目标网络层的通道压缩比及每个原输入通道的卷积核权值确定所述目标网络层的通道核集;其中,所述通道核集内记载了保留输入通道;
根据所述通道核集对所述目标网络层的原输入通道进行剪枝,并重构所述目标网络层的卷积核。
2.根据权利要求1所述的剪枝方法,其特征在于,所述利用所述目标网络层的通道压缩比及每个原输入通道的卷积核权值确定所述目标网络层的通道核集,包括:
根据所述目标网络层的原输入通道的第一数量及所述通道压缩比,确定所述目标网络层的保留输入通道的第二数量;
利用所述第一数量、所述第二数量以及每个原输入通道的卷积核权值的Frobenius范数,确定每个原输入通道的重要性值;
根据每个原输入通道的重要性值确定每个原输入通道的采样概率;
利用每个原输入通道的采样概率对每个原输入通道进行R轮独立采样,并根据采样结果生成与所述目标网络层对应的通道核集。
3.根据权利要求2所述的剪枝方法,其特征在于,所述利用所述第一数量、所述第二数量以及每个原输入通道的卷积核权值的Frobenius范数,确定每个原输入通道的重要性值,包括:
利用所述第一数量及所述第二数量确定所述第一数量个加权系数;
根据每个原输入通道的卷积核权值确定每个原输入通道的Frobenius范数值,并根据每个原输入通道的Frobenius范数值向每个原输入通道分配对应的加权系数;其中,Frobenius范数值越大的原输入通道分配的加权系数越大;
根据每个原输入通道的加权系数及每个原输入通道的初始重要性函数,确定每个原输入通道的重要性值。
5.一种基于ResNet下采样模块的剪枝方法,其特征在于,包括上述权利要求1至4中任意一项所述的剪枝方法;其中,所述确定神经网络中待剪枝的目标网络层包括:
将所述下采样模块中残差支路的中间层及输出层依次作为所述目标网络层,以对中间层及输出层的原输入通道进行剪枝,并重构中间层及输出层的卷积核;
相应的,所述剪枝方法还包括:
利用所述下采样模块的输入层的通道压缩比,对所述输入层的原输入通道进行随机采样,获得第一输入通道筛选结果;
利用所述第一输入通道筛选结果对所述下采样模块的输入层及下采样层的原输入通道进行剪枝,并将所述下采样模块的输入层及下采样层分别作为目标网络层进行卷积核重构。
6.一种基于ResNe残差模块的剪枝方法,其特征在于,包括上述权利要求1至4中任意一项所述的剪枝方法;其中,所述ResNet中包括堆叠的N个残差模块,所述确定神经网络中待剪枝的目标网络层包括:
将N个残差模块中的每个残差模块的中间层及输出层依次作为所述目标网络层,以对中间层及输出层的原输入通道进行剪枝,并重构中间层及输出层的卷积核;
相应的,所述对中间层及输出层的原输入通道进行剪枝,并重构中间层及输出层的卷积核之后,所述剪枝方法还包括:
利用残差模块的输入层的通道压缩比,对残差模块的输入层的原输入通道进行随机采样,获得第二输入通道筛选结果;
针对所述N个残差模块中的每个残差模块,均利用所述第二输入通道筛选结果对每个残差模块的输入层的原输入通道进行剪枝,并将所述残差模块的输入层作为目标网络层进行卷积核重构;利用所述第二输入通道筛选结果对所述残差模块的输出层的原输出通道进行剪枝,并将所述残差模块的输出层作为目标网络层进行卷积核重构。
7.一种基于SqueezeNet的剪枝方法,其特征在于,包括上述权利要求1至4中任意一项所述的剪枝方法;其中,若对所述SqueezeNet的目标Fire模块进行剪枝,则所述确定神经网络中待剪枝的目标网络层包括:
将所述目标Fire模块的下一Fire模块的Squeeze层作为所述目标网络层,以利用下一Fire模块的Squeeze层的原输入通道进行剪枝,并重构下一Fire模块的Squeeze层的卷积核;
相应的,所述剪枝方法还包括:
根据所述下一Fire模块的Squeeze层的通道核集,对所述目标Fire模块的Expand层中不同尺寸的卷积核的原输出通道进行剪枝;
利用所述目标Fire模块的Expand层的通道压缩比,对所述目标Fire模块的Expand层的原输入通道进行随机采样,获得第三输入通道筛选结果;
利用所述第三输入通道筛选结果对所述目标Fire模块的Expand层中不同尺寸的卷积核的原输入通道进行剪枝,并将所述目标Fire模块的Expand层作为目标网络层,对Expand层中不同尺寸的卷积核进行重构。
8.一种神经网络的剪枝装置,其特征在于,包括:
网络层确定模块,用于确定神经网络中待剪枝的目标网络层;
通道核集确定模块,用于利用所述目标网络层的通道压缩比及每个原输入通道的卷积核权值确定所述目标网络层的通道核集;其中,所述通道核集内记载了保留输入通道;
通道剪枝模块,用于根据所述通道核集对所述目标网络层的原输入通道进行剪枝;
卷积核重构模块,用于重构所述目标网络层的卷积核。
9.一种电子设备,其特征在于,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现如权利要求1至7任一项所述的神经网络的剪枝方法的步骤。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至7任一项所述的神经网络的剪枝方法的步骤。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110866324.3A CN113705775B (zh) | 2021-07-29 | 2021-07-29 | 一种神经网络的剪枝方法、装置、设备及存储介质 |
PCT/CN2021/134336 WO2023005085A1 (zh) | 2021-07-29 | 2021-11-30 | 一种神经网络的剪枝方法、装置、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110866324.3A CN113705775B (zh) | 2021-07-29 | 2021-07-29 | 一种神经网络的剪枝方法、装置、设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113705775A true CN113705775A (zh) | 2021-11-26 |
CN113705775B CN113705775B (zh) | 2024-10-01 |
Family
ID=78650919
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110866324.3A Active CN113705775B (zh) | 2021-07-29 | 2021-07-29 | 一种神经网络的剪枝方法、装置、设备及存储介质 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN113705775B (zh) |
WO (1) | WO2023005085A1 (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114626527A (zh) * | 2022-03-25 | 2022-06-14 | 中国电子产业工程有限公司 | 基于稀疏约束再训练的神经网络剪枝方法及装置 |
CN114882247A (zh) * | 2022-05-19 | 2022-08-09 | 东软睿驰汽车技术(沈阳)有限公司 | 图像的处理方法、装置和电子设备 |
WO2023005085A1 (zh) * | 2021-07-29 | 2023-02-02 | 浪潮电子信息产业股份有限公司 | 一种神经网络的剪枝方法、装置、设备及存储介质 |
WO2023123930A1 (zh) * | 2021-12-30 | 2023-07-06 | 浪潮电子信息产业股份有限公司 | 一种图像处理方法、系统、设备及可读存储介质 |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116306884B (zh) * | 2023-03-03 | 2024-02-06 | 北京泰尔英福科技有限公司 | 联邦学习模型剪枝方法、装置及非易失性存储介质 |
CN116402116B (zh) * | 2023-06-05 | 2023-09-05 | 山东云海国创云计算装备产业创新中心有限公司 | 神经网络的剪枝方法、系统、设备、介质及图像处理方法 |
CN116451771B (zh) * | 2023-06-14 | 2023-09-15 | 中诚华隆计算机技术有限公司 | 图像分类卷积神经网络压缩方法及芯粒器件数据分配方法 |
CN116992943B (zh) * | 2023-09-27 | 2024-02-09 | 浪潮(北京)电子信息产业有限公司 | 深度神经网络模型的链路剪枝方法、装置、设备和介质 |
CN117649568B (zh) * | 2024-01-30 | 2024-05-03 | 之江实验室 | 一种用于图像分类卷积神经网络的网络压缩方法及装置 |
Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106886975A (zh) * | 2016-11-29 | 2017-06-23 | 华南理工大学 | 一种可实时运行的图像风格化方法 |
CN110033083A (zh) * | 2019-03-29 | 2019-07-19 | 腾讯科技(深圳)有限公司 | 卷积神经网络模型压缩方法和装置、存储介质及电子装置 |
US20190362235A1 (en) * | 2018-05-23 | 2019-11-28 | Xiaofan Xu | Hybrid neural network pruning |
CN111079923A (zh) * | 2019-11-08 | 2020-04-28 | 中国科学院上海高等研究院 | 适用于边缘计算平台的Spark卷积神经网络系统及其电路 |
CN111695375A (zh) * | 2019-03-13 | 2020-09-22 | 上海云从企业发展有限公司 | 基于模型蒸馏的人脸识别模型压缩算法、介质及终端 |
US20200311552A1 (en) * | 2019-03-25 | 2020-10-01 | Samsung Electronics Co., Ltd. | Device and method for compressing machine learning model |
CN111768372A (zh) * | 2020-06-12 | 2020-10-13 | 国网智能科技股份有限公司 | 一种gis设备腔体内部异物检测方法及系统 |
CN112052951A (zh) * | 2020-08-31 | 2020-12-08 | 北京中科慧眼科技有限公司 | 一种剪枝神经网络方法、系统、设备及可读存储介质 |
CN112116001A (zh) * | 2020-09-17 | 2020-12-22 | 苏州浪潮智能科技有限公司 | 图像识别方法、装置及计算机可读存储介质 |
US20210073643A1 (en) * | 2019-09-05 | 2021-03-11 | Vahid PARTOVI NIA | Neural network pruning |
CN112836751A (zh) * | 2021-02-03 | 2021-05-25 | 歌尔股份有限公司 | 一种目标检测方法和装置 |
CN112949814A (zh) * | 2019-11-26 | 2021-06-11 | 联合汽车电子有限公司 | 卷积神经网络的压缩和加速方法、装置及嵌入式设备 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11645529B2 (en) * | 2018-05-01 | 2023-05-09 | Hewlett Packard Enterprise Development Lp | Sparsifying neural network models |
US20210089922A1 (en) * | 2019-09-24 | 2021-03-25 | Qualcomm Incorporated | Joint pruning and quantization scheme for deep neural networks |
CN113128664A (zh) * | 2021-03-16 | 2021-07-16 | 广东电力信息科技有限公司 | 神经网络压缩方法、装置、电子设备及存储介质 |
CN113705775B (zh) * | 2021-07-29 | 2024-10-01 | 浪潮电子信息产业股份有限公司 | 一种神经网络的剪枝方法、装置、设备及存储介质 |
-
2021
- 2021-07-29 CN CN202110866324.3A patent/CN113705775B/zh active Active
- 2021-11-30 WO PCT/CN2021/134336 patent/WO2023005085A1/zh active Application Filing
Patent Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106886975A (zh) * | 2016-11-29 | 2017-06-23 | 华南理工大学 | 一种可实时运行的图像风格化方法 |
US20190362235A1 (en) * | 2018-05-23 | 2019-11-28 | Xiaofan Xu | Hybrid neural network pruning |
CN111695375A (zh) * | 2019-03-13 | 2020-09-22 | 上海云从企业发展有限公司 | 基于模型蒸馏的人脸识别模型压缩算法、介质及终端 |
US20200311552A1 (en) * | 2019-03-25 | 2020-10-01 | Samsung Electronics Co., Ltd. | Device and method for compressing machine learning model |
CN110033083A (zh) * | 2019-03-29 | 2019-07-19 | 腾讯科技(深圳)有限公司 | 卷积神经网络模型压缩方法和装置、存储介质及电子装置 |
US20210073643A1 (en) * | 2019-09-05 | 2021-03-11 | Vahid PARTOVI NIA | Neural network pruning |
CN111079923A (zh) * | 2019-11-08 | 2020-04-28 | 中国科学院上海高等研究院 | 适用于边缘计算平台的Spark卷积神经网络系统及其电路 |
CN112949814A (zh) * | 2019-11-26 | 2021-06-11 | 联合汽车电子有限公司 | 卷积神经网络的压缩和加速方法、装置及嵌入式设备 |
CN111768372A (zh) * | 2020-06-12 | 2020-10-13 | 国网智能科技股份有限公司 | 一种gis设备腔体内部异物检测方法及系统 |
CN112052951A (zh) * | 2020-08-31 | 2020-12-08 | 北京中科慧眼科技有限公司 | 一种剪枝神经网络方法、系统、设备及可读存储介质 |
CN112116001A (zh) * | 2020-09-17 | 2020-12-22 | 苏州浪潮智能科技有限公司 | 图像识别方法、装置及计算机可读存储介质 |
CN112836751A (zh) * | 2021-02-03 | 2021-05-25 | 歌尔股份有限公司 | 一种目标检测方法和装置 |
Non-Patent Citations (4)
Title |
---|
HE, YIHUI 等: "Channel Pruning for Accelerating Very Deep Neural Networks", 2017 IEEE INTERNATIONAL CONFERENCE ON COMPUTER VISION (ICCV), 25 December 2017 (2017-12-25), pages 1 - 8 * |
YIN, WENFENG 等: "Coresets Application in Channel Pruning for Fast Neural Network Slimming", 2021 INTERNATIONAL JOINT CONFERENCE ON NEURAL NETWORKS (IJCNN), 22 July 2021 (2021-07-22), pages 1 - 7 * |
涂云轩;冯玉田;: "基于多尺度残差网络的全局图像压缩感知重构", 工业控制计算机, no. 07, 25 July 2020 (2020-07-25) * |
罗建豪: "面向深度卷积神经网络的模型剪枝算法研究", 中国博士学位论文全文数据库(信息科技辑), no. 2021, 15 April 2021 (2021-04-15), pages 72 * |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2023005085A1 (zh) * | 2021-07-29 | 2023-02-02 | 浪潮电子信息产业股份有限公司 | 一种神经网络的剪枝方法、装置、设备及存储介质 |
WO2023123930A1 (zh) * | 2021-12-30 | 2023-07-06 | 浪潮电子信息产业股份有限公司 | 一种图像处理方法、系统、设备及可读存储介质 |
CN114626527A (zh) * | 2022-03-25 | 2022-06-14 | 中国电子产业工程有限公司 | 基于稀疏约束再训练的神经网络剪枝方法及装置 |
CN114626527B (zh) * | 2022-03-25 | 2024-02-09 | 中国电子产业工程有限公司 | 基于稀疏约束再训练的神经网络剪枝方法及装置 |
CN114882247A (zh) * | 2022-05-19 | 2022-08-09 | 东软睿驰汽车技术(沈阳)有限公司 | 图像的处理方法、装置和电子设备 |
CN114882247B (zh) * | 2022-05-19 | 2024-08-23 | 东软睿驰汽车技术(沈阳)有限公司 | 图像的处理方法、装置和电子设备 |
Also Published As
Publication number | Publication date |
---|---|
WO2023005085A1 (zh) | 2023-02-02 |
CN113705775B (zh) | 2024-10-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113705775B (zh) | 一种神经网络的剪枝方法、装置、设备及存储介质 | |
CN108764471B (zh) | 基于特征冗余分析的神经网络跨层剪枝方法 | |
CN112613581B (zh) | 一种图像识别方法、系统、计算机设备和存储介质 | |
CN112396179A (zh) | 一种基于通道梯度剪枝的柔性深度学习网络模型压缩方法 | |
CN112418292B (zh) | 一种图像质量评价的方法、装置、计算机设备及存储介质 | |
CN112508118B (zh) | 针对数据偏移的目标对象行为预测方法及其相关设备 | |
CN114503125A (zh) | 结构化剪枝方法、系统和计算机可读介质 | |
CN111178507B (zh) | 图谱卷积神经网络数据处理方法及装置 | |
CN111352965A (zh) | 序列挖掘模型的训练方法、序列数据的处理方法及设备 | |
CN111240557B (zh) | 页面显示方法、装置以及设备 | |
US20230401833A1 (en) | Method, computer device, and storage medium, for feature fusion model training and sample retrieval | |
CN111369430B (zh) | 基于移动深度学习引擎的移动端人像智能背景替换方法 | |
CN113298096A (zh) | 训练零样本分类模型的方法、系统、电子设备及存储介质 | |
CN110647974A (zh) | 深度神经网络中的网络层运算方法及装置 | |
CN112163520A (zh) | 一种基于改进损失函数的mdssd人脸检测方法 | |
CN112132279A (zh) | 卷积神经网络模型压缩方法、装置、设备及存储介质 | |
CN114330696A (zh) | 多框架的深度学习模型处理方法、装置及电子设备 | |
CN114298329A (zh) | 一种模型训练方法、装置、设备及存储介质 | |
CN114677548A (zh) | 基于阻变存储器的神经网络图像分类系统及方法 | |
CN110532448B (zh) | 基于神经网络的文档分类方法、装置、设备及存储介质 | |
CN111709415A (zh) | 目标检测方法、装置、计算机设备和存储介质 | |
CN115759192A (zh) | 一种神经网络加速方法、装置、设备、芯片及存储介质 | |
CN111967478A (zh) | 一种基于权重翻转的特征图重构方法、系统、存储介质及终端 | |
CN116957006A (zh) | 预测模型的训练方法、装置、设备、介质及程序产品 | |
CN116306879A (zh) | 数据处理方法、装置、电子设备以及存储介质 |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |