CN110874631B - 一种基于特征图稀疏化的卷积神经网络剪枝方法 - Google Patents

一种基于特征图稀疏化的卷积神经网络剪枝方法 Download PDF

Info

Publication number
CN110874631B
CN110874631B CN202010066747.2A CN202010066747A CN110874631B CN 110874631 B CN110874631 B CN 110874631B CN 202010066747 A CN202010066747 A CN 202010066747A CN 110874631 B CN110874631 B CN 110874631B
Authority
CN
China
Prior art keywords
pruning
network
convolutional neural
feature map
neural network
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
Application number
CN202010066747.2A
Other languages
English (en)
Other versions
CN110874631A (zh
Inventor
卓成
闫心刚
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hangzhou Zhicun Computing Technology Co ltd
Original Assignee
Zhejiang University ZJU
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Zhejiang University ZJU filed Critical Zhejiang University ZJU
Priority to CN202010066747.2A priority Critical patent/CN110874631B/zh
Publication of CN110874631A publication Critical patent/CN110874631A/zh
Application granted granted Critical
Publication of CN110874631B publication Critical patent/CN110874631B/zh
Priority to US17/117,130 priority patent/US11030528B1/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/06Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons
    • G06N3/063Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons using electronic means
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/21Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
    • G06F18/213Feature extraction, e.g. by transforming the feature space; Summarisation; Mappings, e.g. subspace methods
    • G06F18/2136Feature extraction, e.g. by transforming the feature space; Summarisation; Mappings, e.g. subspace methods based on sparsity criteria, e.g. with an overcomplete basis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/21Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
    • G06F18/214Generating training patterns; Bootstrap methods, e.g. bagging or boosting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/21Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
    • G06F18/217Validation; Performance evaluation; Active pattern learning techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/21Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
    • G06F18/217Validation; Performance evaluation; Active pattern learning techniques
    • G06F18/2193Validation; Performance evaluation; Active pattern learning techniques based on specific statistical tests
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/24Classification techniques
    • G06F18/241Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/082Learning methods modifying the architecture, e.g. adding, deleting or silencing nodes or connections
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/40Extraction of image or video features
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/40Extraction of image or video features
    • G06V10/44Local feature extraction by analysis of parts of the pattern, e.g. by detecting edges, contours, loops, corners, strokes or intersections; Connectivity analysis, e.g. of connected components
    • G06V10/443Local feature extraction by analysis of parts of the pattern, e.g. by detecting edges, contours, loops, corners, strokes or intersections; Connectivity analysis, e.g. of connected components by matching or filtering
    • G06V10/449Biologically inspired filters, e.g. difference of Gaussians [DoG] or Gabor filters
    • G06V10/451Biologically inspired filters, e.g. difference of Gaussians [DoG] or Gabor filters with interaction between the filter responses, e.g. cortical complex cells
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/40Extraction of image or video features
    • G06V10/44Local feature extraction by analysis of parts of the pattern, e.g. by detecting edges, contours, loops, corners, strokes or intersections; Connectivity analysis, e.g. of connected components
    • G06V10/443Local feature extraction by analysis of parts of the pattern, e.g. by detecting edges, contours, loops, corners, strokes or intersections; Connectivity analysis, e.g. of connected components by matching or filtering
    • G06V10/449Biologically inspired filters, e.g. difference of Gaussians [DoG] or Gabor filters
    • G06V10/451Biologically inspired filters, e.g. difference of Gaussians [DoG] or Gabor filters with interaction between the filter responses, e.g. cortical complex cells
    • G06V10/454Integrating the filters into a hierarchical structure, e.g. convolutional neural networks [CNN]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/82Arrangements for image or video recognition or understanding using pattern recognition or machine learning using neural networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/40Extraction of image or video features
    • G06V10/513Sparse representations

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • General Physics & Mathematics (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Evolutionary Computation (AREA)
  • Artificial Intelligence (AREA)
  • Health & Medical Sciences (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • General Health & Medical Sciences (AREA)
  • Biomedical Technology (AREA)
  • Molecular Biology (AREA)
  • Software Systems (AREA)
  • Computing Systems (AREA)
  • Biophysics (AREA)
  • Mathematical Physics (AREA)
  • Computational Linguistics (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Multimedia (AREA)
  • Evolutionary Biology (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Biodiversity & Conservation Biology (AREA)
  • Neurology (AREA)
  • Medical Informatics (AREA)
  • Databases & Information Systems (AREA)
  • Probability & Statistics with Applications (AREA)
  • Image Analysis (AREA)

Abstract

本发明公开了一种基于特征图稀疏化的卷积神经网络剪枝方法,涉及如何压缩卷积神经网络减少其参数量和计算量以便于实际部署;在训练过程中,通过在损失函数中增加对激活层之后的特征图L1或L2正则化,使相应的特征图通道具有不同的稀疏度,在一定剪枝率下根据特征图通道的稀疏度剪去相应通道对应的卷积核,微调剪枝后网络获得新的准确度,根据剪枝前后的准确度变化调节剪枝率,经过多次迭代,寻找近最优剪枝率,在满足准确度不下降的条件下,实现最大程度的剪枝。该方法大大减少了卷积神经网络的参数量和计算量。

Description

一种基于特征图稀疏化的卷积神经网络剪枝方法
技术领域
本发明涉及深度学习领域中卷积神经网络压缩技术,具体是一种基于特征图稀疏化的卷积神经网络剪枝方法。
背景技术
卷积神经网络是一种常见的深度学习网络架构,在图像分类、目标检测、图像风格迁移等诸多问题上表现出色。同时,卷积神经网络的运作模式依然是黑箱,对于特定问题如何设置网络的层数和各层的通道数并没有扎实的理论基础,人为设置的网络层数和各层通道数大部分时候会造成网络参数的冗余,进而使得卷积神经网络的计算量大、占用内存过多,不利于网络的落地应用。所以,进行卷积神经网络的模型压缩是很有必要的。
针对于卷积神经网络的模型压缩问题,前人提出了低秩分解、量化、知识蒸馏、剪枝等方法。
非专利文献1(Jaderberg M,et.al.″Speeding up convolutional neuralnetworks with low rank expansions.″Proc.arxiv,2014.)利用低秩分解的方法拆分卷积层的卷积运算,取得了4.5倍的加速效果,但是造成准确度下降1%。
非专利文献2(Gupta S,et.al.″Deep learning with limited numericalprecision.″Proc.International Conference on Machine Learning,2015.)利用16比特的定点数来训练卷积神经网络,同时实现了在MNIST数据集上准确度不下降,但文章并没有给出在更大数据集上的测试结果。
非专利文献3(Zagoruyko S,et.al.″Paying more attention to attention:improving the performance ofconvolutional neural networks via attentiontransfer.″Proc.arxiv,2016.)采用特征学习的方式,使得一个小型卷积神经网络学习道一个大型神经网络的特征,进而实现压缩模型的目的,但是,小型卷积神经网络设置多少层数和各层通道数比较合适,仍然是一个尚未解决的问题。
为了加快卷积神经网络的计算,降低网络计算对硬件设备的要求,从卷积神经网络特征图的稀疏化角度出发,设计了一种结构化剪枝方法。
发明内容
本发明针对现有技术的不足,提供一种基于特征图稀疏化的卷积神经网络剪枝方法。
VGG、ResNet等常见的卷积神经网络都是按照卷积层、批归一化层、非线性激活层的顺序重复叠加构成的。将每组卷积层、批归一化层、非线性激活层构成的单元作为作为卷积神经网络的特征提取单元,这些特征提取单元按照卷积神经网络的深度方向顺序排列。一组特征提取单元的输出特征图作为下一组特征提取单元的输入特征图。
本发明解决技术问题所采用的技术方案如下:一种基于特征图稀疏化的卷积神经网络剪枝方法,该方法包括以下步骤:
1)对卷积神经网络中的特征图进行稀疏化训练;
在训练过程中对卷积神经网络中的损失函数加入特征图的稀疏项,所述特征图的稀疏项如下:
Figure GDA0002436279910000021
其中,λ为控制卷积神经网络预测所产生损失与稀疏项损失比例关系的稀疏因子,l为激活层索引,L为激活层数,c为第l层激活层后特征图的通道索引,Cl为第l层激活层后的特征图的通道数,Hl,c、Wl,c分别为第l层激活层后特征图的第c个通道的高度和宽度,mi,j为相应特征图的第(i,j)个数值,g()为L1、L2正则化或其他正则项。
L1正则化公式为:
g(mi,j)=||mi,j||1
L2正则化公式为:
g(mi,j)=||mi,j||2
通过遍历整个训练数据集计算特征图通道的均值,作为特征图的稀疏度,不同的输入样本,计算所得的特征图的稀疏度不同,同时保存特征图的稀疏度,加入特征图通道选择层,对卷积神经网络训练并使其收敛后,保存验证集最高准确度以及相应的网络权重。
2)网络剪枝。
2.1)设定初始剪枝率,并设定剪枝率上限为1,剪枝率下限为0。
2.2)将验证集准确度最高的网络权重作为卷积神经网络的权重,按照如下规则进行剪枝:
将特征图各通道的稀疏度按照从小到大的顺序排序,即sortmin→max{特征图稀疏度},然后对各通道特征图稀疏度按照剪枝率将前n个通道对应到通道选择层的非可学习参数mask值置为0,剩余通道对应的通道选择层的非可学习参数mask值置为1。
对剪枝后的网络进行再训练,直到网络收敛,获得剪枝后的验证集最高准确度。
2.3)比较剪枝前后验证集的最高准确度,若剪枝后的验证集最高准确度大于等于剪枝前的验证集最高准确度,则将当前的剪枝率作为新的剪枝率下限,并提高剪枝率,否则将当前的剪枝率作为新的剪枝率上限,并降低剪枝率,重复步骤2.2)和步骤2.3),直到剪枝率上限与下限的差值小于一定的阈值,则满足终止条件进入步骤3);
3)保存剪枝后的网络:去除通道选择层,并拷贝权重数据到新的网络中,该新的网络即为剪枝后的卷积神经网络。
进一步地,所述步骤1)中,通道选择层的构建如下:设经过某层后的特征图有C个通道,定义通道选择层C个非可学习参数mask=[m1,m2,m3,…,mC],m1,m2,m3,…mc分别特征图中C个通道所对应的系数,其取值为0或1。0表示该通道不能传递到后面的计算中,1表示该通道可以传递到后面的计算中。
进一步地,所述步骤1)中,计算特征图通道的均值具体如下:
在每个训练epoch开始的时候,为各激活层之后特征图的每个通道定义相应的均值变量ch_avg,初始值均为0。该训练epoch的第1个batch计算时,求取ch_avg:
Figure GDA0002436279910000031
其中,batch_size为批尺寸,H和W分别为特征图的高度和宽度,mi,j,k为第i个样本相应通道的第(j,k)个数值。
对于从第2开始之后的batch,按照上面的公式计算出通道均值记为new_ch_avg。同时按照下面的方式更新ch_avg:
ch_avg←(momentum×ch_avg+(1-momentum)×new_ch_avg)
momentum为动量参数,取值在0.9-0.99之间,“←”的含义为将“←”右边的值赋给左边。
进一步地,所述步骤2.3)中,终止条件定义如下:
将剪去的通道数与网络总通道数的比值定义为剪枝率,表示为pruned_ratio。剪枝率上限表示为upper_ratio,剪枝率下限表示为lower_ratio。终止条件设置为upper_ratio-lower_ratio<η,η的取值涉及到寻找近最优剪枝率的迭代次数,一般取值在0.005-0.2。
进一步地,所述步骤2.3)中,提高或降低剪枝率的方式如下:
pruned_ratio为此次迭代的剪枝率。
按照如下方式提高剪枝率:
lower_ratio←pruned_ratio
Figure GDA0002436279910000032
按照如下方式降低剪枝率:
upper_ratio←pruned_ratio
Figure GDA0002436279910000041
“←”的含义为将“←”右边的值赋给左边。
进一步地,该方法应用于农作物病害分类,采集农作物叶子图片作为数据集,并对卷积神经网络中的特征图进行稀疏化训练和网络剪枝,得到剪枝后的卷积神经网络,将现场采集的农作物叶子的图片输入到剪枝后的网络中,输出为农作物病害的类别。
本发明的有益效果是:提供了一种基于特征图稀疏化的卷积神经网络剪枝方法。通过在损失函数中增加对激活层之后的特征图L1或L2正则化,使相应的特征图通道具有不同的稀疏度,后根据特征图通道的稀疏度剪去相应通道对应的卷积核,经过多次迭代,寻找近最优剪枝率,在满足准确度不下降的条件下,实现最大程度的剪枝。通过该剪枝方法压缩的卷积神经网络具有硬件友好的特点,能够在多种硬件平台上部署。
附图说明
图1是本发明方法流程图;
图2是本发明的通道选择层示意图;
图3是本发明的卷积层权重拷贝图。
具体实施方式
以下结合附图对本发明具体实施方式作进一步详细说明。
选择农作物(番茄)病害分类作为任务,病害包括番茄白粉病、早疫病、斑点病等等16种类,数据集为农作物(番茄)叶子图片集。卷积神经网络采用卷积层+批归一化层+ReLu激活层组成的特征提取单元叠加、最后线性层输出类别的结构形式,特征提取单元表示为C,池化层表示为M,线性层表示为L,16层的网络结构表示为[C(64),C(64),M,C(128),C(128),C(128),M,C(256),C(256),C(256),M,C(512),C(512),C(512),M,L],其中括号中的数字表示通道数。
如图1所示,按照本发明方法流程图,本发明的具体实施步骤为:对上述卷积神经网络中的各个特征提取单元输出的特征图进行稀疏化训练;
1.1)在卷积神经网络的损失函数中加入对所有激活层之后特征图的稀疏项:
Figure GDA0002436279910000042
上式中,第一项为模型预测所产生的损失,x为网络的输入,为番茄叶子图片数据,W为网络的权重,f(x,W)为网络的输出,y为样本标签,本示例中,样本标签为0-16之间的整数。
第二项为所有激活层之后特征图的稀疏项,λ为控制两项比例关系的稀疏因子,其取值优选为0.0001-0.0005之间,l为激活层索引,取值范围为1-10,L为激活层数,为10,c为第l层激活层后特征图的通道索引,Cl为第l层激活层后的特征图的通道数,Hl,c、Wl,c分别为第l层激活层后特征图的第c个通道的高度和宽度,mi,j为相应特征图的第(i,j)个数值,g()为L1或者L2正则化。
L1正则化公式为:
g(mi,j)=||mi,j||1
L2正则化公式为:
g(mi,j)=||mi,j||2
1.2)在激活层之后增加通道选择层。设某一激活层后的特征图有C个通道,定义通道选择层C个非可学习参数mask=[m1,m2,m3,…,mC],m1,m2,m3,…mC分别特征图中C个通道所对应的系数,其取值为0或1。0表示该通道不能传递到后面的计算中,1表示该通道可以传递到后面的计算中。如图2所示,为C=5,mask=[1,0,0,1,1]的情况,对应值为1的通道,可以通过通道选择层。初始状态下,C个非可学习参数均取值为1。
1.3)在训练过程中,为激活层后特征图每个通道计算均值,作为该通道重要性的凭据。不同的输入样本,计算所得的特征图不同。特征图通道均值遍历整个训练数据集得到。
在每个训练epoch开始的时候,为各激活层之后特征图的每个通道定义相应的均值变量ch_avg,初始值均为0。该训练epoch的第1个batch计算时,求取ch_avg:
Figure GDA0002436279910000051
其中,batch_size为批尺寸,本示例中取值为64,H和W分别为特征图的高度和宽度,mi,j,k为第i个样本相应通道的第(j,k)个数值。对于从第2开始之后的batch,按照上面的公式计算出通道均值记为new_ch_avg。同时按照下面的方式更新ch_avg:
ch_avg←(momentum×ch_avg+(1-momentum)×new_ch_avg)
momentum为动量参数,取值在0.9-0.99之间,“←”的含义为将“←”右边的值赋给左边。
1.4)特征图稀疏化训练若干个epoch之后,网络收敛,记录下的验证集的最高准确度initial_acc。本示例中训练160个epoch,网络即可收敛,此时验证集的最高准确度为88.03%。
2)网络剪枝。
2.1)卷积神经网络加载训练时验证集准确度最高的网络权重。将特征图各通道的ch_avg按照从小到大的顺序排序。
将剪去的通道数与网络总通道数的比值定义为剪枝率,表示为pruned_ratio。剪去的通道数目为pruned_channels=pruned_ratio×网络总通道数。剪枝率上限upper_ratio为1,剪枝率下限lower_ratio为0。初始剪枝率为0.5。已经排好序的各通道特征图均值,即sortmin→max{ch_avg},其中前pruned_channels数目个通道对应到通道选择层的mask值置为0,剩余通道对应的通道选择层的mask值置为1。
2.2)改变通道选择层的mask值之后,微调网络,即继续训练一定的epoch数,取值60。网络收敛后,记录剪枝后网络在验证集上的最高准确度pruned_acc。
2.3)判断是否满足终止条件,终止条件设置为upper_ratio-lower_ratio<η,η的取值涉及到寻找近最优剪枝率的迭代次数,一般取值在0.005-0.02。如果满足终止条件,判断pruned_acc+ε是否大于initial_acc,若是,则令lower_ratio等于pruned_ratio,同时保存此时的网络权重;若否,不做处理。然后进行步骤3)。如果不满足终止条件,进行步骤2.4)。
2.4)比较剪枝后的最高准确度pruned_acc与剪枝前的最高准确度initial_acc,设置剪枝后最大允许准确度损失为ε。如果pruned_acc+ε>initial_acc,说明在此剪枝率下可以保持网络准确度,可以提高剪枝率,同时保存此时的网络权重;如果pruned_acc+ε<initial_acc,说明在此剪枝率下准确度下降,需降低剪枝度。
按照如下方式提高剪枝率:
lower_ratio←pruned_ratio
Figure GDA0002436279910000061
按照如下方式降低剪枝率:
upper_ratio←pruned_ratio
Figure GDA0002436279910000062
按照新的lower_ratio、pruned_ratio、upper_ratio重新进行步骤2.1)到步骤2.4),直到满足步骤2.3)的终止条件为止,“←”的含义为将“←”右边的值赋给左边。
3)保存剪枝后的网络
按照如下方式去除通道选择层,并拷贝权重数据到新的网络中。
3.1)对每个通道选择层进行求和,得到数组cfg=[c1,c2,c3…cn-1,cn]。保持网络结构不变的基础上,根据cfg重新定义网络各层的通道数目。
3.2)拷贝卷积层、批归一化层、线性层等层的权重拷贝到新的网络中。
对于卷积层的权重,如图3所示,上一个特征提取单元后的通道选择层的mask值为[1,0,1],下一个特征提取单元后的通道选择层的mask值为[1,0],新的网络相对应的卷积层输入通道数即为2,输出通道数即为1,需要拷贝的权重即对应图3中的卷积核灰色部分。
对于批归一化层,拷贝通道选择层的mask值中为1的通道权重数据到新网络中,该新网络为剪枝后的卷积神经网络。
将采集的农作物(番茄)叶子图片输入到剪枝后的卷积神经网络中,输出为农作物(番茄)病害的类别。
在本实施例中,剪枝前网络的参数量为20.04M,计算量为12.59GFlops,用本方法求得的最优剪枝率为56.25%,剪枝后网络的参数量为4.54M,计算量为3.02GFlops。减少了77.35%的参数量,前向计算速度提高4x以上。
上述实施例用来解释说明本发明,而不是对本发明进行限制,在本发明的精神和权利要求的保护范围内,对本发明作出的任何修改和改变,都落入本发明的保护范围。

