CN111199282A - 一种卷积神经网络模型的剪枝方法及装置 - Google Patents
一种卷积神经网络模型的剪枝方法及装置 Download PDFInfo
- Publication number
- CN111199282A CN111199282A CN201911413713.XA CN201911413713A CN111199282A CN 111199282 A CN111199282 A CN 111199282A CN 201911413713 A CN201911413713 A CN 201911413713A CN 111199282 A CN111199282 A CN 111199282A
- Authority
- CN
- China
- Prior art keywords
- pruning
- model
- training
- neural network
- convolutional neural
- 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 130
- 238000000034 method Methods 0.000 title claims abstract description 59
- 238000013527 convolutional neural network Methods 0.000 title claims abstract description 51
- 238000012549 training Methods 0.000 claims abstract description 82
- 238000012545 processing Methods 0.000 claims abstract description 10
- 230000005540 biological transmission Effects 0.000 claims description 16
- 230000008569 process Effects 0.000 claims description 12
- 238000005520 cutting process Methods 0.000 claims description 7
- 238000003062 neural network model Methods 0.000 claims description 4
- 238000010606 normalization Methods 0.000 claims description 3
- 230000008520 organization Effects 0.000 claims description 3
- 238000005070 sampling Methods 0.000 claims description 3
- 239000000203 mixture Substances 0.000 claims 2
- 239000002994 raw material Substances 0.000 claims 2
- 230000006835 compression Effects 0.000 abstract description 21
- 238000007906 compression Methods 0.000 abstract description 21
- 230000000694 effects Effects 0.000 abstract description 6
- 230000006870 function Effects 0.000 description 28
- 238000003860 storage Methods 0.000 description 6
- 238000004590 computer program Methods 0.000 description 5
- 238000012360 testing method Methods 0.000 description 5
- 230000008859 change Effects 0.000 description 4
- 238000010586 diagram Methods 0.000 description 3
- 230000001788 irregular Effects 0.000 description 3
- 238000013528 artificial neural network Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 230000000052 comparative effect Effects 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000013135 deep learning Methods 0.000 description 1
- 230000008034 disappearance Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 238000003384 imaging method Methods 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 239000002245 particle Substances 0.000 description 1
- 230000000717 retained effect Effects 0.000 description 1
- 230000008054 signal transmission Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
- G06N3/082—Learning methods modifying the architecture, e.g. adding, deleting or silencing nodes or connections
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- General Health & Medical Sciences (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Computational Linguistics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Evolutionary Computation (AREA)
- Artificial Intelligence (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Health & Medical Sciences (AREA)
- Image Analysis (AREA)
Abstract
本发明公开了一种卷积神经网络模型的剪枝方法及装置,包括构建卷积神经网络模型,并稀疏化训练所述模型;设定剪枝策略,将训练后的所述模型剪枝,重新整合;再次稀疏化训练剪枝后的剪枝模型,直至所述剪枝模型训练精度明显下降;停止所述剪枝,获得高效的所述剪枝模型。本发明通过采用规整剪枝的策略,使得剪枝后的模型可以在硬件运算设备上有更好的运算效率,对于不同层的剪枝策略不作统一处理,可以达到整体网络整体剪枝的效果,不会出现中间层压缩消失的情况,提高压缩率。
Description
技术领域
本发明涉及模型剪枝技术领域,尤其涉及一种卷积神经网络模型的剪枝方法及系统。
背景技术
1988年,Wei Zhang提出了第一个二维卷积神经网络:平移不变人工神经网络(SIANN),并将其应用于检测医学影像。独立于Zhang(1988),Yann LeCun在1989年同样构建了应用于计算机视觉问题的卷积神经网络,即LeNet的最初版本。LeNet包含两个卷积层,2个全连接层,共计6万个学习参数,规模远超TDNN和SIANN,且在结构上与现代的卷积神经网络十分接近。LeCun(1989)对权重进行随机初始化后使用了随机梯度下降(StochasticGradient Descent,SGD)进行学习,这一策略被其后的深度学习研究所保留。此外,LeCun(1989)在论述其网络结构时首次使用了“卷积”一词,“卷积神经网络”也因此得名。
模型剪枝是一种深度神经网络模型压缩的方法,通过对模型的参数统计,删除不重要的参数,并且保持网络的精度、准确率不变的前提下,达到提高网络运算速度,压缩模型大小的目的。先阶段主要有通道剪枝的压缩方法,该方法存在网络压缩不规整的问题,对于硬件运算设备并不友好。现有压缩技术都是对网络参数统一压缩处理,这样会导致网络压缩不均,容易造成部分中间层压缩消失,或者很难提高压缩率。
发明内容
本部分的目的在于概述本发明的实施例的一些方面以及简要介绍一些较佳实施例。在本部分以及本申请的说明书摘要和发明名称中可能会做些简化或省略以避免使本部分、说明书摘要和发明名称的目的模糊,而这种简化或省略不能用于限制本发明的范围。
鉴于上述现有存在网络压缩不规整、压缩率太低的问题,提出了本发明。
因此,本发明提供了一种卷积神经网络模型的剪枝方法及系统,可以通过规整剪枝的策略,提高压缩率。
为解决上述技术问题,本发明提供如下技术方案:构建卷积神经网络模型,并稀疏化训练所述模型;设定剪枝策略,将训练后的所述模型剪枝,重新整合;再次稀疏化训练剪枝后的剪枝模型,直至所述剪枝模型训练精度明显下降;停止所述剪枝,获得高效的所述剪枝模型。
作为本发明所述的一种卷积神经网络模型的剪枝方法的一种优选方案,其中:构建所述卷积神经网络模型包括,设置训练数据集;采用原始论文中人为设定的数字配置卷积层的通道数目;利用多个所述卷积层叠加组建网络;结合子采样层构成特征抽取器,构建所述模型。
作为本发明所述的一种卷积神经网络模型的剪枝方法的一种优选方案,其中:稀疏化训练所述模型包括,设计损失函数,获取稀疏参数组;利用L1损失函数公式,构建惩罚系数函数;训练所述神经网络模型,并保存训练模型参数。
作为本发明所述的一种卷积神经网络模型的剪枝方法的一种优选方案,其中:构建所述惩罚稀疏函数、损失函数具体包括,利用交叉熵损失函数CE公式检测网络的分类损失,公式如下:
其中,output是网络的输出结果、label是图片所属的实际类别;利用L1损失函数对Gamma值惩罚,获得所述稀疏参数组,公式如下:
L1 loss=p(i,n)*||Gamma||
其中p(i,n)是惩罚系数函数;构建所述惩罚系数函数,公式如下:
P(i,n)=((n-b–a*||m-i||)/b+1)*base
其中剪枝vgg网络,b=256,a=30,m=10,base=0.0001;构建所述损失函数,公式如下:
L=Lce+L1loss=CE(label,output)+p(i,n)*||Gamma||。
作为本发明所述的一种卷积神经网络模型的剪枝方法的一种优选方案,其中:剪枝所述训练模型包括,利用所述训练模型参数值,设定所述剪枝策略及标准;结合所述剪枝标准裁剪所述训练模型,并删除所述参数值较小的网络通道;重新整合裁剪后的所述训练模型。
作为本发明所述的一种卷积神经网络模型的剪枝方法的一种优选方案,其中:剪枝所述训练模型还具体包括,读取所述训练模型参数,并分析各个BatchNorm层中Gamma系数值与0的接近程度,获得Diff(i)=||Gamma(i)||;对所述Diff(i)大小排序;利用动态剪枝裁剪所述训练模型;记录并舍弃被剪枝后的所述网络通道序号及通道值;重新整合剪枝后的所述训练模型参数,并保存。
作为本发明所述的一种卷积神经网络模型的剪枝方法的一种优选方案,其中:再次稀疏化训练剪枝后的所述训练模型包括,参照剪枝后的所述网络通道,重新设定所述稀疏化训练参数,再次进行所述稀疏化训练;检测判断所述剪枝模型训练精度下降,相较于原始大网络下降超过2%时停止所述剪枝过程;获得高效所述剪枝模型。
作为本发明所述的一种卷积神经网络模型的剪枝装置的一种优选方案,其中:输入模块可以处理多维数据,通过所述输入模块内的归一单元,可在所述参数值输入所述卷积神经网络模型前,对通道输入数据归一化,即使输入数据为像素,也可将原始像素归一化;连接模块包括传递单元和组合单元,通过所述组合单元对提取的特征进行非线性组合获取传输信号,并由所述传递单元向该系统内结构组织进行信号的传递交接;处理模块与所述输入模块、连接模块相连,当获取所述输入参数数据后,通过计算体快速检测相关输入特征,并利用所述传递单元将所述传输信号传递给所述输入模块。
本发明的有益效果:本发明通过采用规整剪枝的策略,使得剪枝后的模型可以在硬件运算设备上有更好的运算效率,对于不同层的剪枝策略不作统一处理,可以达到整体网络整体剪枝的效果,不会出现中间层压缩消失的情况,提高压缩率。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其它的附图。其中:
图1为本发明第一个实施例所述的卷积神经网络模型的剪枝方法的流程示意图;
图2为本发明第一个实施例所述的卷积神经网络模型的剪枝方法的又一种流程示意图;
图3为本发明第一个实施例所述的卷积神经网络模型的剪枝方法的数据集示意图;
图4为本发明第一个实施例所述的卷积神经网络模型的剪枝方法的对比曲线示意图;
图5为本发明第二个实施例所述的卷积神经网络模型的剪枝装置的模块结构示意图。
具体实施方式
为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合说明书附图对本发明的具体实施方式做详细的说明,显然所描述的实施例是本发明的一部分实施例,而不是全部实施例。基于本发明中的实施例,本领域普通人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明的保护的范围。
在下面的描述中阐述了很多具体细节以便于充分理解本发明,但是本发明还可以采用其他不同于在此描述的其它方式来实施,本领域技术人员可以在不违背本发明内涵的情况下做类似推广,因此本发明不受下面公开的具体实施例的限制。
其次,此处所称的“一个实施例”或“实施例”是指可包含于本发明至少一个实现方式中的特定特征、结构或特性。在本说明书中不同地方出现的“在一个实施例中”并非均指同一个实施例,也不是单独的或选择性的与其他实施例互相排斥的实施例。
本发明结合示意图进行详细描述,在详述本发明实施例时,为便于说明,表示器件结构的剖面图会不依一般比例作局部放大,而且所述示意图只是示例,其在此不应限制本发明保护的范围。此外,在实际制作中应包含长度、宽度及深度的三维空间尺寸。
同时在本发明的描述中,需要说明的是,术语中的“上、下、内和外”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。此外,术语“第一、第二或第三”仅用于描述目的,而不能理解为指示或暗示相对重要性。
本发明中除非另有明确的规定和限定,术语“安装、相连、连接”应做广义理解,例如:可以是固定连接、可拆卸连接或一体式连接;同样可以是机械连接、电连接或直接连接,也可以通过中间媒介间接相连,也可以是两个元件内部的连通。对于本领域的普通技术人员而言,可以具体情况理解上述术语在本发明中的具体含义。
实施例1
卷积神经网络的不同层有着不同的作用,对不同层都采用相同的惩罚系数,会导致网络剪枝后结构的畸变,一个硬件计算设备友好的网络,其网络中每个层之间的通道数变化不会发生剧烈的变化,网络的通道数变化越平缓,该网络结构越高效。相同的计算量,可以消耗更少的计算时间,本发明采用一种优化的惩罚系数函数和动态剪枝策略,获得高效的剪枝模型同时,避免有些局部被过分剪枝而造成层消失的情况。
参照图1~图4,为本发明的第一个实施例,提供了一种卷积神经网络模型的剪枝方法,包括以下步骤:
S1:构建卷积神经网络模型,并稀疏化训练模型。参照图3,其中需要说明的是,构建卷积神经网络模型包括:
设置训练数据集;
采用原始论文中人为设定的数字配置卷积层的通道数目;
利用多个卷积层叠加组建网络;
结合子采样层构成特征抽取器,构建模型。
进一步的,稀疏化训练模型包括,
设计损失函数,获取稀疏参数组;
利用L1损失函数公式,构建惩罚系数函数;
训练神经网络模型,并保存训练模型参数。
具体的,构建惩罚稀疏函数、损失函数具体包括:
利用交叉熵损失函数CE公式检测网络的分类损失,公式如下:
其中,output是网络的输出结果、label是图片所属的实际类别;
利用L1损失函数对Gamma值惩罚,获得稀疏参数组,公式如下:
L1 loss=p(i,n)*||Gamma||
其中p(i,n)是惩罚系数函数;
构建惩罚系数函数,公式如下:
P(i,n)=((n-b–a*||m-i||)/b+1)*base
其中剪枝vgg网络,b=256,a=30,m=10,base=0.0001;
构建损失函数,公式如下:
L=Lce+L1loss=CE(label,output)+p(i,n)*||Gamma||。
S2:设定剪枝策略,将训练后的模型剪枝,重新整合。本步骤需要说明的是,剪枝训练模型包括:
利用训练模型参数值,设定剪枝策略及标准;
结合剪枝标准裁剪训练模型,并删除参数值较小的网络通道;
重新整合裁剪后的训练模型。
进一步的,剪枝训练模型还具体包括:
读取训练模型参数,并分析各个BatchNorm层中Gamma系数值与0的接近程度,获得Diff(i)=||Gamma(i)||;
对Diff(i)大小排序;
利用动态剪枝裁剪训练模型;
记录并舍弃被剪枝后的网络通道序号及通道值;
重新整合剪枝后的训练模型参数,并保存。
S3:再次稀疏化训练剪枝后的剪枝模型,直至剪枝模型训练精度明显下降。本步骤还需要说明的是,再次稀疏化训练剪枝后的训练模型包括:
参照剪枝后的网络通道,重新设定稀疏化训练参数,再次进行稀疏化训练;
检测判断剪枝模型训练精度下降,相较于原始大网络下降超过2%时停止剪枝过程;
S4:获得高效的剪枝模型。
较佳的,参照图4,横坐标为层的位置,纵坐标为该层的通道数,通过采用本发明方案策略与一般策略对比,可以看出在本发明方案策略下,得到的是一条更加平滑的曲线,网络更加有效,证明了本发明方案的有效性。
优选的是,在卷积神经网络中,Gamma系数反应网络通道的重要性程度,将Gamma系数接近于0的通道剪枝掉对网络的精度影响不大,因此,动态剪枝策略主要参考Gamma系数。对于一组通道,Gamma系数接近0的通道越多越好,这样能够剪枝的通道数也越多;若只是普通的网络训练,不会得到较多的接近0的Gamma系数。惩罚系数是一个常数,但是卷积神经网络的参数是人为设定,统一处理各个层会导致网络更多的去惩罚通道数过多的层,对于浅层网络剪枝的通道数过少,造成网络剪枝不规整,网络显得头重脚轻。因此p(i,n)是一个根据卷积层的位置,卷积层的通道数的函数。中间层的通道数尤为重要,是浅层信息与深层信息交换的中心,因此,对于中间几层卷积层通道数应当多于两端的通道数。因此,本发明构建的惩罚系数函数如下:
P(i,n)=((n-b–a*||m-i||)/b+1)*base
损失函数为:
L=Lce+L1loss=CE(label,output)+p(i,n)*||Gamma||。
优选的是,本发明方法采用规整剪枝策略,通过稀疏化训练的方式获得高效的剪枝模型,从而达到提速的效果。剪枝策略就是训练策略,即稀疏化训练的方式,本发明方法与现有技术方法不同的是在稀疏化训练时,所选用的损失函数不同,带来不同的剪枝效果,选用L1loss=p(i,n)*||Gamma||,从数学上来讲,这部分作用可以稀疏Gamma值,因此获得稀疏化训练模型;而训练数据集采用公开数据集cifar10,batch大小选为32,学习率设定为1e-5,采用SGD+momentum训练方式,训练200epoch。
优选的是,本发明方法采用模型压缩裁剪策略,去掉不必要的通道,将网络的每一层的通道数减少,从而达到网络瘦身的目的,获得高效的结果。训练模型剪枝后,在测试集上测试的网络精度(网络分类的正确率),相比较初始网络(未剪枝)的精度,下降2%时停止剪枝过程,例如对于10000图片的测试集,原始大网络的正确率是91%,如若剪枝后的网络正确率不足89%,则停止剪枝过程,并保存网络的参数以及结构,最终获得高效的剪枝模型。
进一步的,对本方法中采用的技术效果加以验证说明,本实施例选择的规整剪枝策略方法和传统一般策略模型压缩方法进行对比测试,以科学论证的手段对比试验结果,以验证本方法所具有的真实效果。传统的一般策略模型压缩方法,在网络压缩时并不规整,对硬件运算设备并不友好,由于网络参数是统一压缩处理,所以导致网络压缩不均,会造成部分中间层压缩消失,很难提高压缩率。
为验证本发明方法相对传统方法具有较高压缩率及更高效的运算效率。本实施例选择的规整剪枝策略和采用传统的一般策略模型压缩方法进行测试对比。结果如下表所示:
表1:精确度对比表。
Layer Index | 传统的一般策略 | 本发明方法的规整剪枝策略 |
1 | 53 | 47 |
2 | 64 | 64 |
3 | 128 | 125 |
4 | 128 | 128 |
5 | 256 | 251 |
6 | 256 | 255 |
7 | 250 | 247 |
8 | 222 | 254 |
9 | 298 | 302 |
10 | 226 | 273 |
11 | 242 | 276 |
12 | 382 | 319 |
13 | 384 | 330 |
14 | 371 | 318 |
15 | 379 | 345 |
16 | 213 | 318 |
精确度 | 91.32% | 91.86% |
由表可得,在同样的实验条件下,本发明方法的规整剪枝策略更高效,且每一层的网络通道数变化较为平缓,通常可以用MAC来表征网络的效率,公式如下:
MAC=hw*(c1+c2)+c1*c2
当且仅当c1=c2时,MAC取最小值,即网络层与层之间的通道数变化越小越好,因此可以验证,本发明方法更为高效,且对于精确度也有所提高。
实施例2
参照图5,为本发明的第二个实施例,该实施例不同于第一个实施例的是,提供了一种卷积神经网络模型的剪枝装置,包括输入模块100可以处理多维数据,通过输入模块100内的归一单元101,可在参数值输入卷积神经网络模型前,对通道输入数据归一化,即使输入数据为像素,也可将原始像素归一化;连接模块200包括传递单元201和组合单元202,通过组合单元202对提取的特征进行非线性组合获取传输信号,并由传递单元201向该系统内结构组织进行信号的传递交接;处理模块300与输入模块100、连接模块200相连,当获取输入参数数据后,通过计算体301快速检测相关输入特征,并利用传递单元201将传输信号传递给输入模块100。其中所述处理模块300包括稀疏化训练模块302和剪枝模块303,所述稀疏化训练模块302用于待剪枝的卷积神经网络模型的稀疏化训练,所述剪枝模块303用于所述卷积神经网络模型的剪枝操作,本实施例中稀疏化训练模块302和剪枝模块303为通过程序嵌入和集成方式构成的剪枝芯片,与计算体301硬件连接,实现卷积神经网络模型的剪枝操作。
优选的是,卷积层参数包括卷积核大小、步长和填充,三者共同决定了输出特征条件,卷积核大小可以指定为小于输入模块100内的输入数据任意值,卷积核越大,可以提取的输入特征越复杂。计算体301接收传递的特征信息会对其进行特征选择和信息过滤,将特征的结果替换为统计量。
应当认识到,本发明的实施例可以由计算机硬件、硬件和软件的组合、或者通过存储在非暂时性计算机可读存储器中的计算机指令来实现或实施。所述方法可以使用标准编程技术-包括配置有计算机程序的非暂时性计算机可读存储介质在计算机程序中实现,其中如此配置的存储介质使得计算机以特定和预定义的方式操作——根据在具体实施例中描述的方法和附图。每个程序可以以高级过程或面向对象的编程语言来实现以与计算机系统通信。然而,若需要,该程序可以以汇编或机器语言实现。在任何情况下,该语言可以是编译或解释的语言。此外,为此目的该程序能够在编程的专用集成电路上运行。
此外,可按任何合适的顺序来执行本文描述的过程的操作,除非本文另外指示或以其他方式明显地与上下文矛盾。本文描述的过程(或变型和/或其组合)可在配置有可执行指令的一个或多个计算机系统的控制下执行,并且可作为共同地在一个或多个处理器上执行的代码(例如,可执行指令、一个或多个计算机程序或一个或多个应用)、由硬件或其组合来实现。所述计算机程序包括可由一个或多个处理器执行的多个指令。
进一步,所述方法可以在可操作地连接至合适的任何类型的计算平台中实现,包括但不限于个人电脑、迷你计算机、主框架、工作站、网络或分布式计算环境、单独的或集成的计算机平台、或者与带电粒子工具或其它成像装置通信等等。本发明的各方面可以以存储在非暂时性存储介质或设备上的机器可读代码来实现,无论是可移动的还是集成至计算平台,如硬盘、光学读取和/或写入存储介质、RAM、ROM等,使得其可由可编程计算机读取,当存储介质或设备由计算机读取时可用于配置和操作计算机以执行在此所描述的过程。此外,机器可读代码,或其部分可以通过有线或无线网络传输。当此类媒体包括结合微处理器或其他数据处理器实现上文所述步骤的指令或程序时,本文所述的发明包括这些和其他不同类型的非暂时性计算机可读存储介质。当根据本发明所述的方法和技术编程时,本发明还包括计算机本身。计算机程序能够应用于输入数据以执行本文所述的功能,从而转换输入数据以生成存储至非易失性存储器的输出数据。输出信息还可以应用于一个或多个输出设备如显示器。在本发明优选的实施例中,转换的数据表示物理和有形的对象,包括显示器上产生的物理和有形对象的特定视觉描绘。
如在本申请所使用的,术语“组件”、“模块”、“系统”等等旨在指代计算机相关实体,该计算机相关实体可以是硬件、固件、硬件和软件的结合、软件或者运行中的软件。例如,组件可以是,但不限于是:在处理器上运行的处理、处理器、对象、可执行文件、执行中的线程、程序和/或计算机。作为示例,在计算设备上运行的应用和该计算设备都可以是组件。一个或多个组件可以存在于执行中的过程和/或线程中,并且组件可以位于一个计算机中以及/或者分布在两个或更多个计算机之间。此外,这些组件能够从在其上具有各种数据结构的各种计算机可读介质中执行。这些组件可以通过诸如根据具有一个或多个数据分组(例如,来自一个组件的数据,该组件与本地系统、分布式系统中的另一个组件进行交互和/或以信号的方式通过诸如互联网之类的网络与其它系统进行交互)的信号,以本地和/或远程过程的方式进行通信。
应说明的是,以上实施例仅用以说明本发明的技术方案而非限制,尽管参照较佳实施例对本发明进行了详细说明,本领域的普通技术人员应当理解,可以对本发明的技术方案进行修改或者等同替换,而不脱离本发明技术方案的精神和范围,其均应涵盖在本发明的权利要求范围当中。
Claims (8)
1.一种卷积神经网络模型的剪枝方法,其特征在于:包括,
构建待剪枝的卷积神经网络模型;
增加剪枝策略稀疏化训练所述模型来获取稀疏的参数;
根据所述参数定义剪枝策略和剪枝标准,利用所述剪枝标准对所述模型裁剪,删除参数值过小的网络通道重新整合网络参数后构建新模型;
再次稀疏化训练所述新模型并生成新稀疏的参数,进行新一轮剪枝操作;
重复上述稀疏化训练和剪枝,不断更新网络参数;
直至生成的最新模型的训练精度明显下降,停止所述剪枝操作;
获得高效的剪枝模型用于硬件运算设备。
2.如权利要求1所述的卷积神经网络模型的剪枝方法,其特征在于:构建所述卷积神经网络模型包括,
设置训练数据集;
采用人为设定的数字配置卷积层的通道数目;
利用多个所述卷积层叠加组建网络;
结合子采样层构成特征抽取器,构建所述模型。
3.如权利要求1或2所述的卷积神经网络模型的剪枝方法,其特征在于:所述稀疏化训练包括,
设计损失函数,获取稀疏参数组;
利用L1损失函数公式,构建惩罚系数函数;
训练所述神经网络模型,并保存训练模型参数。
4.如权利要求3所述的卷积神经网络模型的剪枝方法,其特征在于:构建所述惩罚稀疏函数、损失函数具体包括,
利用交叉熵损失函数CE公式检测网络的分类损失,公式如下:
其中,output是网络的输出结果、label是图片所属的实际类别;
利用L1损失函数对Gamma值惩罚,获得所述稀疏参数组,公式如下:
L1 loss=p(i,n)*||Gamma||
其中p(i,n)是惩罚系数函数;
构建所述惩罚系数函数,公式如下:
P(i,n)=((n-b–a*||m-i||)/b+1)*base
其中剪枝vgg网络,b=256,a=30,m=10,base=0.0001;
构建所述损失函数,公式如下:
L=Lce+L1loss=CE(label,output)+p(i,n)*||Gamma||。
5.如权利要求1或4所述的卷积神经网络模型的剪枝方法,其特征在于:剪枝所述训练模型包括,
利用所述训练模型参数值,设定所述剪枝策略及标准;
结合所述剪枝标准裁剪所述训练模型,并删除所述参数值较小的网络通道;
重新整合裁剪后的所述训练模型。
6.如权利要求5所述的卷积神经网络模型的剪枝方法,其特征在于:剪枝所述训练模型还具体包括,
读取所述训练模型参数,并分析各个BatchNorm层中Gamma系数值与0的接近程度,获得Diff(i)=||Gamma(i)||;
对所述Diff(i)大小排序;
利用动态剪枝裁剪所述训练模型;
记录并舍弃被剪枝后的所述网络通道序号及通道值;
重新整合剪枝后的所述训练模型参数,并保存。
7.如权利要求1或6所述的卷积神经网络模型的剪枝方法,其特征在于:再次稀疏化训练剪枝后的所述训练模型包括,
参照剪枝后的所述网络通道,重新设定所述稀疏化训练参数,再次进行所述稀疏化训练;
检测判断所述剪枝模型训练精度下降,相较于原始大网络下降超过2%时停止所述剪枝过程;
获得高效所述剪枝模型。
8.一种卷积神经网络模型的剪枝装置,其特征在于:包括,
输入模块(100),处理多维数据,通过所述输入模块(100)内的归一单元(101),可在所述参数值输入所述卷积神经网络模型前,对通道输入数据归一化,即使输入数据为像素,也可将原始像素归一化;
连接模块(200),包括传递单元(201)和组合单元(202),通过所述组合单元(202)对提取的特征进行非线性组合获取传输信号,并由所述传递单元(201)向该系统内结构组织进行信号的传递交接;
处理模块(300),与所述输入模块(100)、连接模块(200)相连,当获取所述输入参数数据后,通过计算体(301)快速检测相关输入特征,并利用所述传递单元(201)将所述传输信号传递给所述输入模块(100);
其中所述处理模块(300)包括稀疏化训练模块(302)和剪枝模块(303),所述稀疏化训练模块(302)用于待剪枝的卷积神经网络模型的稀疏化训练,所述剪枝模块(303)用于所述卷积神经网络模型的剪枝操作。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911413713.XA CN111199282B (zh) | 2019-12-31 | 2019-12-31 | 提高硬件运算效率的卷积神经网络模型剪枝方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911413713.XA CN111199282B (zh) | 2019-12-31 | 2019-12-31 | 提高硬件运算效率的卷积神经网络模型剪枝方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111199282A true CN111199282A (zh) | 2020-05-26 |
CN111199282B CN111199282B (zh) | 2024-04-19 |
Family
ID=70746405
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911413713.XA Active CN111199282B (zh) | 2019-12-31 | 2019-12-31 | 提高硬件运算效率的卷积神经网络模型剪枝方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111199282B (zh) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111881828A (zh) * | 2020-07-28 | 2020-11-03 | 浙江大学 | 一种面向移动端设备的障碍物检测方法 |
CN112001483A (zh) * | 2020-08-14 | 2020-11-27 | 广州市百果园信息技术有限公司 | 一种剪枝神经网络模型的方法和装置 |
CN112183725A (zh) * | 2020-09-27 | 2021-01-05 | 安徽寒武纪信息科技有限公司 | 提供神经网络的方法、计算装置和计算机可读存储介质 |
CN112529165A (zh) * | 2020-12-22 | 2021-03-19 | 上海有个机器人有限公司 | 深度神经网络剪枝方法、装置、终端及存储介质 |
CN112766397A (zh) * | 2021-01-27 | 2021-05-07 | 歌尔股份有限公司 | 一种分类网络及其实现方法和装置 |
CN113011588A (zh) * | 2021-04-21 | 2021-06-22 | 华侨大学 | 一种卷积神经网络的剪枝方法、装置、设备和介质 |
CN113361697A (zh) * | 2021-07-14 | 2021-09-07 | 深圳思悦创新有限公司 | 一种卷积网络模型压缩方法、系统及存储介质 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108805258A (zh) * | 2018-05-23 | 2018-11-13 | 北京图森未来科技有限公司 | 一种神经网络训练方法及其装置、计算机服务器 |
CN109711532A (zh) * | 2018-12-06 | 2019-05-03 | 东南大学 | 一种针对硬件实现稀疏化卷积神经网络推断的加速方法 |
-
2019
- 2019-12-31 CN CN201911413713.XA patent/CN111199282B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108805258A (zh) * | 2018-05-23 | 2018-11-13 | 北京图森未来科技有限公司 | 一种神经网络训练方法及其装置、计算机服务器 |
CN109711532A (zh) * | 2018-12-06 | 2019-05-03 | 东南大学 | 一种针对硬件实现稀疏化卷积神经网络推断的加速方法 |
Cited By (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111881828A (zh) * | 2020-07-28 | 2020-11-03 | 浙江大学 | 一种面向移动端设备的障碍物检测方法 |
CN111881828B (zh) * | 2020-07-28 | 2022-05-06 | 浙江大学 | 一种面向移动端设备的障碍物检测方法 |
CN112001483A (zh) * | 2020-08-14 | 2020-11-27 | 广州市百果园信息技术有限公司 | 一种剪枝神经网络模型的方法和装置 |
CN112183725A (zh) * | 2020-09-27 | 2021-01-05 | 安徽寒武纪信息科技有限公司 | 提供神经网络的方法、计算装置和计算机可读存储介质 |
CN112183725B (zh) * | 2020-09-27 | 2023-01-17 | 安徽寒武纪信息科技有限公司 | 提供神经网络的方法、计算装置和计算机可读存储介质 |
CN112529165A (zh) * | 2020-12-22 | 2021-03-19 | 上海有个机器人有限公司 | 深度神经网络剪枝方法、装置、终端及存储介质 |
CN112529165B (zh) * | 2020-12-22 | 2024-02-02 | 上海有个机器人有限公司 | 深度神经网络剪枝方法、装置、终端及存储介质 |
CN112766397A (zh) * | 2021-01-27 | 2021-05-07 | 歌尔股份有限公司 | 一种分类网络及其实现方法和装置 |
CN112766397B (zh) * | 2021-01-27 | 2023-12-05 | 歌尔股份有限公司 | 一种分类网络及其实现方法和装置 |
CN113011588A (zh) * | 2021-04-21 | 2021-06-22 | 华侨大学 | 一种卷积神经网络的剪枝方法、装置、设备和介质 |
CN113011588B (zh) * | 2021-04-21 | 2023-05-30 | 华侨大学 | 一种卷积神经网络的剪枝方法、装置、设备和介质 |
CN113361697A (zh) * | 2021-07-14 | 2021-09-07 | 深圳思悦创新有限公司 | 一种卷积网络模型压缩方法、系统及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN111199282B (zh) | 2024-04-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111199282A (zh) | 一种卷积神经网络模型的剪枝方法及装置 | |
US20210343012A1 (en) | Medical image classification method, model training method, computing device, and storage medium | |
US11176418B2 (en) | Model test methods and apparatuses | |
CN109840589B (zh) | 一种在fpga上运行卷积神经网络的方法和装置 | |
WO2022042123A1 (zh) | 图像识别模型生成方法、装置、计算机设备和存储介质 | |
CN109754376A (zh) | 图像去噪方法及装置 | |
CN110110596B (zh) | 高光谱图像特征提取、分类模型构建及分类方法 | |
CN107665333A (zh) | 一种基于卷积神经网络的不雅图片识别方法、终端、设备及计算机可读存储介质 | |
CN109242092B (zh) | 图像处理方法和装置、电子设备、存储介质 | |
CN106600595A (zh) | 一种基于人工智能算法的人体特征尺寸自动测量方法 | |
CN111800811A (zh) | 一种频谱异常的无监督检测方法、装置、设备及存储介质 | |
CN107743235A (zh) | 图像处理方法、装置及电子设备 | |
CN111862040B (zh) | 人像图片质量评价方法、装置、设备及存储介质 | |
CN111401136A (zh) | 一种柱塞泵空化程度检测方法、装置及终端 | |
CN100369047C (zh) | 一种基于Gabor相位模式的图像识别方法 | |
CN113837965B (zh) | 图像清晰度识别方法、装置、电子设备及存储介质 | |
CN105139373B (zh) | 基于独立子空间分析的无参考图像质量客观评价方法 | |
CN112862545A (zh) | 特征数据的处理方法以及电子设备 | |
CN115620083B (zh) | 模型训练方法、人脸图像质量评价方法、设备及介质 | |
CN115100528A (zh) | 一种基于卷积神经网络的农作物病虫害识别方法 | |
CN115205613A (zh) | 一种图像识别方法、装置、电子设备及存储介质 | |
CN113779530A (zh) | 一种基于调度机构级别的跨系统访问权限控制系统 | |
CN109685069A (zh) | 图像检测方法、装置及计算机可读存储介质 | |
CN110647805A (zh) | 一种网纹图像识别方法、装置及终端设备 | |
CN109727210B (zh) | 基于近似l0改造的深度信念网络的遥感图像解混方法及系统 |
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 | ||
CB02 | Change of applicant information | ||
CB02 | Change of applicant information |
Address after: 11th Floor, Building A1, Huizhi Science and Technology Park, No. 8 Hengtai Road, Nanjing Economic and Technological Development Zone, Jiangsu Province, 211000 Applicant after: DILU TECHNOLOGY Co.,Ltd. Address before: Building C4, No.55 Liyuan South Road, moling street, Nanjing, Jiangsu Province Applicant before: DILU TECHNOLOGY Co.,Ltd. |
|
GR01 | Patent grant | ||
GR01 | Patent grant |