CN114037858B - 一种基于泰勒展开的图像分类网络层剪枝方法 - Google Patents
一种基于泰勒展开的图像分类网络层剪枝方法 Download PDFInfo
- Publication number
- CN114037858B CN114037858B CN202111237007.1A CN202111237007A CN114037858B CN 114037858 B CN114037858 B CN 114037858B CN 202111237007 A CN202111237007 A CN 202111237007A CN 114037858 B CN114037858 B CN 114037858B
- Authority
- CN
- China
- Prior art keywords
- basicblock
- network
- layer
- importance
- pruning
- 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
- 238000013138 pruning Methods 0.000 title claims abstract description 35
- 238000000034 method Methods 0.000 title claims abstract description 33
- 230000006835 compression Effects 0.000 claims abstract description 18
- 238000007906 compression Methods 0.000 claims abstract description 18
- 238000012549 training Methods 0.000 claims description 21
- 230000008859 change Effects 0.000 claims description 7
- 238000010606 normalization Methods 0.000 claims description 6
- 238000012163 sequencing technique Methods 0.000 claims description 4
- 238000004590 computer program Methods 0.000 claims description 2
- 238000012545 processing Methods 0.000 abstract description 2
- 238000004364 calculation method Methods 0.000 description 7
- 230000000694 effects Effects 0.000 description 7
- 230000001133 acceleration Effects 0.000 description 4
- 238000013527 convolutional neural network Methods 0.000 description 3
- 230000008901 benefit Effects 0.000 description 2
- 230000006872 improvement Effects 0.000 description 2
- 238000013528 artificial neural network Methods 0.000 description 1
- 238000007635 classification algorithm Methods 0.000 description 1
- 230000007423 decrease Effects 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000011156 evaluation Methods 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 238000003062 neural network model Methods 0.000 description 1
- 230000008569 process Effects 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 230000000717 retained effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Classifications
-
- 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
-
- 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/08—Learning methods
- G06N3/084—Backpropagation, e.g. using gradient descent
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- Life Sciences & Earth Sciences (AREA)
- Artificial Intelligence (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Health & Medical Sciences (AREA)
- Software Systems (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- Biophysics (AREA)
- Biomedical Technology (AREA)
- Mathematical Physics (AREA)
- Computational Linguistics (AREA)
- Health & Medical Sciences (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Bioinformatics & Computational Biology (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Evolutionary Biology (AREA)
- Image Analysis (AREA)
Abstract
本发明涉及一种基于泰勒展开的图像分类网络层剪枝方法,属于图像处理与识别技术领域。对BN层的缩放因子和偏置因子同时进行分析,基于泰勒展开方法鉴别对网络损失函数影响较小的网络层并进行剔除,从而达到网络层剪枝的目的。将其应用于图像分类任务,能够在保证分类准确率的前提下达到较高的压缩率,同时提高模型的运算速度,便于其在手机等终端移动设备中的应用。
Description
技术领域
本发明属于图像处理与识别技术领域,尤其涉及一种基于泰勒展开的图像分类网络层剪枝方法。
背景技术
深度卷积神经网络在机器视觉领域取得了巨大成功,达到了超越人类水平的识别能力。得益于庞大的训练数据集和网络规模,神经网络模型通过复杂的运算能够提取到表征目标图像的鲁棒特征,进而用于分类识别。然而,伴随着识别准确率的提升,网络模型的运算量和计算量也在向不断增加的方向发展,需要占用巨大的存储空间和计算资源,对于计算设备的要求也越来越高,运算的实时性难以得到保证,由此限制了其在手机、汽车、卫星等终端设备中的应用,。
参数剪枝是一种有效的模型压缩方法,通过剔除网络中冗余或不重要的参数达到网络瘦身的效果。张建明,王伟,陆朝铨,等(《基于压缩卷积神经网络的交通标志分类算法》,华中科技大学学报(自然科学版),2019,47(01):108-113)提出了一种基于泰勒展开的通道剪枝方法,依据泰勒展开式求得将特征图通道去除时所引起的损失函数变化量,来确定对网络性能影响较小的滤波器通道,进而执行通道剪枝操作。该方法在滤波器参数为0处进行泰勒展开,由于滤波器中参数众多,所得结果容易受到个别参数的影响。考虑到网络中的卷积层一般都会跟随一个批规范化(BN)层,而BN层中仅有两个参数用于控制输出特征图的大小,更适合进行泰勒展开。另一方面,通道剪枝方法对于网络的加速效果不如层剪枝,对于层数较多的网络进行层剪枝能够取得更大的速度收益。
发明内容
要解决的技术问题
已有的基于泰勒展开的网络通道剪枝方法只对卷积层滤波器参数或BN层中的缩放因子进行分析,且通道剪枝所得的速度收益不如层剪枝。为了避免现有技术的不足之处,本发明提出一种基于泰勒展开的图像分类网络层剪枝方法。
技术方案
一种基于泰勒展开的图像分类网络层剪枝方法,其特征在于步骤如下:
步骤1:将预训练模型在训练集上进行一次迭代训练,通过误差反向传播获取网络中各参数的梯度信息;
步骤2:根据下式计算网络中每个BasicBlock的重要性pl:
式中,代表了第l个BasicBlock中第j个BN层的重要性,和分别是将γi和βi置为0时引起的变化量,和分别是γi和βi关于的梯度,l∈(1,2,…,L),L为网络中BasicBlock的总个数;和分别是BN层中可训练的缩放因子和偏置;
将同一分辨率阶段内的pl归一化至[0,1],即:
式中,Pl为归一化后BasicBlock的重要性,pmax和pmin分别是该阶段中pl的最大值和最小值;
对于具有下采样层的BasicBlock,由于其特殊性不能被剪除,故将这些BasicBlock的重要性设置为1;
步骤3:根据需要达到的压缩率r,确定要保留下来的BasicBlock数量为l0=rL,需要去除的BasicBlock数量为l1=L-l0;将所有BasicBlock的重要性Pl进行全局排序,去除l1个重要性最低的BasicBlock,进而得到层剪枝后的网络模型;
步骤4:对层剪枝后的网络模型进行训练,以恢复模型的分类准确率,得到最终的网络模型。
一种计算机系统,其特征在于包括:一个或多个处理器,计算机可读存储介质,用于存储一个或多个程序,其中,当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器实现上述的方法。
一种计算机可读存储介质,其特征在于存储有计算机可执行指令,所述指令在被执行时用于实现上述的方法。
一种计算机程序,其特征在于包括计算机可执行指令,所述指令在被执行时用于实现上述的方法。
有益效果
本发明提出的一种基于泰勒展开的图像分类网络层剪枝方法,对BN层的缩放因子和偏置因子同时进行分析,基于泰勒展开方法鉴别对网络损失函数影响较小的网络层并进行剔除,从而达到网络层剪枝的目的。将其应用于图像分类任务,能够在保证分类准确率的前提下达到较高的压缩率,同时提高模型的运算速度,便于其在手机等终端移动设备中的应用。
本发明所设计的基于泰勒展开的图像分类网络层剪枝方法能够有效地对网络各层进行重要性排序,进而去除掉重要性小的网络层,达到模型压缩和加速的效果。如压缩后的ResNet-56网络层数由56层减少为34层,参数量由0.85M减少为0.41M,计算量由127M减少为74.6M,运算耗时由6.614ms减少为4.362ms,而准确率由93.21%提升到93.35%。
附图说明
附图仅用于示出具体实施例的目的,而并不认为是对本发明的限制,在整个附图中,相同的参考符号表示相同的部件。
图1是基于泰勒展开的图像分类网络层剪枝流程图。
图2是ResNet-56网络中各BasicBlock的归一化重要性结果图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图和实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。此外,下面描述的本发明各个实施方式中所涉及到的技术特征只要彼此之间未构成冲突就可以相互组合。
现代神经网络中多存在残差结构,以ResNet为例,由多个BasicBlock组成,每个BasicBlock包括一个主分支和一个旁路分支,其输出等于两个分支之和。主分支包括多个卷积层和BN层,旁路分支为恒等映射,即把输入直接输出。若要执行层剪枝,将每个BasicBlock视为一个整体,如果主分支的输出非常小,那么就可以去掉主分支而直接将输入作为输出,即去除掉了该BasicBlock中所有的网络层。由此,层剪枝问题可以转换为衡量BasicBlock中主分支输出重要性的问题。
在主分支中,每个卷积层后面往往会跟随一个BN层,其计算过程为:
式中,是BN层的输入,即上一个卷积层的输出,是BN层的输出,n是通道个数,h′和w′分别是特征图的高度和宽度,是每个训练批次中x的均值,是每个训练批次中x的标准差,和分别是BN层中可训练的缩放因子和偏置,ε是一个防止分母为0的正数。
为了获取单个BN层的重要性,采用基于泰勒展开的方法,求取将其中每个参数γ=[γ1,γ2,…,γn]T和β=[β1,β2,…,βn]T分别置为0时对网络损失函数的影响之和,得:
式中,代表了第l个BasicBlock中第j个BN层的重要性,和分别是将γi和βi置为0时引起的变化量,和分别是γi和βi关于的梯度,可以由网络训练过程中反向传播时得到。
对于具有m个BN层的BasicBlock,由于各个层之间是串联关系,可以通过连乘获取该BasicBlock整体的重要性为:
式中,l∈(1,2,…,L),L为网络中BasicBlock的总个数。
据此,本发明提出一种基于泰勒展开的图像分类网络层剪枝方法,其流程如图1所示。其具体步骤如下:
(1)将预训练模型在训练集上进行一次迭代训练,通过误差反向传播获取网络中各参数的梯度信息。
(2)根据式(2)和式(3)计算网络中每个BasicBlock的重要性pl。
随着网络的加深,图像分辨率在分阶段地减小,导致不同阶段的pl大小不具有可比性,因此需要采用归一化方法,将同一分辨率阶段内的pl归一化至[0,1],即:
式中,Pl为归一化后BasicBlock的重要性,pmax和pmin分别是该阶段中pl的最大值和最小值。
对于具有下采样层的BasicBlock,由于其特殊性不能被剪除,故将这些BasicBlock的重要性设置为1。
(3)根据需要达到的压缩率r,确定要保留下来的BasicBlock数量为l0=rL,需要去除的BasicBlock数量为l1=L-l0。将所有BasicBlock的重要性Pl进行全局排序,去除l1个重要性最低的BasicBlock,进而得到层剪枝后的网络模型。
(4)对层剪枝后的网络模型进行训练,以恢复模型的分类准确率,得到最终的网络模型。该模型层数比原始模型少,因此能够达到网络压缩的目的,并且层数的减少能够带来大幅度的速度提升。
下面结合图像分类实例说明本发明的具体实施方式,但本发明的技术内容不限于所述的范围,具体实施方式包括以下步骤:
(1)搭建用于图像分类的卷积神经网络,构建具有大量训练样本及标签的图像数据集。
(2)将预训练模型在训练集上进行一次迭代训练,通过误差反向传播获取网络中各参数的梯度信息。
(3)采用本发明基于泰勒展开的方法,利用BN层的缩放因子和偏置因子计算网络中各BasicBlock的重要性pl,进行归一化后得到Pl。
(4)将所有BasicBlock的重要性Pl进行全局排序,根据要达到的压缩率去除l1个重要性最低的BasicBlock,得到层剪枝后的网络模型。
(5)在数据集上对层剪枝后的网络模型进行训练,以恢复模型的分类准确率,得到最终的网络模型。利用该模型进行图像分类,能够在保证分类准确率的同时达到网络压缩和加速的效果。
采用本发明方法对ResNet-56网络进行层剪枝。图2为网络中各BasicBlock的归一化重要性Pl结果图。设定压缩率为0.6,即保留60%的网络层,剩余40%的网络层则被剪除。表1为采用本发明对ResNet-56网络进行层剪枝的压缩结果。压缩前的原始ResNet-56模型包含56层、0.85M参数和127M计算量,单幅图片推理耗时为6.614ms,在CIFAR-10上的准确率为93.21%,采用本发明的压缩方法得到的模型为34层,参数量为0.41M,所需计算量为74.6M,单幅图片推理耗时为4.362ms,准确率提高为93.35%。由此说明本发明所提出的基于泰勒展开的图像分类网络层剪枝方法能够有效地去除网络中不重要的层,在保证网络准确率的同时达到网络压缩和加速的效果。
表1本发明网络压缩结果表
评价指标 | 层数 | 参数量(M) | 计算量(M) | 单幅图片耗时(ms) | 准确率 |
压缩前 | 56 | 0.85 | 127 | 6.614 | 93.21% |
压缩后 | 34 | 0.41 | 74.6 | 4.362 | 93.35% |
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明公开的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本发明的保护范围之内。
Claims (4)
1.一种基于泰勒展开的图像分类网络层剪枝方法,其特征在于步骤如下:
步骤1:将预训练模型在训练集上进行一次迭代训练,通过误差反向传播获取网络中各参数的梯度信息;
步骤2:根据下式计算网络中每个BasicBlock的重要性pl:
式中,代表了第l个BasicBlock中第j个BN层的重要性,和分别是将γi和βi置为0时引起的变化量,和分别是γi和βi关于的梯度,l∈(1,2,…,L),L为网络中BasicBlock的总个数;和分别是BN层中可训练的缩放因子和偏置;
将同一分辨率阶段内的pl归一化至[0,1],即:
式中,Pl为归一化后BasicBlock的重要性,pmax和pmin分别是该阶段中pl的最大值和最小值;
对于具有下采样层的BasicBlock,由于其特殊性不能被剪除,故将这些BasicBlock的重要性设置为1;
步骤3:根据需要达到的压缩率r,确定要保留下来的BasicBlock数量为l0=rL,需要去除的BasicBlock数量为l1=L-l0;将所有BasicBlock的重要性Pl进行全局排序,去除l1个重要性最低的BasicBlock,进而得到层剪枝后的网络模型;
步骤4:对层剪枝后的网络模型进行训练,以恢复模型的分类准确率,得到最终的网络模型。
2.一种计算机系统,其特征在于包括:一个或多个处理器,计算机可读存储介质,用于存储一个或多个程序,其中,当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器实现权利要求1所述的方法。
3.一种计算机可读存储介质,其特征在于存储有计算机可执行指令,所述指令在被执行时用于实现权利要求1所述的方法。
4.一种计算机程序产品,其特征在于包括计算机可执行指令,所述指令在被执行时用于实现权利要求1所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111237007.1A CN114037858B (zh) | 2021-10-24 | 2021-10-24 | 一种基于泰勒展开的图像分类网络层剪枝方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111237007.1A CN114037858B (zh) | 2021-10-24 | 2021-10-24 | 一种基于泰勒展开的图像分类网络层剪枝方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114037858A CN114037858A (zh) | 2022-02-11 |
CN114037858B true CN114037858B (zh) | 2024-11-08 |
Family
ID=80141749
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111237007.1A Active CN114037858B (zh) | 2021-10-24 | 2021-10-24 | 一种基于泰勒展开的图像分类网络层剪枝方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114037858B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116359762B (zh) * | 2023-04-27 | 2024-05-07 | 北京玖行智研交通科技有限公司 | 一种基于深度学习和网络压缩的电池荷电状态估计方法 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112396179A (zh) * | 2020-11-20 | 2021-02-23 | 浙江工业大学 | 一种基于通道梯度剪枝的柔性深度学习网络模型压缩方法 |
CN112800977A (zh) * | 2021-01-30 | 2021-05-14 | 北京工业大学 | 基于多粒度卷积神经网络剪枝的教师板书动作识别方法 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110598731B (zh) * | 2019-07-31 | 2021-08-20 | 浙江大学 | 一种基于结构化剪枝的高效图像分类方法 |
JP7189865B2 (ja) * | 2019-12-27 | 2022-12-14 | Kddi株式会社 | モデル圧縮装置及びプログラム |
-
2021
- 2021-10-24 CN CN202111237007.1A patent/CN114037858B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112396179A (zh) * | 2020-11-20 | 2021-02-23 | 浙江工业大学 | 一种基于通道梯度剪枝的柔性深度学习网络模型压缩方法 |
CN112800977A (zh) * | 2021-01-30 | 2021-05-14 | 北京工业大学 | 基于多粒度卷积神经网络剪枝的教师板书动作识别方法 |
Also Published As
Publication number | Publication date |
---|---|
CN114037858A (zh) | 2022-02-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110135580B (zh) | 一种卷积网络全整型量化方法及其应用方法 | |
CN109344921B (zh) | 一种基于深度神经网络模型的图像识别方法、装置及设备 | |
CN113379786B (zh) | 图像抠图方法、装置、计算机设备及存储介质 | |
CN108629288A (zh) | 一种手势识别模型训练方法、手势识别方法及系统 | |
CN112101487B (zh) | 一种细粒度识别模型的压缩方法和设备 | |
CN110148117B (zh) | 基于电力图像的电力设备缺陷识别方法、装置与存储介质 | |
JP2021108039A (ja) | モデル圧縮装置及びプログラム | |
CN112101547B (zh) | 一种对网络模型的剪枝方法、装置、电子设备及存储介质 | |
CN116453096A (zh) | 图像异物检测方法、装置、电子设备和存储介质 | |
CN112836820B (zh) | 用于图像分类任务的深度卷积网络训练方法、装置及系统 | |
CN114266894A (zh) | 一种图像分割方法、装置、电子设备及存储介质 | |
CN114037858B (zh) | 一种基于泰勒展开的图像分类网络层剪枝方法 | |
CN112288084A (zh) | 一种基于特征图通道重要性程度的深度学习目标检测网络压缩方法 | |
CN110334775B (zh) | 一种基于宽度学习的无人机线路故障识别方法和装置 | |
CN115081580B (zh) | 一种对预训练的神经网络模型进行剪枝的方法 | |
CN115016965A (zh) | 计量自动化主站的故障检测方法、装置、设备及存储介质 | |
CN108073567B (zh) | 一种特征词提取处理方法、系统及服务器 | |
CN114494441B (zh) | 基于深度学习的葡萄及其采摘点同步识别定位方法、装置 | |
CN114139696A (zh) | 基于算法集成平台的模型处理方法、装置和计算机设备 | |
CN115376195B (zh) | 训练多尺度网络模型的方法及人脸关键点检测方法 | |
CN111382761B (zh) | 一种基于cnn的检测器、图像检测方法及终端 | |
CN112949731A (zh) | 基于多专家模型的目标检测方法、装置、存储介质及设备 | |
CN111191665A (zh) | 图像分类方法、装置及电子设备 | |
CN116992944B (zh) | 基于可学习重要性评判标准剪枝的图像处理方法及装置 | |
CN117011719B (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 |