Claims (5)

1.一种基于特征图稀疏化的卷积神经网络剪枝方法,其特征在于,该方法应用于农作物病害分类,具体包括以下步骤:
1)采集农作物叶子图片作为训练数据集;
2)通过步骤1)的训练数据集对卷积神经网络中的特征图进行稀疏化训练;
在训练过程中对卷积神经网络中的损失函数加入特征图的稀疏项:
Figure FDA0002449446240000011
其中,第一项为模型预测所产生的损失,x为网络的输入,为农作物叶子图片数据,W为网络的权重,f(x,W)为网络的输出,y为样本标签,第二项为所有激活层之后特征图的损失项,λ为控制卷积神经网络预测所产生损失与稀疏项损失比例关系的稀疏因子,l为激活层索引,L为激活层数,c为第l层激活层后特征图的通道索引,Cl为第l层激活层后的特征图的通道数,Hl,c、Wl,c分别为第l层激活层后特征图的第c个通道的高度和宽度,mi,j为相应特征图的第(i,j)个数值;g()为L1、L2正则化或其他正则项;
L1正则化公式为:
g(mi,j)=||mi,j||1
L2正则化公式为:
g(mi,j)=||mi,j||2
通过遍历整个训练数据集计算特征图通道的均值,作为特征图的稀疏度,不同的输入样本,计算所得的特征图的稀疏度不同,同时保存特征图的稀疏度,加入特征图通道选择层,对卷积神经网络训练并使其收敛后,保存验证集最高准确度以及相应的网络权重;
3)网络剪枝;
3.1)设定初始剪枝率,并设定剪枝率上限为1,剪枝率下限为0;
3.2)将验证集准确度最高的网络权重作为卷积神经网络的权重,按照如下规则进行剪枝:
将特征图各通道的稀疏度按照从小到大的顺序排序,即sortmin→max{特征图稀疏度},然后对各通道特征图稀疏度按照剪枝率将前n个通道对应到通道选择层的非可学习参数mask值置为0,剩余通道对应的通道选择层的非可学习参数mask值置为1;
对剪枝后的网络进行再训练,直到网络收敛,获得剪枝后的验证集最高准确度;
3.3)比较剪枝前后验证集的最高准确度,若剪枝后的验证集最高准确度大于等于剪枝前的验证集最高准确度,则将当前的剪枝率作为新的剪枝率下限,并提高剪枝率,否则将当前的剪枝率作为新的剪枝率上限,并降低剪枝率,重复步骤3.2)和步骤3.3),直到剪枝率上限与下限的差值小于一定的阈值,则满足终止条件进入步骤4);
4)保存剪枝后的网络:去除通道选择层,并拷贝权重数据到新的网络中,该新的网络即为剪枝后的卷积神经网络;
5)将现场采集的农作物叶子的图片输入到剪枝后的网络中,输出为农作物病害的类别。
2.根据权利要求1所述的一种基于特征图稀疏化的卷积神经网络剪枝方法,其特征在于,步骤2)中,通道选择层的构建如下:设经过某层后的特征图有C个通道,定义通道选择层C个非可学习参数mask=[m1,m2,m3,...,mC],m1,m2,m3,...mC分别特征图中C个通道所对应的系数,其取值为0或1;0表示该通道不能传递到后面的计算中,1表示该通道可以传递到后面的计算中。
3.根据权利要求1所述的一种基于特征图稀疏化的卷积神经网络剪枝方法,其特征在于,步骤2)中,计算特征图通道的均值具体如下:
在每个训练epoch开始的时候,为各激活层之后特征图的每个通道定义相应的均值变量ch_avg,初始值均为0;该训练epoch的第1个batch计算时,求取ch_avg:
Figure FDA0002449446240000021
其中,batch_size为批尺寸,H和W分别为特征图的高度和宽度,mi,j,k为第i个样本相应通道的第(j,k)个数值;
对于从第2开始之后的batch,按照上面的公式计算出通道均值记为new_ch_avg;同时按照下面的方式更新ch_avg:
ch_avg←(momentum×ch_avg+(1-momentum)×new_ch_avg)
momentum为动量参数,取值在0.9-0.99之间;“←”的含义为将“←”右边的值赋给左边。
4.根据权利要求1所述的一种基于特征图稀疏化的卷积神经网络剪枝方法,其特征在于,步骤3.3)中,终止条件定义如下:
将剪去的通道数与网络总通道数的比值定义为剪枝率,表示为pruned_ratio;剪枝率上限表示为upper_ratio,剪枝率下限表示为lower_ratio;终止条件设置为upper_ratio-lower_ratio<η,η的取值涉及到寻找近最优剪枝率的迭代次数,取值在0.005-0.2之间。
5.根据权利要求4所述的一种基于特征图稀疏化的卷积神经网络剪枝方法,其特征在于,步骤3.3)中,提高或降低剪枝率的方式如下:
pruned_ratio为此次迭代的剪枝率;
按照如下方式提高剪枝率:
lower_ratio←pruned_ratio
Figure FDA0002449446240000031
按照如下方式降低剪枝率:
upper_ratio←pruned_ratio
Figure FDA0002449446240000032
“←”的含义为将“←”右边的值赋给左边。
CN202010066747.2A 2020-01-20 2020-01-20 一种基于特征图稀疏化的卷积神经网络剪枝方法 Active CN110874631B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN202010066747.2A CN110874631B (zh) 2020-01-20 2020-01-20 一种基于特征图稀疏化的卷积神经网络剪枝方法
US17/117,130 US11030528B1 (en) 2020-01-20 2020-12-10 Convolutional neural network pruning method based on feature map sparsification

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010066747.2A CN110874631B (zh) 2020-01-20 2020-01-20 一种基于特征图稀疏化的卷积神经网络剪枝方法

