CN111612144B - 一种应用于目标检测的剪枝方法及终端 - Google Patents
一种应用于目标检测的剪枝方法及终端 Download PDFInfo
- Publication number
- CN111612144B CN111612144B CN202010442414.5A CN202010442414A CN111612144B CN 111612144 B CN111612144 B CN 111612144B CN 202010442414 A CN202010442414 A CN 202010442414A CN 111612144 B CN111612144 B CN 111612144B
- Authority
- CN
- China
- Prior art keywords
- network layer
- pruning
- target detection
- channels
- weight
- 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.)
- Active
Links
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
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/23—Clustering techniques
-
- 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)
- Life Sciences & Earth Sciences (AREA)
- Artificial Intelligence (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Evolutionary Computation (AREA)
- Biophysics (AREA)
- Computational Linguistics (AREA)
- Software Systems (AREA)
- Mathematical Physics (AREA)
- Health & Medical Sciences (AREA)
- Biomedical Technology (AREA)
- Computing Systems (AREA)
- Molecular Biology (AREA)
- General Health & Medical Sciences (AREA)
- Evolutionary Biology (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Bioinformatics & Computational Biology (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Image Analysis (AREA)
Abstract
本发明公开一种应用于目标检测的剪枝方法及终端,对预设的目标检测算法进行训练直至收敛;根据收敛后的所述目标检测算法的深度神经网络模型中每一网络层的权重的范数确定每一网络层对应的剪枝比例;根据所述剪枝比例对其对应的网络层层内的所有通道的权重进行聚类,确定出每一网络层对应的聚类中心;根据每一网络层对应的聚类中心和剪枝比例对其所在的网络层层内的通道进行剪枝;基于范数的权重聚类实现深度神经网络模型中各个网络层的通道的剪枝,可以删除冗余通道实现对深度神经网络模型的压缩,剪枝流程简单,耗时少,并且在剪枝过程中依赖少,不需要依赖于任何参数与特定的层,同时在保证压缩的同时减少了精度损失。
Description
技术领域
本发明涉及计算机视觉模型压缩技术领域,尤其涉及一种应用于目标检测的剪枝方法及终端。
背景技术
在计算机视觉中,模型压缩一直是将深度学习应用到嵌入式设备的一个重要方向,而模型剪枝是其中一个重要的子方向,相较于量化和蒸馏等,剪枝具有易用性和更适合部署等优点。其中,模型剪枝是通过不同的方法衡量深度学习中各个神经元权重的重要性,根据神经元的重要程度减去不重要的神经元,从而达到压缩模型的目的。
模型剪枝作为一种常用的模型压缩方法,被广泛应用于降低深度模型的繁重计算量,是当前学术界和工业界的研究热点,比如:
(1)S.Han,H.Mao等发表的论文“Deep compression:Compressing deep neuralnetwork with pruning,trained quantization and huffman coding”提出一种应用于深度神经网络的深度压缩算法,先对模型进行剪枝,再量化,最后通过改变存储方式实现模型的压缩;
(2)Zhuang Liu,Jianguo Li等发表的“Learning efficient convolutionalnetworks through network slimming”提出一种通过网络瘦身学习高效的卷积网络的算法,其使用BN层中的gamma参数作为网络层通道中的重要性准则,依据重要性准则对卷积层中的通道级别进行剪枝;
(3)H.Li,A.Kadav等发表的“Pruning filter for efficient convnets”提出一种用于用于实现高效卷积网络的剪枝滤波器,通过使用L1正则化权重之和作为通道重要性的判断,依据L1范数之和作为通道的重要性准则。
虽然上述提出的方法中都能够对模型起到压缩作用,但是,第一篇提出的方法中剪枝只是细粒度的参数级别的剪枝,必须要配合相应的硬件(比如FPGA)才能完成加速,且量化方案和转换模型格式存储的方案必须配合固定的硬件才能实现,存在相当大的局限性;第二篇提出的方法中剪枝前需要进行gamma参数稀疏化,重新微调网络恢复精度、剪枝、再次微调等步骤,且每个数据集的情况都不一样,需要大量的经验和时间,且必须依赖模型中有BN层;第三篇提出的方法虽然简单,但是面对复杂的网络时存在精度损失的问题。
发明内容
本发明所要解决的技术问题是:提供一种应用于目标检测的剪枝方法及终端,在保证精度的同时减少依赖,简单易实现。
为了解决上述技术问题,本发明采用的一种技术方案为:
一种应用于目标检测的剪枝方法,包括步骤:
S1、对预设的目标检测算法进行训练直至收敛;
S2、根据收敛后的所述目标检测算法的深度神经网络模型中每一网络层的权重的范数确定每一网络层对应的剪枝比例;
S3、根据所述剪枝比例对其对应的网络层层内的所有通道的权重进行聚类,确定出每一网络层对应的聚类中心;
S4、根据每一网络层对应的聚类中心和剪枝比例对其所在的网络层层内的通道进行剪枝。
为了解决上述技术问题,本发明采用的另一种技术方案为:
一种应用于目标检测的剪枝终端,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现以下步骤:
S1、对预设的目标检测算法进行训练直至收敛;
S2、根据收敛后的所述目标检测算法的深度神经网络模型中每一网络层的权重的范数确定每一网络层对应的剪枝比例;
S3、根据所述剪枝比例对其对应的网络层层内的所有通道的权重进行聚类,确定出每一网络层对应的聚类中心;
S4、根据每一网络层对应的聚类中心和剪枝比例对其所在的网络层层内的通道进行剪枝。
本发明的有益效果在于:将模型剪枝应用于目标检测领域,基于权重的范数确定每一网络层对应的剪枝比例,根据确定出的每一网络层对应的剪枝比例确定对应网络层的聚类中心,并以每一网络层对应的剪枝比例和聚类中心为基础对网络层内的通道进行剪枝,以聚类中心作为基础来确定通道是否被剪枝,基于范数的权重聚类实现深度神经网络模型中各个网络层的通道的剪枝,可以删除冗余通道实现对深度神经网络模型的压缩,剪枝流程简单,耗时少,并且在剪枝过程中依赖少,不需要依赖于任何参数与特定的层,同时在保证压缩的同时减少了精度损失。
附图说明
图1为本发明实施例的一种应用于目标检测的剪枝方法的步骤流程图;
图2为本发明实施例的一种应用于目标检测的剪枝终端的结构示意图;
标号说明:
1、一种应用于目标检测的剪枝终端;2、存储器;3、处理器。
具体实施方式
为详细说明本发明的技术内容、所实现目的及效果,以下结合实施方式并配合附图予以说明。
请参照图1,一种应用于目标检测的剪枝方法,包括步骤:
S1、对预设的目标检测算法进行训练直至收敛;
S2、根据收敛后的所述目标检测算法的深度神经网络模型中每一网络层的权重的范数确定每一网络层对应的剪枝比例;
S3、根据所述剪枝比例对其对应的网络层层内的所有通道的权重进行聚类,确定出每一网络层对应的聚类中心;
S4、根据每一网络层对应的聚类中心和剪枝比例对其所在的网络层层内的通道进行剪枝。
从上述描述可知,本发明的有益效果在于:将模型剪枝应用于目标检测领域,基于权重的范数确定每一网络层对应的剪枝比例,根据确定出的每一网络层对应的剪枝比例确定对应网络层的聚类中心,并以每一网络层对应的剪枝比例和聚类中心为基础对网络层内的通道进行剪枝,以聚类中心作为基础来确定通道是否被剪枝,基于范数的权重聚类实现深度神经网络模型中各个网络层的通道的剪枝,可以删除冗余通道实现对深度神经网络模型的压缩,剪枝流程简单,耗时少,并且在剪枝过程中依赖少,不需要依赖于任何参数与特定的层,同时在保证压缩的同时减少了精度损失。
进一步的,所述S2包括:
根据收敛后的所述目标检测算法的深度神经网络模型中每一网络层的权重的范数确定每一网络层对应的权重范数均值;
根据每一网络层对应的权重范数均值确定每一网络层对应的剪枝比例。。
由上述描述可知,对当前的深层网络按照层权重的范数之和取平均值作为层之间的重要性进行评级,以此确定出每一网络层对应的剪枝力度,即剪枝比例,通过从整个网络引入全局信息,即层权重范数之和均值能够准确确定各个网络层对应的剪枝力度,保证剪枝效果的可靠性。
进一步的,所述S4包括:
根据每一网络层对应的聚类中心确定其对应的网络层内每一通道的所有权重与所述聚类中心的最近距离之和:
式中,Wc,k1,k2表示卷积核中第c个通道位置为(k1,k2)对应的卷积权重,c取值范围为[1,C],C表示当前网络层对应的通道总数,k1表示卷积的高度位置,k2表示卷积的宽度位置,K表示卷积的高度大小和宽度大小,D表示当前网络层利用预设聚类算法根据与当前网络层对应的剪枝比例确定出的k个聚类中心,Dj表示距离所述卷积权重Wc,k1,k2最近的聚类中心;
对计算出的每一网络层对应的各通道的所有权重与所述聚类中心的最近距离之和按照大小进行排序,得到每一网络层对应的排序后的最近距离之和序列;
根据每一网络层对应的剪枝比例和所述排序后的最近距离之和序列对每一网络层层内的通道进行剪枝。
由上述描述可知,在每一网络层内基于范数重要性判别的基础上,利用无监督学习引入层内全局相关性(权重差异性),对所有通道的权重按照剪枝力度进行聚类,用计算层内通道所有权重与所有聚类中心的最近距离之和代替范数作为判断通道重要性的标准,此时,距离近的权重范数大,距离远的权重范数小,范数相差不大时距离能够直接体现权重在整个网络中的一致性,此时同样可以依据距离大小进行通道的剪枝,既能够保证范数小的权重对应的通道被正确剪枝,也能够保证权重范数差不多的通道依据距离进行正确的选取并剪枝,既能够保证压缩效果,也能够保证压缩后的精确度。
进一步的,还包括步骤:
S5、基于原始训练数据对剪枝后的所述预设的目标检测算法进行微调;
S6、判断微调后的所述预设的目标检测算法是否符合预设要求,若否,返回执行所述步骤S2至S5直至微调后的所述预设的目标检测算法符合预设要求。
由上述描述可知,在剪枝完成后,通过原始数据对剪枝完成的目标检测算法进行微调,并判断是否能够达到预设要求,若否,重复执行步骤S2至S5直至达到预设要求,通过剪枝、微调加判断并进行适当循环迭代,进一步保证了剪枝效果。
进一步的,所述预设的目标检测算法包括Yolov3算法。
由上述描述可知,将上述权重差异性剪枝算法应用于目标检测Yolov3算法中,能够很好地将模型压缩应用到目标检测领域,在保证精度的同时实习简单快速的剪枝流程,极大程度的压缩Yolov3模型,使得Yolov3能够部署在计算资源有限的终端。
请参照图2,一种应用于目标检测的剪枝终端,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现以下步骤:
S1、对预设的目标检测算法进行训练直至收敛;
S2、根据收敛后的所述目标检测算法的深度神经网络模型中每一网络层的权重的范数确定每一网络层对应的剪枝比例;
S3、根据所述剪枝比例对其对应的网络层层内的所有通道的权重进行聚类,确定出每一网络层对应的聚类中心;
S4、根据每一网络层对应的聚类中心和剪枝比例对其所在的网络层层内的通道进行剪枝。
从上述描述可知,本发明的有益效果在于:将模型剪枝应用于目标检测领域,基于权重的范数确定每一网络层对应的剪枝比例,根据确定出的每一网络层对应的剪枝比例确定对应网络层的聚类中心,并以每一网络层对应的剪枝比例和聚类中心为基础对网络层内的通道进行剪枝,以聚类中心作为基础来确定通道是否被剪枝,基于范数的权重聚类实现深度神经网络模型中各个网络层的通道的剪枝,可以删除冗余通道实现对深度神经网络模型的压缩,剪枝流程简单,耗时少,并且在剪枝过程中依赖少,不需要依赖于任何参数与特定的层,同时在保证压缩的同时减少了精度损失。
进一步的,所述S2包括:
根据收敛后的所述目标检测算法的深度神经网络模型中每一网络层的权重的范数确定每一网络层对应的权重范数均值;
根据每一网络层对应的权重范数均值确定每一网络层对应的剪枝比例。
由上述描述可知,对当前的深层网络按照层权重的范数之和取平均值作为层之间的重要性进行评级,以此确定出每一网络层对应的剪枝力度,即剪枝比例,通过从整个网络引入全局信息,即层权重范数之和均值能够准确确定各个网络层对应的剪枝力度,保证剪枝效果的可靠性。
进一步的,所述S4包括:
根据每一网络层对应的聚类中心确定其对应的网络层内每一通道的所有权重与所述聚类中心的最近距离之和:
式中,Wc,k1,k2表示卷积核中第c个通道位置为(k1,k2)对应的卷积权重,c取值范围为[1,C],C表示当前网络层对应的通道总数,k1表示卷积的高度位置,k2表示卷积的宽度位置,K表示卷积的高度大小和宽度大小,D表示当前网络层利用预设聚类算法根据与当前网络层对应的剪枝比例确定出的k个聚类中心,Dj表示距离所述卷积权重Wc,k1,k2最近的聚类中心;
对计算出的每一网络层对应的各通道的所有权重与所述聚类中心的最近距离之和按照大小进行排序,得到每一网络层对应的排序后的最近距离之和序列;
根据每一网络层对应的剪枝比例和所述排序后的最近距离之和序列对每一网络层层内的通道进行剪枝。
由上述描述可知,在每一网络层内基于范数重要性判别的基础上,利用无监督学习引入层内全局相关性(权重差异性),对所有通道的权重按照剪枝力度进行聚类,用计算层内通道所有权重与所有聚类中心的最近距离之和代替范数作为判断通道重要性的标准,此时,距离近的权重范数大,距离远的权重范数小,范数相差不大时距离能够直接体现权重在整个网络中的一致性,此时同样可以依据距离大小进行通道的剪枝,既能够保证范数小的权重对应的通道被正确剪枝,也能够保证权重范数差不多的通道依据距离进行正确的选取并剪枝,既能够保证压缩效果,也能够保证压缩后的精确度。
进一步的,还包括步骤:
S5、基于原始训练数据对剪枝后的所述预设的目标检测算法进行微调;
S6、判断微调后的所述预设的目标检测算法是否符合预设要求,若否,返回执行所述步骤S2至S5直至微调后的所述预设的目标检测算法符合预设要求。
由上述描述可知,在剪枝完成后,通过原始数据对剪枝完成的目标检测算法进行微调,并判断是否能够达到预设要求,若否,重复执行步骤S2至S5直至达到预设要求,通过剪枝、微调加判断并进行适当循环迭代,进一步保证了剪枝效果。
进一步的,所述预设的目标检测算法包括Yolov3算法。
由上述描述可知,将上述权重差异性剪枝算法应用于目标检测Yolov3算法中,能够很好地将模型压缩应用到目标检测领域,在保证精度的同时实习简单快速的剪枝流程,极大程度的压缩Yolov3模型,使得Yolov3能够部署在计算资源有限的终端。
实施例一
请参照图1,一种应用于目标检测的剪枝方法,包括步骤:
S1、对预设的目标检测算法进行训练直至收敛;
其中,所述预设的目标检测算法包括但不限于目前流行的深度学习目标检测算法,比如Yolov3、SSD、faster rcnn、retinanet等以深度学习为基础的算法;
具体的,可以利用现有的数据集训练预设的目标检测算法,将目标检测算法训练至收敛,并利用pascalvoc的测试标准map评估模型,得到客观评测数据;
S2、根据收敛后的所述目标检测算法的深度神经网络模型中每一网络层的权重的范数之和确定每一网络层对应的剪枝比例;
根据收敛后的所述目标检测算法的深度神经网络模型中每一网络层的权重的范数确定每一网络层对应的权重范数均值;
根据每一网络层对应的权重范数均值确定每一网络层对应的剪枝比例;
具体的,在整个网络中对每一网络层的所有权重取范数,并求和取均值,得到每一网络层对应的权重范数均值,具体公式如下:
式中,wabcd表示权重的范数,N表示卷积核中卷积的个数,C表示卷积核通道数,H表示卷积的高度,W表示卷积的宽度;
对计算出的各个网络层对应的权重范数均值进行大小排序,均值越大,则权重在网络层越重要;
将排序后的权重范数均值划分成k个区间,每个区间附上对应的id值,将区间的id值乘以基础剪枝系数值即得到各个区间对应的最终剪枝力度,作为剪枝比例,则各个区间所包括的网络层对应的剪枝比例即为该区间对应的剪枝比例,即:
prue_rate=id*base_p
式中,prue_rate代表最终剪枝力度,id代表权重范数均值所在区间的id值,base_p代表基础剪枝系数值;
比如,假设基础剪枝力度p=0.2,各个区间id值分别为1,2,3,……,k,则第一区间的剪枝比例为1*0.2,第二个区间的剪枝比例为2*0.2,第k个区间的剪枝比例为k*0.2;在步骤S2中,如果拥有先验知识,可以直接人为指定剪枝比例;
S3、根据所述剪枝比例对其对应的网络层层内的所有通道的权重进行聚类,确定出每一网络层对应的聚类中心;
S4、根据每一网络层对应的聚类中心和剪枝比例对其所在的网络层层内的通道进行剪枝;
深层神经网络的层数越深,分辨率越低,滤波器的输出通道也越多,但是,滤波器的输出通道存在大量的冗余性,因此,可以删除冗余通道实现对模型的压缩;
通常,带偏置项b的卷积计算如下:
式中,为卷积核中通道c的相应位置的卷积权重参数,C表示当前网络层对应的通道总数,k1表示卷积核的高度位置,k2表示卷积核的宽度位置,K表示卷积核的高度大小和宽度大小,为此处的输入,b为偏置常数,y为实际经过卷积核的输出;
如果定义:
则可将式(1)简化为:
在式(3)中,当每个权重的L1范数越小,对整个卷积的计算结果越小,因此,从整个网络中引入全局信息,对当前的深层网络按照层权重的范数之和取平均值作为层之间的重要性进行评级,按照实际应用场景的需求对网络的每一层的剪枝力度进行设定;
得到剪枝力度后,接下来最关键的是需要讨论依据剪枝力度剪掉层内哪些通道,本实施例在每一层内基于范数重要性判别基础上,利用无监督学习引入层内全局相关性(权重差异性),对所有通道的权重按照剪枝力度进行聚类,用计算层内通道所有权重与所有聚类中心的最近距离之和替代范数作为判断通道重要性的标准,如式(4),此时距离近的权重范数大,距离远的权重范数小,范数相差不大时距离能够直接体现权重在整个网络中的一致性,此时同样依据距离大小删去通道,这样既保证基本满足了式(3),同时又引入了权重差异性;
具体的,根据每一网络层对应的聚类中心确定其对应的网络层内每一通道的所有权重与所述聚类中心的最近距离之和:
式中,Wc,k1,k2表示卷积核中第c个通道位置为(k1,k2)对应的卷积权重,c取值范围为[1,C],C表示当前网络层对应的通道总数,k1表示卷积的高度位置,k2表示卷积的宽度位置,K表示卷积的高度大小和宽度大小,D表示当前网络层利用预设聚类算法根据与当前网络层对应的剪枝比例确定出的k个聚类中心,Dj表示距离所述卷积权重Wc,k1,k2最近的聚类中心;
对计算出的每一网络层对应的各通道的所有权重与所述聚类中心的最近距离之和按照大小进行排序,得到每一网络层对应的排序后的最近距离之和序列;
根据每一网络层对应的剪枝比例和所述排序后的最近距离之和序列对每一网络层层内的通道进行剪枝;
具体的,以某个网络层为例进行说明:
假设该网络层所在的区间为第二区间,则其剪枝比例为2*0.2=0.4;
该网络层具有C个通道,剪枝比例为0.4,则本网络层需要剪枝L个(向下取整0.4*C)个通道,保留C-L个通道;
对本层的所有权重进行聚类,聚类中心设为C-L个,使用欧式距离作为距离距离计算公式,可以最终得到C-L个聚类中心;
计算每一权重到C-L个聚类中心的最小距离,计算每一个通道的所有权重的最小距离之和S;
对所有通道对应的所有权重的最小距离之和按照大小进行排序,将前L个距离大的通道删除;
S5、基于原始训练数据对剪枝后的所述预设的目标检测算法进行微调;
即利用剪枝后的模型,在原来的数据上重新进行训练,由于只是做了剪枝操作,训练很快,一般10个epoch内就可以完成,所以称之为微调;
S6、判断微调后的所述预设的目标检测算法是否符合预设要求,若否,返回执行所述步骤S2至S5直至微调后的所述预设的目标检测算法符合预设要求;
通过迭代剪枝进一步保证剪枝效果;
其中,预设要求可以是模型的压缩大小是否满足部署要求,比如要求模型从100M压缩到50M,如果满足,则完成剪枝,不满足,则重复剪枝过程直至模型满足压缩要求。
实施例二
请参照图2,一种应用于目标检测的剪枝终端1,包括存储器2、处理器3及存储在存储器2上并可在处理器3上运行的计算机程序,所述处理器3执行所述计算机程序时实现实施例一中的各个步骤。
实施例三
对上述应用于目标检测的剪枝方法进行测试:
考虑到不同的算法压缩力度不一致,本实施例希望在同一个压缩力度的情况下对比压缩后的精度损失,因此,本实施例复现了背景技术中所述的第二种方法和第三种方法来对Yolov3进行剪枝(只做一次剪枝、不考虑迭代剪枝),设定统一对Yolov3算法的backbone网络darknet53每一层压缩0.2percent,即每一层保留原来的0.8倍channels,则原始通道与现在剪枝后的通道数按照darknet53各层的顺序对比如表1所示(只对比卷积层的channels,shortcut需要维度相同才能相加,此处为了降低复杂度,统一不剪shortcut层的通道):
表1
在相同大小的模型下,使用目标检测的map作为检测标准,在基于公开数据集pascal VOC数据集进行训练和测试,在voc2012+voc2007训练集上进行训练,在voctest2007上进行测试,经过训练,原始Yolov3经过优化后前后的模型精度比对如表2所示:
表2
由表2的数据可以看到,原始Yolov3算法的精度达到0.8406,采用背景技术中第三种方法对Yolov3算法进行剪枝后精度达到0.8125,采用背景技术中第二中方法对Yolov3算法进行剪枝后精度达到0.8175,而采用本发明的剪枝方法对Yolov3算法进行剪枝后精度达到0.8221,从中可以看到精度损坏降低了,并且剪枝流程更加简化快速。
综上所述,本发明提供的一种应用于目标检测的剪枝方法及终端,将模型剪枝应用于目标检测领域,模型剪枝时,基于每一网络层对应的权重范数均值确定每一网络层对应的剪枝比例,根据确定出的每一网络层对应的剪枝比例确定对应网络层的聚类中心,并将通道权重与本层聚类中心的最小距离和作为通道重要性的标准,以此作为通道的权重差异性,再结合对应的剪枝比例对对应层次的网络通道进行剪枝,基于范数的权重聚类实现深度神经网络模型中各个网络层的通道的剪枝,可以删除冗余通道实现对深度神经网络模型的压缩,将模型剪枝应用到目标检测算法Yolov3中,极大程度地压缩Yolov3模型,使得Yolov3能够部署在计算资源有限的终端上,在大幅度压缩模型的同时,模型精度损失非常小,相较于其他剪枝方案,剪枝流程更加简单、快捷,耗时少,并且在剪枝过程中依赖少,不需要依赖于任何参数与特定的层,如果有一定的先验知识,甚至可以直接剪枝整个网络,进一步简化剪枝流程和提高剪枝效率。
以上所述仅为本发明的实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等同变换,或直接或间接运用在相关的技术领域,均同理包括在本发明的专利保护范围内。
Claims (8)
1.一种应用于目标检测的剪枝方法,其特征在于,包括步骤:
S1、对预设的目标检测算法进行训练直至收敛;
S2、根据收敛后的所述目标检测算法的深度神经网络模型中每一网络层的权重的范数确定每一网络层对应的剪枝比例;
S3、根据所述剪枝比例对其对应的网络层层内的所有通道的权重进行聚类,确定出每一网络层对应的聚类中心;
S4、根据每一网络层对应的聚类中心和剪枝比例对其所在的网络层层内的通道进行剪枝;
所述S4包括:
根据每一网络层对应的聚类中心确定其对应的网络层内每一通道的所有权重与所述聚类中心的最近距离之和:
式中,Wc,k1,k2表示卷积核中第c个通道位置为(k1,k2)对应的卷积权重,c取值范围为[1,C],C表示当前网络层对应的通道总数,k1表示卷积的高度位置,k2表示卷积的宽度位置,K表示卷积的高度大小和宽度大小,D表示当前网络层利用预设聚类算法根据与当前网络层对应的剪枝比例确定出的k个聚类中心,Dj表示距离所述卷积权重Wc,k1,k2最近的聚类中心;
对计算出的每一网络层对应的各通道的所有权重与所述聚类中心的最近距离之和按照大小进行排序,得到每一网络层对应的排序后的最近距离之和序列;
根据每一网络层对应的剪枝比例和所述排序后的最近距离之和序列对每一网络层层内的通道进行剪枝。
2.根据权利要求1所述的一种应用于目标检测的剪枝方法,其特征在于,所述S2包括:
根据收敛后的所述目标检测算法的深度神经网络模型中每一网络层的权重的范数确定每一网络层对应的权重范数均值;
根据每一网络层对应的权重范数均值确定每一网络层对应的剪枝比例。
3.根据权利要求1或2所述的一种应用于目标检测的剪枝方法,其特征在于,还包括步骤:
S5、基于原始训练数据对剪枝后的所述预设的目标检测算法进行微调;
S6、判断微调后的所述预设的目标检测算法是否符合预设要求,若否,返回执行所述步骤S2至S5直至微调后的所述预设的目标检测算法符合预设要求。
4.根据权利要求1或2所述的一种应用于目标检测的剪枝方法,其特征在于,所述预设的目标检测算法包括Yolov3算法。
5.一种应用于目标检测的剪枝终端,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现以下步骤:
S1、对预设的目标检测算法进行训练直至收敛;
S2、根据收敛后的所述目标检测算法的深度神经网络模型中每一网络层的权重的范数确定每一网络层对应的剪枝比例;
S3、根据所述剪枝比例对其对应的网络层层内的所有通道的权重进行聚类,确定出每一网络层对应的聚类中心;
S4、根据每一网络层对应的聚类中心和剪枝比例对其所在的网络层层内的通道进行剪枝;
所述S4包括:
根据每一网络层对应的聚类中心确定其对应的网络层内每一通道的所有权重与所述聚类中心的最近距离之和:
式中,Wc,k1,k2表示卷积核中第c个通道位置为(k1,k2)对应的卷积权重,c取值范围为[1,C],C表示当前网络层对应的通道总数,k1表示卷积的高度位置,k2表示卷积的宽度位置,K表示卷积的高度大小和宽度大小,D表示当前网络层利用预设聚类算法根据与当前网络层对应的剪枝比例确定出的k个聚类中心,Dj表示距离所述卷积权重Wc,k1,k2最近的聚类中心;
对计算出的每一网络层对应的各通道的所有权重与所述聚类中心的最近距离之和按照大小进行排序,得到每一网络层对应的排序后的最近距离之和序列;
根据每一网络层对应的剪枝比例和所述排序后的最近距离之和序列对每一网络层层内的通道进行剪枝。
6.根据权利要求5所述的一种应用于目标检测的剪枝终端,其特征在于,所述S2包括:
根据收敛后的所述目标检测算法的深度神经网络模型中每一网络层的权重的范数确定每一网络层对应的权重范数均值;
根据每一网络层对应的权重范数均值确定每一网络层对应的剪枝比例。
7.根据权利要求5或6所述的一种应用于目标检测的剪枝终端,其特征在于,还包括步骤:
S5、基于原始训练数据对剪枝后的所述预设的目标检测算法进行微调;
S6、判断微调后的所述预设的目标检测算法是否符合预设要求,若否,返回执行所述步骤S2至S5直至微调后的所述预设的目标检测算法符合预设要求。
8.根据权利要求5或6所述的一种应用于目标检测的剪枝终端,其特征在于,所述预设的目标检测算法包括Yolov3算法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010442414.5A CN111612144B (zh) | 2020-05-22 | 2020-05-22 | 一种应用于目标检测的剪枝方法及终端 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010442414.5A CN111612144B (zh) | 2020-05-22 | 2020-05-22 | 一种应用于目标检测的剪枝方法及终端 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111612144A CN111612144A (zh) | 2020-09-01 |
CN111612144B true CN111612144B (zh) | 2021-06-15 |
Family
ID=72199608
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010442414.5A Active CN111612144B (zh) | 2020-05-22 | 2020-05-22 | 一种应用于目标检测的剪枝方法及终端 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111612144B (zh) |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112651500B (zh) * | 2020-12-30 | 2021-12-28 | 深圳金三立视频科技股份有限公司 | 一种量化模型的生成方法及终端 |
CN112733925A (zh) * | 2021-01-04 | 2021-04-30 | 国网山东省电力公司枣庄供电公司 | 基于fpcc-gan的构建轻型图像分类网络的方法及系统 |
CN112734036B (zh) * | 2021-01-14 | 2023-06-02 | 西安电子科技大学 | 基于剪枝卷积神经网络的目标检测方法 |
CN112766397B (zh) * | 2021-01-27 | 2023-12-05 | 歌尔股份有限公司 | 一种分类网络及其实现方法和装置 |
CN113065644B (zh) * | 2021-04-26 | 2023-09-29 | 上海哔哩哔哩科技有限公司 | 用于压缩神经网络模型的方法及装置、设备和介质 |
CN113657421B (zh) * | 2021-06-17 | 2024-05-28 | 中国科学院自动化研究所 | 卷积神经网络压缩方法和装置、图像分类方法和装置 |
CN113762505B (zh) * | 2021-08-13 | 2023-12-01 | 中国电子科技集团公司第三十八研究所 | 一种卷积神经网络的按通道l2范数聚类剪枝方法 |
CN113743591B (zh) * | 2021-09-14 | 2023-12-26 | 北京邮电大学 | 一种自动化剪枝卷积神经网络的方法及其系统 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105184823A (zh) * | 2015-09-29 | 2015-12-23 | 南京理工大学 | 基于视觉感知的运动目标检测算法性能的评价方法 |
CN107729999A (zh) * | 2016-08-12 | 2018-02-23 | 北京深鉴科技有限公司 | 考虑矩阵相关性的深度神经网络压缩方法 |
CN108846445A (zh) * | 2018-06-26 | 2018-11-20 | 清华大学 | 一种基于相似性学习的卷积神经网络滤波器剪枝技术 |
CN109635936A (zh) * | 2018-12-29 | 2019-04-16 | 杭州国芯科技股份有限公司 | 一种基于重训练的神经网络剪枝量化方法 |
CN109726799A (zh) * | 2018-12-27 | 2019-05-07 | 四川大学 | 一种深度神经网络的压缩方法 |
CN110443359A (zh) * | 2019-07-03 | 2019-11-12 | 中国石油大学(华东) | 基于自适应联合剪枝-量化的神经网络压缩算法 |
CN110895714A (zh) * | 2019-12-11 | 2020-03-20 | 天津科技大学 | 一种YOLOv3的网络压缩方法 |
CN111079781A (zh) * | 2019-11-07 | 2020-04-28 | 华南理工大学 | 基于低秩与稀疏分解的轻量化卷积神经网络图像识别方法 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20180089762A1 (en) * | 2016-09-29 | 2018-03-29 | Marcos López de Prado | Hierarchical construction of investment portfolios using clustered machine learning |
US11315018B2 (en) * | 2016-10-21 | 2022-04-26 | Nvidia Corporation | Systems and methods for pruning neural networks for resource efficient inference |
US20200160185A1 (en) * | 2018-11-21 | 2020-05-21 | Nvidia Corporation | Pruning neural networks that include element-wise operations |
-
2020
- 2020-05-22 CN CN202010442414.5A patent/CN111612144B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105184823A (zh) * | 2015-09-29 | 2015-12-23 | 南京理工大学 | 基于视觉感知的运动目标检测算法性能的评价方法 |
CN107729999A (zh) * | 2016-08-12 | 2018-02-23 | 北京深鉴科技有限公司 | 考虑矩阵相关性的深度神经网络压缩方法 |
CN108846445A (zh) * | 2018-06-26 | 2018-11-20 | 清华大学 | 一种基于相似性学习的卷积神经网络滤波器剪枝技术 |
CN109726799A (zh) * | 2018-12-27 | 2019-05-07 | 四川大学 | 一种深度神经网络的压缩方法 |
CN109635936A (zh) * | 2018-12-29 | 2019-04-16 | 杭州国芯科技股份有限公司 | 一种基于重训练的神经网络剪枝量化方法 |
CN110443359A (zh) * | 2019-07-03 | 2019-11-12 | 中国石油大学(华东) | 基于自适应联合剪枝-量化的神经网络压缩算法 |
CN111079781A (zh) * | 2019-11-07 | 2020-04-28 | 华南理工大学 | 基于低秩与稀疏分解的轻量化卷积神经网络图像识别方法 |
CN110895714A (zh) * | 2019-12-11 | 2020-03-20 | 天津科技大学 | 一种YOLOv3的网络压缩方法 |
Non-Patent Citations (2)
Title |
---|
《Channel Pruning for Accelerating Very Deep Neural Networks》;Yihui He et al.;《Computer Vision Foundation》;20171231;第1389-1397页; * |
韩冰冰.《基于通道剪枝的模型压缩和加速算法研究》.《硕士学位论文》.2019, * |
Also Published As
Publication number | Publication date |
---|---|
CN111612144A (zh) | 2020-09-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111612144B (zh) | 一种应用于目标检测的剪枝方法及终端 | |
CN112101430B (zh) | 用于图像目标检测处理的锚框生成方法及轻量级目标检测方法 | |
US8082263B2 (en) | Method, apparatus and system for multimedia model retrieval | |
CN113128355A (zh) | 一种基于通道剪枝的无人机图像实时目标检测方法 | |
CN111523414A (zh) | 人脸识别方法、装置、计算机设备和存储介质 | |
CN112163628A (zh) | 一种适用于嵌入式设备的改进目标实时识别网络结构的方法 | |
CN113469253A (zh) | 一种基于三元组孪生网络的窃电检测方法 | |
CN106815842A (zh) | 一种改进的基于超像素的图像显著性检测方法 | |
CN113283473B (zh) | 一种基于cnn特征映射剪枝的快速水下目标识别方法 | |
CN109361007B (zh) | 电池配组方法 | |
CN112766484A (zh) | 浮点神经网络模型量化系统和方法 | |
CN111738319B (zh) | 一种基于大规模样本的聚类结果评价方法及装置 | |
CN110647990A (zh) | 基于灰色关联分析的深度卷积神经网络模型的裁剪方法 | |
CN111461324A (zh) | 基于层恢复敏感度的分级剪枝方法 | |
CN116127298A (zh) | 基于三元组损失的小样本射频指纹识别方法 | |
Balmelli et al. | Efficient algorithms for embedded rendering of terrain models | |
CN113033804B (zh) | 一种面向遥感图像的卷积神经网络压缩方法 | |
CN113343924B (zh) | 一种基于循环谱特征和生成对抗网络的调制信号识别方法 | |
CN112738724B (zh) | 一种区域目标人群的精准识别方法、装置、设备和介质 | |
CN109241201A (zh) | 一种基于曲率的拉普拉斯中心性峰值数据聚类方法 | |
CN109993304B (zh) | 一种基于语义分割的检测模型压缩方法 | |
CN114202694A (zh) | 基于流形混合插值和对比学习的小样本遥感场景图像分类方法 | |
CN111160530A (zh) | 模型的压缩处理方法、装置及计算机设备 | |
CN113327227A (zh) | 一种基于MobilenetV3的小麦头快速检测方法 | |
CN112488291B (zh) | 一种神经网络8比特量化压缩方法 |
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 |