CN113610227A - 一种高效的深度卷积神经网络剪枝方法 - Google Patents

一种高效的深度卷积神经网络剪枝方法 Download PDF

Info

Publication number
CN113610227A
CN113610227A CN202110838976.6A CN202110838976A CN113610227A CN 113610227 A CN113610227 A CN 113610227A CN 202110838976 A CN202110838976 A CN 202110838976A CN 113610227 A CN113610227 A CN 113610227A
Authority
CN
China
Prior art keywords
neural network
convolutional neural
sub
network
scaling factor
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
Application number
CN202110838976.6A
Other languages
English (en)
Other versions
CN113610227B (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.)
Guangdong Provincial Laboratory Of Artificial Intelligence And Digital Economy Guangzhou
Guangzhou Institute of Technology of Xidian University
Original Assignee
Guangdong Provincial Laboratory Of Artificial Intelligence And Digital Economy Guangzhou
Guangzhou Institute of Technology of Xidian University
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 Guangdong Provincial Laboratory Of Artificial Intelligence And Digital Economy Guangzhou, Guangzhou Institute of Technology of Xidian University filed Critical Guangdong Provincial Laboratory Of Artificial Intelligence And Digital Economy Guangzhou
Priority to CN202110838976.6A priority Critical patent/CN113610227B/zh
Publication of CN113610227A publication Critical patent/CN113610227A/zh
Application granted granted Critical
Publication of CN113610227B publication Critical patent/CN113610227B/zh
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/08Learning methods
    • G06N3/082Learning methods modifying the architecture, e.g. adding, deleting or silencing nodes or connections
    • 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/086Learning methods using evolutionary algorithms, e.g. genetic algorithms or genetic programming
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/12Computing arrangements based on biological models using genetic models
    • G06N3/126Evolutionary algorithms, e.g. genetic algorithms or genetic programming

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Health & Medical Sciences (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Biophysics (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • General Health & Medical Sciences (AREA)
  • Molecular Biology (AREA)
  • Biomedical Technology (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computational Linguistics (AREA)
  • Software Systems (AREA)
  • Artificial Intelligence (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Evolutionary Biology (AREA)
  • Physiology (AREA)
  • Genetics & Genomics (AREA)
  • Image Analysis (AREA)

Abstract

本发明公开了一种高效的深度卷积神经网络剪枝方法,主要解决现有深度卷积神经网络对存储资源和计算资源消耗大的问题,其实现方案是:通过基于ADMM算法的稀疏学习方法优化缩放因子,对深度卷积神经网络进行训练,使网络结构稀疏化;利用遗传算法对训练好的深度卷积神经网络各层所适宜的裁剪率进行搜索,并在适应度函数的引导下自动搜索出符合需求的最佳裁剪率;使用最佳裁剪率对稀疏学习训练后的网络各层进行裁剪,得到效率最佳的卷积神经网络。本发明可大大降低剪枝后卷积神经网络的精度损失,通过减少网络的参数量大大减少了卷积神经网络对存储资源和计算资源消耗,可用于深度卷积神经网络的压缩。

Description

一种高效的深度卷积神经网络剪枝方法
技术领域
本发明属于计算机技术领域,主要涉及一种高效的深度卷积神经网络的剪枝方法,可用于深度卷积神经网络的压缩。
背景技术
近年来,神经网络技术在科研和实际应用中取得了很好的效果,但是相较于传统算法,神经网络的计算过程需要消耗大量的存储资源和计算资源,这导致其在部署应用时耗费较多的功耗和成本,限制了神经网络在功耗有限的移动端设备上的使用。神经网络剪枝作为一种压缩神经网络的方法,通过去除神经网络中的冗余成分减少神经网络的存储消耗及计算消耗,从而达到降低运行神经网络时功耗的目的。
目前,神经网络剪枝方法分为非结构化剪枝和结构化剪枝两大类。
非结构化剪枝方法,是通过任意地去除神经网络中的非重要权重达到压缩神经网络的目的,这类方法虽然能够取得很高的压缩率,但由于其所去除权重的位置是无序的,因此破环了神经网络原有的数据结构,且还需要专门的设备去存储裁剪的权重参数,限制了其在通用设备上的应用。
结构化剪枝方法,是通过去除神经网络中的非重要通道或者卷积核达到压缩神经网络的目的,由于去除通道不会破坏神经网络的数据结构,因此这类方法能够很好的运用到现有计算设备上。但是该结构化剪枝方法对于神经网络中冗余成分的定位不精确,对于神经网络的压缩率较低,且对神经网络的性能影响较大。
此外,使用非结构化方法和结构化方法进行剪枝后的神经网络模型,大部分需要再次进行训练,耗费大量的时间,效率低。
发明内容
本发明的目的在于针对上述现有技术的不足,提出一种高效的深度卷积神经网络剪枝方法,以在对剪枝后的模型不再进行训练的情况下,保证良好的压缩率和精度,提高剪枝效率。
本发明的技术思路是:通过基于ADMM算法的稀疏学习方法约束调控卷积神经网络的训练,使网络结构稀疏化;通过利用遗传算法对训练好的卷积神经网络各层所适宜的裁剪率进行启发式搜索,并在适应度函数的引导下自动搜索出符合需求的最佳裁剪率;通过最佳裁剪率裁剪网络,得到最佳的卷积神经网络。其实现步骤包括如下:
(1)利用基于ADMM的稀疏学习方法训练深度卷积神经网络:
(1a)对深度卷积神经网络各通道引入缩放因子γl,i
(1b)对深度卷积神经网络的损失函数loss,添加各通道中缩放因子的0范正则项,得到新的损失函数lossnew
(1c)从公开数据网站下载训练数据集,利用该训练数据集和随机梯度下降算法训练神经网络中缩放因子以外的参数,并利用ADMM算法对缩放因子γl,i进行优化,直到(1b)中新的损失函数收敛,得到训练好的深度卷积神经网络模型;
(2)利用遗传算法在稀疏学习训练后的卷积神经网络中搜索最佳子裁剪率:
(2a)设置遗传算法的最大迭代次数,计算训练后卷积神经网络模型的总参数量B0和计算量D0
(2b)初始化M组裁剪率,每组包括N个不同的裁剪率,N等于网络层数;
(2c)将各组裁剪率分别编码为二进制编码,并对二进制编码进行交叉和变异操作产生若干新二进制编码,得到新产生的二进制编码数量和原有的二进制编码数量之和为P;
(2d)对(2c)中P个二进制编码进行解码,并将每条二进制编码解码为一组裁剪率pi,j
(2e)根据(2d)中生成的裁剪率,调整网络模型,选择卷积神经网络各层中缩放因子数值较小的通道,使卷积神经网络各层被选择的通道数与该层总通道数之比等于裁剪率;
(2f)将(2e)中被选择通道从卷积神经网络中删除,获得P个子网络,每个子网络对应一组裁剪率;
(2g)计算(2f)中的每个子网络的准确率a0,参数量b0和计算量d0,并利用a0,b0和d0计算出每个子网络的适应度fi
(2h)通过每个子网络的适应度fi计算出每个网络被选择的概率qi,通过轮盘选择法,从(2f)所获得的P个子网络中筛选出R个子网络,得到每个子网络在(2d)中所对应的当前裁剪率pi,j,1≤R≤P;
(2i)重复(2b)到(2h)过程,当迭代次数达到(2a)中所设置的最大迭代次数,完成搜索,得到最佳适应度所对应的卷积神经网络模型的最佳子裁剪率pbest
(3)选择卷积神经网络各层中缩放因子数值较小的ω个通道,使卷积神经网络各层被选择的通道数ω与该层总通道数β之比
Figure BDA0003178241130000021
等于最佳子裁剪率pbest,以完成对卷积神经网络模型的裁剪,得到最佳的卷积神经网络。
本发明具有如下优点:
1.精度损失小
本发明利用基于ADMM算法的稀疏学习方法训练深度卷积神经网络,抑制了卷积神经网络中冗余参数数值的增大,减小了参数对网络性能影响,并通过遗传算法对裁剪率进行细致的筛选,进一步减小了网络模型剪枝对网络精度造成的影响,使得本发明极大的降低了网络模型剪枝带来的精度损失。
2.剪枝效率高
本发明利用基于ADMM算法的稀疏学习方法以及基于遗传算法启发式搜索方法,分别在卷积神经网络的训练和剪枝阶段进行参数的粗筛和细筛,极大的减小了剪枝带来的精度损失,使得本发明所获得的剪枝后的网络无需再训练就能够拥有与原网络几乎一致的性能,从而节省了再训练的时间,提高了剪枝的效率。
3.剪枝可调节
本发明利用遗传算法对适合卷积神经网络的裁剪率进行启发式搜索,通过改变适应度的计算方式改变搜索的方向,进而改变最终搜索结果,使得本发明能根据实际需求调节剪枝。
仿真结果表明,本发明能高效压缩深度卷积神经网络并产生极小的精度损失。在基于CIFAR-10和ImageNet数据集的分类任务中,对卷积神经网络参数量的平均压缩率达到68.0%,对计算量的平均压缩率达到63.4%,对通道数的平均压缩量为63.2%。且精度与压缩前持平甚至超越。
附图说明
图1为本发明的实现流程图;
图2为本发明的仿真结果图。
具体实施方式
下面结合附图对本发明的实施例和效果做进一步的详细描述。
参照图1,本实例的实现步骤如下:
步骤1,利用基于ADMM的稀疏学习方法训练深度卷积神经网络。
所述深度卷积神经网络为包括N层卷积层的现有神经网络,其中第l层的输入表示为xl,对每层输入xl进行卷积和规范化操作,操作集合表示为f(·),该深度卷积神经网络的每一个通道的输出表示为:
yl,i=f(xl,wl,i,bl,i),l=1,2,…N;i=1,2,...,n <1>
其中,l是神经网络层数的索引,i是通道的索引,wl.i和bl,i分别是通道的权重和偏置集合,nl表示深度卷积神经网络中第l层的总通道数,f(·)表示深度神经网络中卷积核规范化操作的集合,xl表示神经网络中第l层的输入,N表示深度卷积神经网络的总层数,其数值根据不同的任务需求进行调整。
本步骤利用基于ADMM的稀疏学习方法对深度卷积神经网络进行训练,其实现如下
(1.1)在深度卷积神经网络的各通道引入缩放因子,得到其各通道的输出:
yl,i=γl,i·f(xl,wl,i,bl,i),l=1,2,...N;i=1,2,...,n, <2>
其中,γl,i表示深度卷积神经网络中第l层第i个通道的缩放因子;若γl,i为0,则对应通道的输出yl,i为0,表示是所对应的通道是无效的,可以被安全地裁剪。
(1.2)根据(1.1)中缩放因子γl,i的定义,将深度卷积神经网络通道的稀疏性ξc使用缩放因子的稀疏性ξs来表示,即将求解通道稀疏性问题转换为对如下缩放因子γl,i的约束优化问题:
Figure BDA0003178241130000041
其中,E(·)表示网络的损失函数loss,Γ表示缩放因子γl,i集合的向量,Wl和Bl分别是第l层的权重和偏置集合,C是通道总数,|Γ|0为l0范数,表示非零因子的数量。
(1.3)向(1.2)中的损失函数E(·)添加深度卷积神经网络各通道的缩放因子γl,i的l0范数正则项,将约束优化问题转换为如下缩放因子γl,i的非约束优化问题:
Figure BDA0003178241130000042
并根据该非约束优化式得到一个新的损失函数lossnew
Figure BDA0003178241130000043
其中λ为超参数,λ>0。
(1.4)为了求解(1.3)中的非约束优化问题,向其加入辅助变量,并利用增广拉格朗日乘子法进行变换并进行配方,将公式<4>转换为如下公式:
Figure BDA0003178241130000051
其中ρ为常数,U为用于配方的对偶变量,Z为辅助变量。|Z|0为l0范数,表示辅助变量的数量。
(1.5)将(1.4)中公式(5)再分解为如下三个子问题:
(1.5.1)将第一个子问题表示为:
Figure BDA0003178241130000052
其中,k为迭代次数索引,Zk-1和Uk-1分别是第k-1次迭代中辅助变量和对偶变量的集合,可以视为常数。
(1.5.2)将第二个子问题表示为:
Figure BDA0003178241130000053
其中,Γk是第一个子问题在k次迭代的结果,Uk-1是第k-1次迭代的对偶变量。Z,Γk和Uk-1均为向量的表示,可将该公式<7>转换为如下公式:
Figure BDA0003178241130000054
其中,zj
Figure BDA0003178241130000055
Figure BDA0003178241130000056
分别是向量Z,Γk和Uk-1的元素,C表示神经网络总的通道数量,其值等于向量Z,Γk和Uk-1的长度;
(1.5.3)将第三个子问题表示为:
Figure BDA0003178241130000057
其中,Zk为第二个子问题在k次迭代的结果。
(1.6)通过迭代地求解(1.5)中三个子问题来求解(1.4)中的公式:
(1.6.1)求解(1.5.1)中式<6>表示的第一个子问题,得到第k次迭代中缩放因子γl,i的集合Γk
所述第一个问题由两部分组成,第一部分为卷积神经网络最初的损失函数loss;第二部分是凸的和可微的。根据具体任务需求,从公开数据网站下载对应任务的训练数据集,利用该训练数据集和随机梯度下降算法训练该问题,直到其收敛,得到第k+1次迭代中缩放因子γl,i的集合Γk
(1.6.2)求解(1.5.2)中式<8>表示的第二个子问题,根据式<8>中辅助变量zj的取值,得到第k次迭代中辅助变量的集合Zk
若辅助变量zj不为零,则将公式<8>重写为:
Figure BDA0003178241130000061
对公式<10>的完全平方项取零,即
Figure BDA0003178241130000062
得到公式<10>的最小值为λ,
Figure BDA0003178241130000063
为zj在第k次迭代时的值;
若辅助变量zj为0,即
Figure BDA0003178241130000064
为0,则公式<8>中的|zj|0项为0,只剩完全平方项,得到其最小值为
Figure BDA0003178241130000065
综合以上两种取值情况,
Figure BDA0003178241130000066
的值如下:
Figure BDA0003178241130000067
将第二个子问题的结果表示为
Figure BDA0003178241130000068
Zk为第k次迭代中辅助变量集合。
(1.6.3)求解(1.5.3)中式<9>表示的第三个子问题,得到第k次迭代中对偶变量的集合Uk
由于(1.5.3)中第三个子问题为凸二次优化问题,其结果为其极值,表示如下:
Uk=Γk-Zk+Uk-1 <12>
其中,Uk-1为第k-1次迭代中对偶变量的集合,Γk和Zk分别为第一个和第二个子问题在k次迭代时的结果;
(1.7)在第k+1次迭代时,将(1.6.3)中第三个子问题在第k次迭代中的结果Uk输入到(1.6.1)求解的第一个子问题中;
(1.8)重复(1.6)到(1.7)的过程,直到(1.3)中新的损失函数lossnew收敛,完成使用基于ADMM的稀疏学习方法对深度卷积网路的训练,得到训练后卷积神经网络。
步骤2,利用遗传算法在稀疏学习训练后的卷积神经网络中搜索最佳子裁剪率。
(2.1)设置最大迭代次数,计算训练后神经网络的参数量B0和计算量D0
Figure BDA0003178241130000071
Figure BDA0003178241130000072
其中,N表示神经网络的总层数,nl表示神经网络中第l层的总通道数,kw和kh分别表示神经网络通道中二维卷积核的宽度和长度,
Figure BDA0003178241130000073
Figure BDA0003178241130000074
分别表示神经网络第l层的输出特征图的宽度和长度;
(2.2)初始化M个个体作为遗传算法的种群,每一个个体为一组通道裁剪率,表示为:
si={pi,j|0≤pi,j<1,j=1,2,...,N},i=1,2,...,M, <15>
其中,si是第i组裁剪率,pi,j代表si中第j层的通道裁剪率,M表示裁剪率的组数,每组裁剪率包括N个不同的裁剪率,N等于网络层数;
(2.3)为(2.2)中初始化的M组裁剪率生成二进制编码,其值为0或者1,表示如下:
Figure BDA0003178241130000075
其中,ci是第i个编码,m是决定二进制码长度的超参数。
在式<16>表示的二进制编码的基础上,通过对其进行交叉和变异操作,产生若干新的二进制编码,得到新产生的二进制编码数量和原有的二进制编码数量之和为P。其中,交叉是指在两个编码之间随机交换一些位元,变异是指改变编码中的一些位元(0到1或1到0);
(2.4)通过对(2.3)中式<16>的逆过程,将所有P个编码解码为P组裁剪率,表示如下:
Figure BDA0003178241130000076
其中,pi,j表示第i组的第j个裁剪率;
(2.5)根据(2.4)中生成的裁剪率,调整网络模型,选择卷积神经网络各层中缩放因子数值较小的通道,使卷积神经网络各层被选择的通道数与该层总通道数之比等于裁剪率pi,j;
(2.6)将(2.5)中的被选择通道从神经网络中删除,获得P个子网络,每个子网络对应一组裁剪率pi,j
(2.7)针对不同的任务,从公开数据网站下载对应的测试数据集,并将该测试集输入到(2.6)中的每个子网络中,根据网络输出结果和标签,计算其准确率di
di=φ(xi,g)
其中,di表示第i个子网络的准确率,xi表示第i个子网络的输出结果,g表示测试集样本的标签。
(2.8)根据(2.1)中的式<13>和式<14>,分别计算出每个子网络的参数量ai和计算量bi,并计算第i个子网络的适应度fi
Figure BDA0003178241130000081
其中,A0和B0和D0分别是原网络的准确率,参数量和计算量;θ是平衡式<18>各部分的超参数,1≤θ≤1,ε表示精度的允许偏差。
(2.9)将(2.8)所获得的适应度fi求和得到一个总的适应度sum(f),然后为每个子网络计算一个加权适应度qi
Figure BDA0003178241130000082
其中,sum(f)是所有子网络适应度fi的总和,qi是每个子网络的加权适应度,表示每个子网络被选择的概率。
(2.10)根据(2.9)中每个子网络被选择的概率qi,通过轮盘选择方法选择R个子网络,得到每个子网络在(2.6)所对应的裁剪率pi,j,并将其输入到(2.2)中进行下一次迭代,其中1≤R≤P。
(2.11)重复(2.2)到(2.10),直到达到最大迭代次数后完成搜索,得到卷积神经网络模型的最佳子裁剪率pbest
步骤三,利用最佳子裁剪率对稀疏学习训练后的卷积神经网络进行裁剪。
选择卷积神经网络各层中缩放因子数值较小的ω个通道,使卷积神经网络各层被选择的通道数ω与该层总通道数β之比
Figure BDA0003178241130000091
等于最佳子裁剪率pbest,删除选出的ω个通道,以完成对卷积神经网络模型的裁剪,得到最佳的卷积神经网络,以为后续的深度学习任务和实际场景应用提供计算耗时更短、占用存储资源更少的卷积神经网络模型。
本发明的效果通过以下仿真进一步说明。
1.仿真实验条件:
本发明仿真实验的操作系统为Ubuntu18.04 LTS,深度学习软件平台为Pytorch,GPU采用英伟达TITAN Xp;
本发明仿真实验所使用的数据集包括:CIFAR-10,ImageNet;
本发明仿真实验所涉及的神经网络包括:Vgg-16,ResNet-50,ResNet-56,ResNet-110,GoogLeNet,DenseNet-40。
2.仿真实验内容:
仿真1,对卷积神经网络训练的仿真实验:
使用CIFAR-10数据集,分别使用传统训练方式和本发明中基于ADMM的稀疏学习的训练方式训练分类神经网络Vgg-16,结果如图2所示。其中,图2(a)为使用传统训练方法得到的神经网络特征图;图2(b)为本发明中基于ADMM的稀疏学习训练方式得到的神经网络特征图。图2中,黑色小格表示无效的特征,白色纹理小格表示有效的特征。
从图2中可以看出,本发明基于ADMM的稀疏学习训练方式得到的无效特征图明显多于传统训练方式得到的神经网络特征图,表明本发明对卷积神经网络的稀疏学习效果明显。
仿真2,卷积神经网络的剪枝仿真实验:
利用本发明在CIFAR-10数据集的训练集上分别对卷积神经网络Vgg-16,ResNet-56,ResNet-110,GoogleNet,DenseNet-40进行训练并完成剪枝;
利用本发明在ImageNet数据集的训练集上别对卷积神经网络ResNet-50进行训练并完成剪枝。
使用剪枝后的卷积神经网络Vgg-16,ResNet-56 ResNet-110,GoogleNet,DenseNet-40对来自CIFAR-10数据集的测试集的数据进行分类;使用剪枝后的卷积神经网络ResNet-50,对来自ImageNet数据集的测试集的数据进行分类,得到剪枝后的卷积神经网络对来自两种测试集中的数据进行分类的效果,如表1所示。
表1.剪枝后的卷积神经网络对测试集的分类效果
Figure BDA0003178241130000101
表中参数量的计数单位‘M’表示106个浮点数,计算量的计数单位‘B’表示109次浮点运算。原网络表示未经过剪枝的卷积神经网络,剪枝后网络表示经过本发明的方法剪枝后的卷积神经网络。
从表1中可以看到,本发明对卷积神经网络参数量的最高压缩率为87.8%,最低压缩率为43.0%,平均压缩率为68.0%;对卷积神经网络计算量的最高压缩率为83.6%,最低压缩率为47.9%,平均压缩率为63.4%;对卷积神经网络通道的最高压缩率为81.6%,最低压缩率为41.4%,平均压缩率为63.2%。
表1结果表明,本发明可以有效压缩卷积神经网络,且剪枝后所获得的卷积神经网络错误率与原网络基本一致,表明本发明可以有效压缩卷积神经网络,且产生的精度损失很小。通过本发明对卷积神经网络的压缩大大减小了卷积神经网络的存储消耗及计算消耗,从而可提升后续各种使用效果。

Claims (5)

1.一种高效的深度卷积神经网络剪枝方法,其特征在于,包括:
(1)利用基于ADMM的稀疏学习方法训练深度卷积神经网络:
(1a)对深度卷积神经网络各通道引入缩放因子γl,i
(1b)对深度卷积神经网络的损失函数loss,添加各通道中缩放因子的0范正则项,得到新的损失函数lossnew
(1c)从公开数据网站下载训练数据集,利用该训练数据集和随机梯度下降算法训练神经网络中缩放因子以外的参数,并利用ADMM算法对缩放因子γl,i进行优化,直到(1b)中新的损失函数收敛,得到训练好的深度卷积神经网络模型;
(2)利用遗传算法搜索深度卷积神经网络模型的最佳子裁剪率:
(2a)设置遗传算法的最大迭代次数,计算训练后卷积神经网络模型的总参数量B0和计算量D0
(2b)初始化M组裁剪率,每组包括N个不同的裁剪率,N等于网络层数;
(2c)将各组裁剪率分别编码为二进制编码,并对二进制编码进行交叉和变异操作产生若干新二进制编码,得到新产生的二进制编码数量和原有的二进制编码数量之和为P;
(2d)对(2c)中P个二进制编码进行解码,并将每条二进制编码解码为一组裁剪率pi,j
(2e)根据(2d)中生成的裁剪率,调整网络模型,选择卷积神经网络各层中缩放因子数值较小的通道,使卷积神经网络各层被选择的通道数与该层总通道数之比等于裁剪率;
(2f)将(2e)中被选择通道从卷积神经网络中删除,获得P个子网络,每个子网络对应一组裁剪率;
(2g)计算(2f)中的每个子网络的准确率a0,参数量b0和计算量d0,并利用a0,b0和d0计算出每个子网络的适应度fi
(2h)通过每个子网络的适应度fi计算出每个网络被选择的概率qi,通过轮盘选择法,从(2f)所获得的P个子网络中筛选出R个子网络,得到每个子网络在(2d)中所对应的当前裁剪率pi,j,1≤R≤P;
(2i)重复(2b)到(2h)过程,当迭代次数达到(2a)中所设置的最大迭代次数,完成搜索,得到最佳适应度所对应的卷积神经网络模型的最佳子裁剪率pbest
(3)选择卷积神经网络各层中缩放因子数值较小的ω个通道,使卷积神经网络各层被选择的通道数ω与该层总通道数β之比
Figure FDA0003178241120000021
等于最佳子裁剪率,以完成对卷积神经网络模型的裁剪,得到卷积神经网络的最佳子网络。
2.根据权利要求1所述的方法,其特征在于:(1b)中新的损失函数lossnew的构造,其实现如下:
向神经网络原来的损失函数E(·)添加深度卷积神经网络各通道的缩放因子γl,i的l0范数正则项,将约束优化问题转换为如下缩放因子γl,i的非约束优化问题:
Figure FDA0003178241120000022
并根据该非约束优化式得到一个新的损失函数lossnew
Figure FDA0003178241120000023
其中,λ为超参数,λ>0,E(·)表示原网络的损失函数loss,Γ表示缩放因子γl,i集合的向量,Wl和Bl分别是网络第l层的权重和偏置集合,|Γ|0为l0范数,表示非零因子的数量。
3.根据权利要求1所述的方法,其特征在于:(1c)中利用ADMM算法优化缩放因子的方法,其实现如下:
(1c1)为了求解(1b)式<1>中的非约束优化问题,向其加入辅助变量,并利用增广拉格朗日乘子法进行变换并进行配方,将公式<1>转换为如下公式:
Figure FDA0003178241120000024
其中,Γ表示缩放因子γl,i集合的向量,ρ为常数,U为用于配方的对偶变量,Z为辅助变量。|Z|0为l0范数,表示辅助变量的数量;
(1c2)将(1c1)中公式<3>分解为三个子问题,并通过迭代的方式求解。
(1c3)将第一个子问题表示为:
Figure FDA0003178241120000031
其中,k为迭代次数索引,Zk-1和Uk-1分别是第k-1次迭代中辅助变量和对偶变量的集合,可以视为常数;
(1c4)求解式<4>表示的第一个子问题,得到第k次迭代中缩放因子γl,i的集合Γk
从公开数据网站下载对应任务的训练数据集,利用该训练数据集和随机梯度下降算法训练该问题,直到其收敛,得到第k次迭代中缩放因子γl,i的集合Γk
(1c5)将第二个子问题表示为:
Figure FDA0003178241120000032
其中,Γk是第一个子问题在k次迭代的结果,Uk-1是第k-1次迭代的对偶变量。Z,Γk和Uk -1均为向量的表示,可将该公式<5>转换为如下公式:
Figure FDA0003178241120000033
其中,zj
Figure FDA0003178241120000034
Figure FDA0003178241120000035
分别是向量Z,Γk和Uk-1的元素,C表示神经网络总的通道数量,其值等于向量Z,Γk和Uk-1的长度;
(1c6)根据式<6>中辅助变量zj的取值,得到第k次迭代中辅助变量的集合Zk
若辅助变量zj不为零,则将公式<6>重写为:
Figure FDA0003178241120000036
对公式<7>的完全平方项取零,即
Figure FDA0003178241120000037
得到公式<10>的最小值为λ,
Figure FDA0003178241120000038
为zj在第k次迭代时的值;
若辅助变量zj为0,即
Figure FDA0003178241120000041
为0,则公式<6>中的|zj|0项为0,只剩完全平方项,得到其最小值为
Figure FDA0003178241120000042
综合以上两种取值情况,得到
Figure FDA0003178241120000043
的值如下:
Figure FDA0003178241120000044
将式<5>第二个子问题的结果表示为
Figure FDA0003178241120000045
Zk为第k次迭代中辅助变量集合;
(1c7)将第三个子问题表示为:
Figure FDA0003178241120000046
其中,Zk为第二个子问题在k次迭代的结果。此子问题为凸二次优化问题,其结果为其极值,表示如下:
Uk=Γk-Zk+Uk-1, <10>
其中,Uk-1为第k-1次迭代中对偶变量的集合,Γk和Zk分别为第一个和第二个子问题在k次迭代时的结果;
(1c8)在第k+1次迭代时,将(1c7)中第三个子问题在第k次迭代中的结果Uk输入到(1c3)中的第一个子问题中;
(1c9)重复(1c3)到(1c8)的过程,直到(1b)中新的损失函数lossnew收敛,完成使用基于ADMM的稀疏学习方法对缩放因子的优化,得到优化之后的缩放因子集合Γ。
4.根据权利要求1所述的方法,其特征在于:(2b)裁剪率的初始化方式如下:
初始化M个个体作为遗传算法的种群,每一个个体表示一组通道裁剪率,每组包含N个不同的裁剪率:
si={pi,j|0≤pi,j<1,j=1,2,...,N},i=1,2,...,M, <11>
其中,si是第i个个体,pi,j代表第si中第j层的通道裁剪率。M表示个体的总数,N表示网络的层数。
5.根据权利要求1所述的方法,其特征在于:(2g)中计算子网络的适应度fi,公式如下:
Figure FDA0003178241120000051
其中,ai,bi和di分别表示每个子网络的准确率,参数量和计算量。A0和B0和D0是原网络的这些参数。θ是平衡公式各部分的超参数,1≤θ≤1,ε表示精度的允许偏差。
CN202110838976.6A 2021-07-23 2021-07-23 一种用于图像分类的深度卷积神经网络剪枝方法 Active CN113610227B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110838976.6A CN113610227B (zh) 2021-07-23 2021-07-23 一种用于图像分类的深度卷积神经网络剪枝方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110838976.6A CN113610227B (zh) 2021-07-23 2021-07-23 一种用于图像分类的深度卷积神经网络剪枝方法

Publications (2)

Publication Number Publication Date
CN113610227A true CN113610227A (zh) 2021-11-05
CN113610227B CN113610227B (zh) 2023-11-21

Family

ID=78338225

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110838976.6A Active CN113610227B (zh) 2021-07-23 2021-07-23 一种用于图像分类的深度卷积神经网络剪枝方法

Country Status (1)

Country Link
CN (1) CN113610227B (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113935485A (zh) * 2021-12-15 2022-01-14 江苏游隼微电子有限公司 一种基于相邻层权重的卷积神经网络裁剪方法
CN114330644A (zh) * 2021-12-06 2022-04-12 华中光电技术研究所(中国船舶重工集团公司第七一七研究所) 一种基于结构搜索和通道剪枝的神经网络模型压缩方法
CN114781604A (zh) * 2022-04-13 2022-07-22 广州安凯微电子股份有限公司 神经网络权重参数的编码方法、编码器及神经网络处理器

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109242142A (zh) * 2018-07-25 2019-01-18 浙江工业大学 一种面向基础设施网的时空预测模型参数优化方法
CN109683161A (zh) * 2018-12-20 2019-04-26 南京航空航天大学 一种基于深度admm网络的逆合成孔径雷达成像的方法
CN110276450A (zh) * 2019-06-25 2019-09-24 交叉信息核心技术研究院(西安)有限公司 基于多粒度的深度神经网络结构化稀疏系统和方法
CN110874631A (zh) * 2020-01-20 2020-03-10 浙江大学 一种基于特征图稀疏化的卷积神经网络剪枝方法
CN111105035A (zh) * 2019-12-24 2020-05-05 西安电子科技大学 基于稀疏学习与遗传算法相结合的神经网络剪枝方法
CN111368699A (zh) * 2020-02-28 2020-07-03 交叉信息核心技术研究院(西安)有限公司 基于图案的卷积神经网络剪枝方法及图案感知加速器
US20210192352A1 (en) * 2019-12-19 2021-06-24 Northeastern University Computer-implemented methods and systems for compressing deep neural network models using alternating direction method of multipliers (admm)

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109242142A (zh) * 2018-07-25 2019-01-18 浙江工业大学 一种面向基础设施网的时空预测模型参数优化方法
CN109683161A (zh) * 2018-12-20 2019-04-26 南京航空航天大学 一种基于深度admm网络的逆合成孔径雷达成像的方法
CN110276450A (zh) * 2019-06-25 2019-09-24 交叉信息核心技术研究院(西安)有限公司 基于多粒度的深度神经网络结构化稀疏系统和方法
US20210192352A1 (en) * 2019-12-19 2021-06-24 Northeastern University Computer-implemented methods and systems for compressing deep neural network models using alternating direction method of multipliers (admm)
CN111105035A (zh) * 2019-12-24 2020-05-05 西安电子科技大学 基于稀疏学习与遗传算法相结合的神经网络剪枝方法
CN110874631A (zh) * 2020-01-20 2020-03-10 浙江大学 一种基于特征图稀疏化的卷积神经网络剪枝方法
CN111368699A (zh) * 2020-02-28 2020-07-03 交叉信息核心技术研究院(西安)有限公司 基于图案的卷积神经网络剪枝方法及图案感知加速器

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
AO REN.ET AL: "ADMM-NN: An Algorithm-Hardware Co-Design Framework of DNNs Using Alternating Direction Method of Multipliers", 《ARXIV》 *
ZHENYU WANG.ET AL: "Network pruning using sparse learning and genetic algorithm", 《NEUROCOMPUTING》, vol. 404 *
赖叶静等: "深度神经网络模型压缩方法与进展", 《华东师范大学学报》(自然科学版), no. 05 *
高 晗等: "深度学习模型压缩与加速综述", 《软件学报》, vol. 32, no. 01 *

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114330644A (zh) * 2021-12-06 2022-04-12 华中光电技术研究所(中国船舶重工集团公司第七一七研究所) 一种基于结构搜索和通道剪枝的神经网络模型压缩方法
CN113935485A (zh) * 2021-12-15 2022-01-14 江苏游隼微电子有限公司 一种基于相邻层权重的卷积神经网络裁剪方法
CN113935485B (zh) * 2021-12-15 2022-03-04 江苏游隼微电子有限公司 一种基于相邻层权重的卷积神经网络裁剪方法
CN114781604A (zh) * 2022-04-13 2022-07-22 广州安凯微电子股份有限公司 神经网络权重参数的编码方法、编码器及神经网络处理器
CN114781604B (zh) * 2022-04-13 2024-02-20 广州安凯微电子股份有限公司 神经网络权重参数的编码方法、编码器及神经网络处理器

Also Published As

Publication number Publication date
CN113610227B (zh) 2023-11-21

Similar Documents

Publication Publication Date Title
Liu et al. Frequency-domain dynamic pruning for convolutional neural networks
CN113610227A (zh) 一种高效的深度卷积神经网络剪枝方法
CN111461322B (zh) 一种深度神经网络模型压缩方法
Yang et al. Automatic neural network compression by sparsity-quantization joint learning: A constrained optimization-based approach
CN109002889B (zh) 自适应迭代式卷积神经网络模型压缩方法
CN111860982A (zh) 一种基于vmd-fcm-gru的风电场短期风电功率预测方法
CN109445935B (zh) 云计算环境下一种高性能大数据分析系统自适应配置方法
CN111105035A (zh) 基于稀疏学习与遗传算法相结合的神经网络剪枝方法
CN105718943A (zh) 基于粒子群优化算法的特征选择方法
CN113657421B (zh) 卷积神经网络压缩方法和装置、图像分类方法和装置
CN113343427B (zh) 一种基于卷积神经网络的结构拓扑构型预测方法
CN111738477A (zh) 基于深层特征组合的电网新能源消纳能力预测方法
CN111832839B (zh) 基于充分增量学习的能耗预测方法
CN112949610A (zh) 一种基于降噪算法的改进Elman神经网络的预测方法
Shin et al. Prediction confidence based low complexity gradient computation for accelerating DNN training
CN110263917B (zh) 一种神经网络压缩方法及装置
Sambharya et al. End-to-end learning to warm-start for real-time quadratic optimization
CN112036651A (zh) 基于量子免疫优化bp神经网络算法的电价预测方法
Zhang et al. Akecp: Adaptive knowledge extraction from feature maps for fast and efficient channel pruning
Yang et al. Non-uniform dnn structured subnets sampling for dynamic inference
CN117035837B (zh) 一种电力用户购电需求预测及零售合同定制方法
Chen et al. DNN gradient lossless compression: Can GenNorm be the answer?
CN116757255A (zh) 一种改进MobileNetV2的分心驾驶行为检测模型轻量化方法
CN111831955A (zh) 一种锂离子电池剩余寿命预测方法及系统
CN116885697A (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