Publications (2)

Publication Number Publication Date
CN110874631A CN110874631A (zh) 2020-03-10
CN110874631B true CN110874631B (zh) 2020-06-16

Family

ID=69717605

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010066747.2A Active CN110874631B (zh) 2020-01-20 2020-01-20 一种基于特征图稀疏化的卷积神经网络剪枝方法

Country Status (2)

Country Link
US (1) US11030528B1 (zh)
CN (1) CN110874631B (zh)

Families Citing this family (36)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112734025B (zh) * 2019-10-28 2023-07-21 复旦大学 基于固定基正则化的神经网络参数稀疏化方法
CN111626328B (zh) * 2020-04-16 2023-12-15 湘潭大学 一种基于轻量化深度神经网络的图像识别方法及装置
CN111832607B (zh) * 2020-05-28 2022-11-01 东南大学 一种基于模型剪枝的桥梁病害实时检测方法
US11430124B2 (en) * 2020-06-24 2022-08-30 Samsung Electronics Co., Ltd. Visual object instance segmentation using foreground-specialized model imitation
CN111553480B (zh) * 2020-07-10 2021-01-01 腾讯科技(深圳)有限公司 图像数据处理方法、装置、计算机可读介质及电子设备
CN111932445B (zh) * 2020-07-27 2024-07-16 广州市百果园信息技术有限公司 对风格迁移网络的压缩方法及风格迁移方法、装置和系统
CN112016674B (zh) * 2020-07-29 2024-06-18 魔门塔(苏州)科技有限公司 一种基于知识蒸馏的卷积神经网络的量化方法
CN112101547B (zh) * 2020-09-14 2024-04-16 中国科学院上海微系统与信息技术研究所 一种对网络模型的剪枝方法、装置、电子设备及存储介质
CN112381206A (zh) * 2020-10-20 2021-02-19 广东电网有限责任公司中山供电局 深度神经网络压缩方法、系统、储存介质及计算机设备
CN112288084B (zh) * 2020-10-23 2022-09-02 武汉大学 基于特征图通道重要性的深度学习目标检测网络压缩方法
CN112329721B (zh) * 2020-11-26 2023-04-25 上海电力大学 一种模型轻量化设计的遥感小目标检测方法
CN112529165B (zh) * 2020-12-22 2024-02-02 上海有个机器人有限公司 深度神经网络剪枝方法、装置、终端及存储介质
CN112288046B (zh) * 2020-12-24 2021-03-26 浙江大学 一种用于神经网络的基于混合粒度的联合稀疏方法
CN112631983B (zh) * 2020-12-28 2023-05-02 电子科技大学 一种面向稀疏神经网络的片上系统
CN112836819B (zh) * 2021-01-26 2023-07-25 北京奇艺世纪科技有限公司 一种神经网络模型生成方法及装置
CN112800977A (zh) * 2021-01-30 2021-05-14 北京工业大学 基于多粒度卷积神经网络剪枝的教师板书动作识别方法
US11200497B1 (en) * 2021-03-16 2021-12-14 Moffett Technologies Co., Limited System and method for knowledge-preserving neural network pruning
WO2022211409A1 (ko) * 2021-03-31 2022-10-06 현대자동차주식회사 특징맵 축소를 이용하는 머신 비전 데이터 코딩 장치 및 방법
CN112949840B (zh) * 2021-04-20 2024-02-02 中国人民解放军国防科技大学 通道注意力引导的卷积神经网络动态通道剪枝方法和装置
CN113240090B (zh) * 2021-05-27 2024-05-14 北京达佳互联信息技术有限公司 图像处理模型生成方法、图像处理方法、装置及电子设备
CN113610215B (zh) * 2021-07-09 2022-09-09 北京达佳互联信息技术有限公司 任务处理网络生成、任务处理方法、装置及电子设备
CN113610227B (zh) * 2021-07-23 2023-11-21 人工智能与数字经济广东省实验室(广州) 一种用于图像分类的深度卷积神经网络剪枝方法
CN113771027B (zh) * 2021-08-17 2023-03-31 浙江工业大学 一种基于深度学习的双臂协作抓取方法
CN113435588B (zh) * 2021-08-26 2022-01-04 之江实验室 基于深度卷积神经网络bn层尺度系数的卷积核嫁接方法
CN113837377A (zh) * 2021-08-30 2021-12-24 厦门大学 基于类别掩码的神经网络剪枝方法
CN113627389B (zh) * 2021-08-30 2024-08-23 京东方科技集团股份有限公司 一种目标检测的优化方法及设备
CN113887718B (zh) * 2021-09-02 2024-04-26 哈尔滨工业大学 一种基于相对激活率的通道剪枝方法和装置及轻量级流量特征提取网络模型简化的方法
US20230169391A1 (en) * 2021-11-29 2023-06-01 Lemon Inc. Feature selection via an ensemble of gating layers
CN114881227B (zh) * 2022-05-13 2023-07-04 北京百度网讯科技有限公司 模型压缩方法、图像处理方法、装置和电子设备
CN115034380B (zh) * 2022-05-25 2024-06-14 国网安徽省电力有限公司电力科学研究院 架空线停电预测神经网络压缩方法及系统
CN115049054B (zh) * 2022-06-12 2024-07-02 中国科学院重庆绿色智能技术研究院 基于特征图响应的通道自适应分段动态网络剪枝方法
CN115100603B (zh) * 2022-07-08 2024-07-26 福州大学 基于稀疏系数通道剪枝的轻量化个人防护装备检测方法
US20240037404A1 (en) * 2022-07-26 2024-02-01 Deeplite Inc. Tensor Decomposition Rank Exploration for Neural Network Compression
CN115577765A (zh) * 2022-09-09 2023-01-06 美的集团(上海)有限公司 网络模型剪枝方法、电子设备及存储介质
CN118246510A (zh) * 2024-05-27 2024-06-25 厦门大学 一种神经网络的后训练剪枝方法
CN118334323B (zh) * 2024-06-14 2024-08-20 南昌工程学院 一种基于紫外图像的绝缘子检测方法及系统

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109711528A (zh) * 2017-10-26 2019-05-03 北京深鉴智能科技有限公司 基于特征图变化对卷积神经网络剪枝的方法
CN110222820A (zh) * 2019-05-28 2019-09-10 东南大学 基于权值剪枝和量化的卷积神经网络压缩方法
CN110610229A (zh) * 2019-07-30 2019-12-24 北京航空航天大学 一种卷积神经网络训练过程的动态稀疏化方法

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11315018B2 (en) * 2016-10-21 2022-04-26 Nvidia Corporation Systems and methods for pruning neural networks for resource efficient inference
US11093832B2 (en) * 2017-10-19 2021-08-17 International Business Machines Corporation Pruning redundant neurons and kernels of deep convolutional neural networks
US10492374B2 (en) * 2017-12-28 2019-12-03 X Development Llc Capture of ground truthed labels of plant traits method and system
CN108985444A (zh) * 2018-07-12 2018-12-11 浙江工业大学 一种基于节点抑制的卷积神经网络剪枝方法
US20200097818A1 (en) * 2018-09-26 2020-03-26 Xinlin LI Method and system for training binary quantized weight and activation function for deep neural networks
CN110222821B (zh) * 2019-05-30 2022-03-25 浙江大学 基于权重分布的卷积神经网络低位宽量化方法
CN111062472B (zh) * 2019-12-11 2023-05-12 浙江大学 一种基于结构化剪枝的稀疏神经网络加速器及其加速方法
CN111144551A (zh) * 2019-12-27 2020-05-12 浙江大学 一种基于特征方差比的卷积神经网络通道剪枝方法
CN111723915B (zh) * 2020-08-24 2021-02-19 国网浙江省电力有限公司 一种基于深度卷积神经网络的目标检测方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109711528A (zh) * 2017-10-26 2019-05-03 北京深鉴智能科技有限公司 基于特征图变化对卷积神经网络剪枝的方法
CN110222820A (zh) * 2019-05-28 2019-09-10 东南大学 基于权值剪枝和量化的卷积神经网络压缩方法
CN110610229A (zh) * 2019-07-30 2019-12-24 北京航空航天大学 一种卷积神经网络训练过程的动态稀疏化方法

Also Published As

Publication number Publication date
US11030528B1 (en) 2021-06-08
CN110874631A (zh) 2020-03-10

Similar Documents

Publication Publication Date Title
CN110874631B (zh) 一种基于特征图稀疏化的卷积神经网络剪枝方法
Singh et al. Play and prune: Adaptive filter pruning for deep model compression
CN114037844B (zh) 基于滤波器特征图的全局秩感知神经网络模型压缩方法
CN110909667B (zh) 面向多角度sar目标识别网络的轻量化设计方法
CN112052951B (zh) 一种剪枝神经网络方法、系统、设备及可读存储介质
CN110222820A (zh) 基于权值剪枝和量化的卷积神经网络压缩方法
CN111079899A (zh) 神经网络模型压缩方法、系统、设备及介质
JP6950756B2 (ja) ニューラルネットワークのランク最適化装置および最適化方法
CN114118402A (zh) 基于分组注意力机制的自适应剪枝模型压缩算法
CN113222138A (zh) 一种联合层剪枝和通道剪枝的卷积神经网络压缩方法
CN113837376B (zh) 基于动态编码卷积核融合的神经网络剪枝方法
CN113420651A (zh) 深度卷积神经网络的轻量化方法、系统及目标检测方法
Singh et al. Acceleration of deep convolutional neural networks using adaptive filter pruning
DE102022105748A1 (de) Effiziente optimierung für den einsatz und die ausführung neuronaler netze
Pietron et al. Retrain or not retrain?-efficient pruning methods of deep cnn networks
CN114819061A (zh) 一种基于迁移学习的稀疏sar目标分类方法及装置
CN112884149A (zh) 一种基于随机敏感度st-sm的深度神经网络剪枝方法及系统
CN112488304A (zh) 一种卷积神经网络中的启发式滤波器剪枝方法和系统
CN113344182A (zh) 一种基于深度学习的网络模型压缩方法
Zhang et al. A channel pruning algorithm based on depth-wise separable convolution unit
CN113850373B (zh) 一种基于类别的滤波器剪枝方法
CN114972232A (zh) 基于增量元学习的无参考图像质量评价方法
DE102022105810A1 (de) Effiziente Speichernutzungsoptimierung für Einsatz und Ausführung neuronaler Netze
CN114742997A (zh) 一种面向图像分割的全卷积神经网络密度峰剪枝方法
CN112132062B (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
TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20220128

Address after: 100080 15 / F, west block, brilliant times building, Haidian District, Beijing

Patentee after: BEIJING WITINMEM TECHNOLOGY Co.,Ltd.

Address before: 310058 Yuhang Tang Road, Xihu District, Hangzhou, Zhejiang 866

Patentee before: ZHEJIANG University

CP03 Change of name, title or address
CP03 Change of name, title or address

Address after: Room 213-175, 2nd Floor, Building 1, No. 180 Kecheng Street, Qiaosi Street, Linping District, Hangzhou City, Zhejiang Province, 311100

Patentee after: Hangzhou Zhicun Computing Technology Co.,Ltd.

Country or region after: China

Address before: 100080 15 / F, west block, brilliant times building, Haidian District, Beijing

Patentee before: BEIJING WITINMEM TECHNOLOGY Co.,Ltd.

Country or region before: China