CN113935484A - 一种卷积神经网络模型的压缩方法及装置 - Google Patents
一种卷积神经网络模型的压缩方法及装置 Download PDFInfo
- Publication number
- CN113935484A CN113935484A CN202111224541.9A CN202111224541A CN113935484A CN 113935484 A CN113935484 A CN 113935484A CN 202111224541 A CN202111224541 A CN 202111224541A CN 113935484 A CN113935484 A CN 113935484A
- Authority
- CN
- China
- Prior art keywords
- neural network
- convolutional neural
- network model
- sparse
- 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.)
- Granted
Links
- 238000013527 convolutional neural network Methods 0.000 title claims abstract description 195
- 238000000034 method Methods 0.000 title claims abstract description 47
- 230000006835 compression Effects 0.000 title claims abstract description 18
- 238000007906 compression Methods 0.000 title claims abstract description 18
- 238000013138 pruning Methods 0.000 claims abstract description 111
- 238000012549 training Methods 0.000 claims abstract description 107
- 238000003062 neural network model Methods 0.000 claims abstract description 18
- 238000012795 verification Methods 0.000 claims description 16
- 238000013528 artificial neural network Methods 0.000 claims description 15
- 238000012360 testing method Methods 0.000 claims description 6
- 230000006870 function Effects 0.000 description 11
- 238000001514 detection method Methods 0.000 description 10
- 238000013139 quantization Methods 0.000 description 8
- 238000002922 simulated annealing Methods 0.000 description 7
- 238000000354 decomposition reaction Methods 0.000 description 6
- 238000010606 normalization Methods 0.000 description 6
- 238000004364 calculation method Methods 0.000 description 3
- 238000010586 diagram Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 239000011159 matrix material Substances 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 230000001133 acceleration Effects 0.000 description 1
- 238000013473 artificial intelligence Methods 0.000 description 1
- 230000008094 contradictory effect Effects 0.000 description 1
- 238000013135 deep learning Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000012546 transfer Methods 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
本发明公开了一种卷积神经网络模型的压缩方法及装置,所述方法包括如下步骤:步骤S1,对原始卷积神经网络模型的每个卷积通道的重要性因子γ使用动态正则化约束,进行稀疏化训练,使模型的有效权重尽量集中在重要性因子较大的通道中,获得稀疏的稀疏卷积神经网络模型;步骤S2,根据稀疏卷积神经网络模型的通道重要性因子的大小,执行全局通道剪枝剪除不重要的通道,得到压缩后的剪枝卷积神经网络模型。
Description
技术领域
本发明涉及卷积神经网络技术领域,特别是涉及一种卷积神经网络模型的压缩方法及装置。
背景技术
机器视觉领域是人工智能的重要分支,在自动驾驶和安防等场景下有着广泛应用。以卷积神经网络为代表的深度学习算法在目标检测等任务上表现优异,但卷积神经网络模型由于巨大的参数量和计算资源开销,难以在内存和计算资源稀缺的边缘计算平台上部署。实际应用中,除了对算法高精度的需求外,大量的应用领域还对算法的运行速度有严苛要求。在计算资源一定的条件下,卷积神经网络模型的算力消耗和运行效率存在矛盾对立,需要对网络的精度表现和运行速度进行权衡。而计算资源受限的场景下无法获得高性能GPU加速,对卷积神经网络模型进行压缩的需求十分迫切。
为解决此问题,学者们提出了剪枝、量化、权重分解等方法压缩网络。网络剪枝是指去除网络中不重要的权值、卷积核、卷积层等结构,从而减少卷积的计算量;权值量化是指采用更少的比特位宽的方式存储权重和参与运算,具有代表性的权值量化方法包括二值量化、三值量化、八位量化以及混合精度量化等;权重分解是指将参与存储和运算的权重矩阵以低秩矩阵进行表示,常见的权重低秩分解包括奇异值分解和张量分解等方式。
但上述方法均有各自的不足:上述剪枝算法通常未进行稀疏化训练或以固定正则化项约束进行稀疏化训练,无法充分挖掘卷积神经网络中的冗余,导致剪枝效率低下且压缩精度损失较大;量化方法降低了卷积神经网络权重存储的位宽,但并未降低卷积神经网络的计算量;权重分解的方法更改了网络的权重结构,难以与其他压缩方法结合形成组合压缩策略,扩展性受限。
发明内容
为克服上述现有技术存在的不足,本发明之目的在于提供一种卷积神经网络模型的压缩方法及装置,通过动态正则化约束卷积通道重要性因子γ进行稀疏化训练,再进行全局通道剪枝的方法,从而极大地提高了剪枝效率,改善了剪枝效果。本发明中的卷积通道重要性因子γ指卷积神经网络中卷积通道对应的批归一化层(batch normalization)中的缩放因子。
为达上述及其它目的,本发明提出一种卷积神经网络模型的压缩方法,包括如下步骤:
步骤S1,对原始卷积神经网络模型的每个卷积通道的重要性因子γ使用动态正则化约束,进行稀疏化训练,使模型的有效权重尽量集中在重要性因子较大的通道中,获得稀疏的稀疏卷积神经网络模型;
步骤S2,根据稀疏卷积神经网络模型的通道重要性因子γ的大小,自低向高执行全局通道剪枝剪除预设数量的通道,得到压缩后的剪枝卷积神经网络模型。
优选地,步骤S1进一步包括:
步骤S101,对所述原始卷积神经网络进行一轮稀疏化训练,得到稀疏的中间卷积神经网络模型;
步骤S102,对所述中间卷积神经网络模型进行测试,在验证集上运行所述中间卷积神经网络模型,得到本轮稀疏化训练后的mAP;
步骤S103,若本轮稀疏化训练后的中间卷积神经网络的mAP高于本轮稀疏化训练前的卷积神经网络的mAP,按照预设的正则化项稀疏度因子的更新策略,增大正则化项的稀疏度;若所述本轮稀疏化训练后的中间卷积神经网络的mAP低于本轮稀疏化训练前的卷积神经网络的mAP,则按照预设的正则化项稀疏度因子的更新策略,判别本轮正则化项的稀疏度是否更新;
步骤S104,若稀疏化训练未进行到预设的总轮数,则返回执行步骤S101继续对所述卷积神经网络进行稀疏化训练;否则,将所述经过预设总轮数稀疏化训练的卷积神经网络作为获得的所述稀疏的稀疏卷积神经网络模型。
优选地,于步骤S101之前,还包括如下步骤:
步骤S100,设定稀疏化训练的超参数、动态可变正则化函数的形式和正则化项稀疏度因子的更新策略。
优选地,所述设定所述稀疏化训练的超参数的方法包括:
设定卷积神经网络模型稀疏化训练的稀疏率r;
设定卷积神经网络模型预期的剪枝率s;
根据训练数据集的大小和卷积神经网络的预期剪枝率,得到卷积神经网络稀疏化训练的总轮数。
优选地,所述稀疏率略高于所述预期的剪枝率。
优选地,设定所述动态可变正则化函数的形式包括设定带有可变稀疏度因子的正则化项,使用其稀疏性约束通道重要性因子收缩。
优选地,所述正则化项稀疏度因子的更新策略包括比较并计算稀疏后的卷积神经网络的mAP与系数前的卷积神经网络的mAP的差值,根据比较结果更新正则化项的可变稀疏度因子。
优选地,在步骤S2之前,还包括如下步骤:
对卷积神经网络每个通道对应的重要性因子依照大小进行排序,以所述重要性因子从低到高的顺序作为通道的剪枝优先级。
优选地,步骤S2进一步包括:
步骤S201,根据预期通道剪枝率和卷积神经网络模型的通道总数,计算需要剪除的通道的数量n,并按照通道的重要性因子γ,对将所述稀疏卷积神经网络模型中n个通道的标志状态设置为待剪除状态;
步骤S202,逐卷积层判断是否该层所有的卷积通道的标志状态都为待剪除状态,若是,则将该层重要性因子最高的通道的待剪除状态标志取消,直至完成所有卷积层的判断;
步骤S203,对所述稀疏卷积神经网络模型按照所述通道的标志状态,删除所有被设置为待剪除状态的通道和对应的网络模型权值,完成所述卷积通道的剪枝,得到所述压缩后的剪枝卷积神经网络模型。
步骤204,利用验证集,对S203获得的剪枝神经网络执行微调训练,记录微调后剪枝神经网络在验证集上的mAP。
为达到上述目的,本发明还提供一种卷积神经网络模型的压缩装置,包括:
稀疏化训练单元,用于对原始卷积神经网络模型的每个卷积通道的重要性因子使用动态正则化约束,进行稀疏化训练,使模型的有效权重尽量集中在重要性因子较大的通道中,获得稀疏的稀疏卷积神经网络模型;
全局通道剪枝单元,用于根据稀疏卷积神经网络模型的通道重要性因子的大小,执行全局通道剪枝剪除不重要的通道,得到压缩后的剪枝卷积神经网络模型。
与现有技术相比,本发明一种卷积神经网络模型的压缩方法及装置通过使用动态正则化约束卷积通道重要性因子进行稀疏化训练,获得稀疏的卷积神经网络模型,并使用通道重要性因子评判通道的剪枝优先级,然后根据所述剪枝优先级排序,在全局范围内执行通道剪枝,从而获得压缩的卷积神经网络模型,本发明不仅解决了目前卷积神经网络参数数量及计算量巨大的问题,而且在保证模型压缩率的同时,有效提升了网络的精度表现,为在资源有限的边缘计算平台上部署卷积神经网络模型提供了可能。
附图说明
图1为本发明一种卷积神经网络模型的压缩方法的步骤流程图;
图2为本发明一种卷积神经网络模型的压缩装置的系统架构图;
图3为本发明实施例中步骤一的细部流程图。
具体实施方式
以下通过特定的具体实例并结合附图说明本发明的实施方式,本领域技术人员可由本说明书所揭示的内容轻易地了解本发明的其它优点与功效。本发明亦可通过其它不同的具体实例加以施行或应用,本说明书中的各项细节亦可基于不同观点与应用,在不背离本发明的精神下进行各种修饰与变更。
图1为本发明一种卷积神经网络模型的压缩方法的步骤流程图。如图1所示,本发明一种卷积神经网络模型的压缩方法,包括如下步骤:
步骤S1,对原始卷积神经网络模型的每个卷积通道的重要性因子γ使用动态正则化约束,进行稀疏化训练,使模型的有效权重尽量集中在重要性因子较大的通道中,获得稀疏卷积神经网络模型。本发明中的卷积通道重要性因子γ指卷积神经网络中卷积通道对应的批归一化层(batch normalization)中的缩放因子。
优选地,在执行步骤S1之前,可以先基于目标检测算法训练获取所述原始卷积神经网络模型。但需说明的是,本发明并不限制获取所述原始卷积神经网络模型的目标检测算法,也不限制所述原始卷积神经网络模型的应用场景,即上述卷积神经网络模型的压缩方法可以但不限于应用于任何使用卷积神经网络模型的领域中,例如,包括但不限于图像识别、语音识别和文档分析等领域。
具体地,步骤S1进一步包括:
步骤S101,对所述原始卷积神经网络进行一轮稀疏化训练,得到稀疏的中间卷积神经网络模型;
步骤S102,对所述中间卷积神经网络模型进行测试,在验证集上运行所述中间卷积神经网络模型,得到本轮稀疏化训练后的mAP(mAP:mean Average Precision,平均的平均精确度)。具体地,首先在一个类别内,求平均精确度AP(Average Precision),然后对所有类别的平均精确度再求平均(mean Average Precision),mAP在目标检测中用于判断识别的准确率,即用于衡量物品被检测出的概率。
步骤S103,若本轮稀疏化训练后的中间卷积神经网络的mAP高于本轮稀疏化训练前的卷积神经网络的mAP,按照预设的正则化项稀疏度因子的更新策略,增大正则化项的稀疏度;若所述本轮稀疏化训练后的中间卷积神经网络的mAP低于本轮稀疏化训练前的卷积神经网络的mAP,则按照预设的正则化项稀疏度因子的更新策略,判别本轮正则化项的稀疏度是否更新。
步骤S104,若稀疏化训练未进行到预设的总轮数,则返回执行步骤S101继续对所述原始卷积神经网络进行稀疏化训练;否则,将所述经过预设总轮数稀疏化训练的卷积神经网络作为获得的所述稀疏卷积神经网络模型。
优选地,于步骤S101之前,还包括如下步骤:
步骤S100,设定稀疏化训练的超参数、动态可变正则化函数的形式和正则化项稀疏度因子的更新策略。
在本发明具体实施例中,设定所述稀疏化训练的超参数的方法包括:
设定原始卷积神经网络模型稀疏化训练的稀疏率,具体地,所述稀疏率应略高于预期的剪枝率,使得模型通道获得适度的稀疏比例,在本发明具体实施例中,所述稀疏率为所述剪枝率+5%;
设定原始卷积神经网络模型预期的剪枝率,在本发明具体实施例中,所述剪枝率设置为90%;
根据训练数据集的大小和原始卷积神经网络的预期剪枝率,得到原始卷积神经网络稀疏化训练的总轮数,在本发明具体实施例中,假设采用数据集训练集图像数为70000张,共10类,根据原始卷积神经网络的剪枝预期,所述稀疏化训练总轮数应大于图像数和类别数的2000倍,因此设定所述稀疏化训练的总轮数为70000。
设定所述动态可变正则化函数的形式包括设定带有可变稀疏度因子的正则化项,使用其稀疏性约束通道重要性因子收缩。作为一种效果较好的方式,在本发明具体实施例中,使用Lp正则化和TL1正则化的组合形式即TLp正则化作为所述动态可变正则化函数,其中p即为所述可变稀疏度因子,该动态可变正则化函数的输入值为γ,即xi=γi,γi表示第i个通道的重要性因子。
所述正则化项稀疏度因子的更新策略包括:比较并计算稀疏后的卷积神经网络的mAP与稀疏前的卷积神经网络的mAP的差值,按照线性调整、使用模拟退火算法调整等多种方法更新正则化项的可变稀疏度因子。作为一种效果较好的方式,在本发明具体实施例中使用模拟退火算法,依照概率接受所述可变稀疏度因子的随机调整。
步骤S2,根据所述稀疏卷积神经网络模型的通道重要性因子γ的大小,执行全局通道剪枝剪除不重要的通道,得到压缩后的剪枝卷积神经网络模型。即根据稀疏卷积神经网络模型的通道重要性因子的大小,按照通道的剪枝优先级顺序,执行全局剪枝剪除相应数量的通道,并判断是否完成剪枝,直至模型达到压缩率和准确率的要求,得到压缩后的剪枝卷积神经网络模型。
优选地,在步骤S2之前,还包括如下步骤:
对所述稀疏卷积神经网络每个通道对应的重要性因子γ依照大小进行排序,以所述重要性因子γ从低到高的顺序作为通道的剪枝优先级。即:重要性因子数值越低的通道,在后续剪枝中被排在更高的剪枝优先级,会被优先剪除。
具体地,步骤S2进一步包括:
步骤S201,根据预期通道剪枝率s和卷积神经网络模型的通道总数N(其中原始卷积神经网络模型的和稀疏卷积神经网络模型的通道数量一致),计算需要剪除的通道的数量n,并按照通道的重要性因子γ,自小到大将所述稀疏卷积神经网络模型中n个通道的标志状态设置为待剪除状态,在本发明具体实施例中,剪除通道的数量n=原始通道总数N*预设剪枝率s;
步骤S202,逐卷积层判断是否该层所有的卷积通道的标志状态都为待剪除状态,若是,则将该层重要性因子最高的通道的待剪除状态标志取消,直至完成所有卷积层的判断;
步骤S203,对所述稀疏卷积神经网络模型按照所述通道的标志状态,删除所有被设置为待剪除状态的通道和对应的网络模型权值,完成所述卷积通道的剪枝,得到所述压缩后的剪枝卷积神经网络模型。
步骤204,利用验证集,对S203获得的剪枝神经网络执行微调训练,记录微调后剪枝神经网络在验证集上的mAP。
具体地,计算剪枝神经网络在验证集上的mAP,判断该mAP是否低于预设mAP阈值,若是,则完成微调后训练,并记录微调后剪枝神经网络在验证集上的mAP。
图2为本发明一种卷积神经网络模型的压缩装置的系统结构图。如图2所示,本发明一种卷积神经网络模型的压缩装置,包括:
稀疏化训练单元20,用于对原始卷积神经网络模型的每个卷积通道的重要性因子γ使用动态正则化约束,进行稀疏化训练,使模型的有效权重尽量集中在重要性因子较大的通道中,获得稀疏的稀疏卷积神经网络模型。本发明中的卷积通道重要性因子γ指卷积神经网络中卷积通道对应的批归一化层(batch normalization)中的缩放因子。
优选地,稀疏化训练单元20在进行稀疏化训练前,需先基于目标检测算法训练获取所述原始卷积神经网络模型。但需说明的是,本发明并不限制获取所述原始卷积神经网络模型的目标检测算法,也不限制所述原始卷积神经网络模型的应用场景,即上述卷积神经网络模型的压缩方法可以但不限于应用于任何使用卷积神经网络模型的领域中,例如,包括但不限于图像识别、语音识别和文档分析等领域。
具体地,稀疏化训练单元20进一步包括:
中间卷积神经网络模型获取模块201,用于对所述原始卷积神经网络进行一轮稀疏化训练,得到稀疏的中间卷积神经网络模型;
测试模块202,用于对所述中间卷积神经网络模型进行测试,在验证集上运行所述中间卷积神经网络模型,得到本轮稀疏化训练后的mAP(mAP:mean Average Precision,平均的平均精确度)。具体地,首先在一个类别内,求平均精确度AP(Average Precision),然后对所有类别的平均精确度再求平均(mean Average Precision),mAP在目标检测中用于判断识别的准确率,即用于衡量物品被检测出的概率。
更新策略处理模块203,若本轮稀疏化训练后的中间卷积神经网络的mAP高于本轮稀疏化训练前的卷积神经网络的mAP,按照预设的正则化项稀疏度因子的更新策略,增大正则化项的稀疏度;若所述本轮稀疏化训练后的中间卷积神经网络的mAP低于本轮稀疏化训练前的卷积神经网络的mAP,则按照预设的正则化项稀疏度因子的更新策略,判别本轮正则化项的稀疏度是否更新。
迭代训练模块204,若稀疏化训练未进行到预设的总轮数,则返回执行中间卷积神经网络模型获取模块201继续对所述原始卷积神经网络进行稀疏化训练;否则,将所述经过预设总轮数稀疏化训练的卷积神经网络作为获得的所述稀疏的稀疏卷积神经网络模型。
优选地,稀疏化训练单元20还包括如下步骤:
参数设定模块200,用于设定稀疏化训练的超参数、动态可变正则化函数的形式和正则化项稀疏度因子的更新策略。
在本发明具体实施例中,设定所述稀疏化训练的超参数的方法包括:
设定卷积神经网络模型稀疏化训练的稀疏率,,具体地,所述稀疏率应略高于预期的剪枝率,使得模型通道获得适度的稀疏比例,在本发明具体实施例中,所述稀疏率为所述剪枝率+5%;
设定卷积神经网络模型预期的剪枝率,在本发明具体实施例中,所述剪枝率设置为90%;
根据训练数据集的大小和卷积神经网络的预期剪枝率,得到卷积神经网络稀疏化训练的总轮数,在本发明具体实施例中,假设采用数据集训练集图像数为70000张,共10类,根据卷积神经网络的剪枝预期,所述稀疏化训练总轮数应大于图像数和类别数的2000倍,因此设定所述稀疏化训练的总轮数为70000。
设定所述动态可变正则化函数的形式包括设定带有可变稀疏度因子的正则化项,使用其稀疏性约束通道重要性因子收缩。作为一种效果较好的方式,在本发明具体实施例中,使用Lp正则化和TL1正则化的组合形式即TLp正则化作为所述动态可变正则化函数,其中p即为所述可变稀疏度因子。
所述正则化项稀疏度因子的更新策略包括:比较并计算稀疏后的卷积神经网络的mAP与系数前的卷积神经网络的mAP的差值,按照线性调整、使用模拟退火算法调整等多种方法更新正则化项的可变稀疏度因子。作为一种效果较好的方式,在本发明具体实施例中使用模拟退火算法,依照概率接受所述可变稀疏度因子的随机调整。
全局通道剪枝单元21,用于根据稀疏卷积神经网络模型的通道重要性因子γ的大小,执行全局通道剪枝剪除不重要的通道,得到压缩后的剪枝卷积神经网络模型。即根据稀疏卷积神经网络模型的通道重要性因子的大小,按照通道的剪枝优先级顺序,执行全局剪枝剪除预设数量的通道,并判断是否完成剪枝,直至模型达到压缩率和准确率的要求,得到压缩后的剪枝卷积神经网络模型。
优选地,本发明之卷积神经网络模型的压缩装置,还包括:
剪枝优先级确定单元22,用于对稀疏卷积神经网络每个通道对应的重要性因子依照大小进行排序,以所述重要性因子从低到高的顺序作为通道的剪枝优先级。即:重要性因子数值越低的通道,被视为重要性越低,在后续剪枝中被排在更高的剪枝优先级,会被优先剪除。
具体地,全局通道剪枝单元21进一步包括:
标志状态设置模块210,用于根据预期通道剪枝率s和卷积神经网络模型的通道总数N(原始卷积神经网络模型的和稀疏卷积神经网络模型的通道数量一致),计算需要剪除的通道的数量n,并按照通道的重要性因子γ,自小到大将所述稀疏卷积神经网络模型中n个通道的标志状态设置为待剪除状态,在本发明具体实施例中,剪除通道的数量n=原始通道总数N*预设剪枝率s;
遍历处理模块211,用于逐卷积层判断是否该层所有的卷积通道的标志状态都为待剪除状态,若是,则将该层重要性因子最高的通道的待剪除状态标志取消,直至完成所有卷积层的判断;
剪枝模块212,用于对所述稀疏卷积神经网络模型按照所述通道的标志状态,删除所有被设置为待剪除状态的通道和对应的网络模型权值,完成所述卷积通道的剪枝,得到所述压缩后的剪枝卷积神经网络模型。
微调训练模块213,用于利用验证集,对剪枝模块212获得的剪枝神经网络执行微调训练,记录微调后剪枝神经网络在验证集上的mAP。
实施例
在本实施例,一种卷积神经网络模型的压缩方法,包括以下步骤:
步骤一,对原始卷积神经网络模型的每个卷积通道的重要性因子使用动态正则化约束,进行稀疏化训练,使模型的有效权重尽量集中在重要性因子较大的通道中,获得稀疏的稀疏卷积神经网络模型;
在本实施例中,在执行步骤一之前,可以先基于目标检测算法训练获取所述原始卷积神经网络模型。特别地,本发明并不限制获取所述原始卷积神经网络模型的目标检测算法,也不限制所述原始卷积神经网络模型的应用场景,即上述卷积神经网络模型的压缩方法可以但不限于应用于任何使用卷积神经网络模型的领域中。例如,包括但不限于图像识别、语音识别和文档分析等领域。
具体地,结合图3,使用动态正则化约束卷积通道重要性因子进行稀疏化训练方法说明如下,具体包括以下步骤:
步骤S110,设定卷积神经网络模型稀疏化训练的稀疏率,具体地,所述稀疏率应略高于预期的剪枝比率,使得模型通道获得适度的稀疏比例,在本实例中,所述稀疏率为所述剪枝率+5%。
步骤S120,设定卷积神经网络模型预期的剪枝率,在本实例中,所述剪枝率设置为90%。
步骤S130,根据训练数据集的大小和卷积神经网络的预期剪枝率,得到所述卷积神经网络稀疏化训练的总轮数,在本实例中,采用数据集训练集图像数为70000张,共10类,根据卷积神经网络的剪枝预期,所述稀疏化训练总轮数应大于图像数和类别数的2000倍,因此设定所述稀疏化训练的总轮数为70000。
在本实施例中,所述设定动态可变正则化函数的形式的方法包括:
设定带有可变稀疏度因子的正则化项,使用其稀疏性约束通道重要性因子收缩,作为一种效果较好的方式,在本实例中,使用Lp正则化和TL1正则化的组合形式即TLp正则化作为所述动态可变正则化函数,其中p即为所述可变稀疏度因子。
在本实施例中,所述正则化项稀疏度因子的更新策略包括:
比较并计算稀疏后的卷积神经网络的mAP与系数前的卷积神经网络的mAP的差值,按照线性调整、使用模拟退火算法调整等多种方法更新正则化项的可变稀疏度因子,作为一种效果较好的方式,在本实例中使用模拟退火算法,依照概率接受所述可变稀疏度因子的随机调整。
步骤S140,对所述原始卷积神经网络进行一轮稀疏化训练,得到稀疏的中间卷积神经网络模型。
步骤S150,对所述中间卷积神经网络模型进行测试,在验证集上运行所述中间卷积神经网络模型,得到本轮稀疏化训练后的mAP。mAP:mean Average Precision,平均的平均精确度,首先是一个类别内,求平均精确度AP(Average Precision),然后对所有类别的平均精确度再求平均(mean Average Precision),mAP在目标检测中用于判断识别的准确率,即用于衡量物品被检测出的概率。
步骤S160,若所述本轮稀疏化训练后的中间卷积神经网络的mAP高于本轮稀疏化训练前的卷积神经网络的mAP,按照预设的正则化项稀疏度因子的更新策略,增大正则化项的稀疏度;若所述本轮稀疏化训练后的中间卷积神经网络的mAP低于本轮稀疏化训练前的卷积神经网络的mAP,按照预设的正则化项稀疏度因子的更新策略,判别本轮正则化项的稀疏度是否更新。在本实施实例中,使用模拟退火算法依照概率决定正则化项稀疏度因子的更新:若所述本轮稀疏化训练后的中间卷积神经网络的mAP高于本轮稀疏化训练前的卷积神经网络的mAP,按照规则接受所述可变稀疏度因子的随机调整;否则按照概率判别本轮正则化项的稀疏度是否更新。
步骤S170:若稀疏化训练未进行到预设的总轮数,执行步骤S140继续对所述卷积神经网络进行稀疏化训练;否则进入步骤S180。
步骤S180,将所述经过预设总轮数稀疏化训练的卷积神经网络作为获得的稀疏的稀疏卷积神经网络模型。
至此,已经完成了使用动态正则化约束卷积通道重要性因子进行的稀疏化训练。
步骤二,对卷积神经网络每个通道对应的重要性因子依照大小进行排序,以所述重要性因子从低到高的顺序作为通道的剪枝优先级。即:所述重要性因子数值越低的通道,被视为重要性越低,在后续剪枝中被排在更高的剪枝优先级,高优先级的通道将被优先剪除。
步骤三,根据稀疏卷积神经网络模型的通道重要性因子的大小,执行全局通道剪枝剪除不重要的通道,得到压缩后的剪枝卷积神经网络模型。
具体地,所述步骤二中所述对所述稀疏卷积神经网络模型执行全局通道剪枝是指,按照所述的剪枝优先级顺序,对所述通道剪除预设数量的通道,判断是否完成剪枝,直至模型达到压缩率和准确率的要求,得到压缩后的剪枝卷积神经网络模型。
在本实施例中,步骤三中所述全局通道剪枝的方法包括以下步骤:
步骤S310,根据预期通道剪枝率s和卷积神经网络模型的通道总数N,计算需要剪除的通道的数量,剪除通道的数量n=原始通道总数N*预设剪枝率s,并按照通道的重要性因子γ,自小到大对将稀疏卷积神经网络模型中n个通道的标志状态设置为待剪除状态;
步骤S320,逐卷积层判断是否该层所有的卷积通道的标志状态都为待剪除状态,若是,则将该层重要性因子最高的通道的待剪除状态标志取消,直至完成所有卷积层的判断。这一步骤的目的,是对每一层卷积层保留最低限度的通道,从而保证特征的正常传递。
步骤S330,对所述稀疏卷积神经网络模型按照所述通道的标志状态,删除所有被设置为待剪除状态的通道和对应的网络模型权值,完成所述卷积通道的剪枝,得到所述压缩后的剪枝卷积神经网络模型。。
步骤S340,利用训练数据集,对S330获得的剪枝神经网络执行微调训练,记录微调后剪枝神经网络在验证集上的mAP。
综上所述,本发明一种卷积神经网络模型的压缩方法及装置通过使用动态正则化约束卷积通道重要性因子进行稀疏化训练,获得稀疏的卷积神经网络模型,并使用通道重要性因子评判通道的剪枝优先级,然后根据所述剪枝优先级排序,在全局范围内执行通道剪枝,从而获得压缩的卷积神经网络模型,本发明不仅解决了目前卷积神经网络参数数量及计算量巨大的问题,而且在保证模型压缩率的同时,有效提升了网络的精度表现,为在资源有限的边缘计算平台上部署卷积神经网络模型提供了可能。
上述实施例仅例示性说明本发明的原理及其功效,而非用于限制本发明。任何本领域技术人员均可在不违背本发明的精神及范畴下,对上述实施例进行修饰与改变。因此,本发明的权利保护范围,应如权利要求书所列。
Claims (10)
1.一种卷积神经网络模型的压缩方法,包括如下步骤:
步骤S1,对原始卷积神经网络模型的每个卷积通道的重要性因子使用动态正则化约束,进行稀疏化训练,使模型的有效权重尽量集中在重要性因子较大的通道中,获得稀疏的稀疏卷积神经网络模型;
步骤S2,根据稀疏卷积神经网络模型的通道重要性因子的大小,执行全局通道剪枝剪除不重要的通道,得到压缩后的剪枝卷积神经网络模型。
2.如权利要求1所述的一种卷积神经网络模型的压缩方法,其特征在于,步骤S1进一步包括:
步骤S101,对所述原始卷积神经网络进行一轮稀疏化训练,得到稀疏的中间卷积神经网络模型;
步骤S102,对所述中间卷积神经网络模型进行测试,在验证集上运行所述中间卷积神经网络模型,得到本轮稀疏化训练后的mAP;
步骤S103,若本轮稀疏化训练后的中间卷积神经网络的mAP高于本轮稀疏化训练前的卷积神经网络的mAP,按照预设的正则化项稀疏度因子的更新策略,增大正则化项的稀疏度;若所述本轮稀疏化训练后的中间卷积神经网络的mAP低于本轮稀疏化训练前的卷积神经网络的mAP,则按照预设的正则化项稀疏度因子的更新策略,判别本轮正则化项的稀疏度是否更新;
步骤S104,若稀疏化训练未进行到预设的总轮数,则返回执行步骤S101继续对所述卷积神经网络进行稀疏化训练;否则,将所述经过预设总轮数稀疏化训练的卷积神经网络作为获得的所述稀疏的稀疏卷积神经网络模型。
3.如权利要求2所述的一种卷积神经网络模型的压缩方法,其特征在于,于步骤S101之前,还包括如下步骤:
步骤S100,设定稀疏化训练的超参数、动态可变正则化函数的形式和正则化项稀疏度因子的更新策略。
4.如权利要求3所述的一种卷积神经网络模型的压缩方法,其特征在于,所述设定所述稀疏化训练的超参数的方法包括:
设定卷积神经网络模型稀疏化训练的稀疏率;
设定卷积神经网络模型预期的剪枝率;
根据训练数据集的大小和卷积神经网络的预期剪枝率,得到卷积神经网络稀疏化训练的总轮数。
5.如权利要求4所述的一种卷积神经网络模型的压缩方法,其特征在于:所述稀疏率略高于所述预期的剪枝率。
6.如权利要求3所述的一种卷积神经网络模型的压缩方法,其特征在于:设定所述动态可变正则化函数的形式包括设定带有可变稀疏度因子的正则化项,使用其稀疏性约束通道重要性因子收缩。
7.如权利要求3所述的一种卷积神经网络模型的压缩方法,其特征在于:所述正则化项稀疏度因子的更新策略包括比较并计算稀疏后的卷积神经网络的mAP与系数前的卷积神经网络的mAP的差值,根据比较结果更新正则化项的可变稀疏度因子。
8.如权利要求3所述的一种卷积神经网络模型的压缩方法,其特征在于,在步骤S2之前,还包括如下步骤:
对卷积神经网络每个通道对应的重要性因子依照大小进行排序,以所述重要性因子从低到高的顺序作为通道的剪枝优先级。
9.如权利要求8所述的一种卷积神经网络模型的压缩方法,其特征在于,步骤S2进一步包括:
步骤S201,根据预期通道剪枝率和卷积神经网络模型的通道总数,计算需要剪除的通道的数量n,并按照通道的重要性因子γ,对将所述稀疏卷积神经网络模型中n个通道的标志状态设置为待剪除状态;
步骤S202,逐卷积层判断是否该层所有的卷积通道的标志状态都为待剪除状态,若是,则将该层重要性因子最高的通道的待剪除状态标志取消,直至完成所有卷积层的判断;
步骤S203,对所述稀疏卷积神经网络模型按照所述通道的标志状态,删除所有被设置为待剪除状态的通道和对应的网络模型权值,完成所述卷积通道的剪枝,得到所述压缩后的剪枝卷积神经网络模型。
步骤204,利用验证集,对S203获得的剪枝神经网络执行微调训练,记录微调后剪枝神经网络在验证集上的mAP。
10.一种卷积神经网络模型的压缩装置,包括:
稀疏化训练单元,用于对原始卷积神经网络模型的每个卷积通道的重要性因子使用动态正则化约束,进行稀疏化训练,使模型的有效权重尽量集中在重要性因子较大的通道中,获得稀疏的稀疏卷积神经网络模型;
全局通道剪枝单元,用于根据稀疏卷积神经网络模型的通道重要性因子的大小,执行全局通道剪枝剪除不重要的通道,得到压缩后的剪枝卷积神经网络模型。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111224541.9A CN113935484B (zh) | 2021-10-19 | 2021-10-19 | 一种卷积神经网络模型的压缩方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111224541.9A CN113935484B (zh) | 2021-10-19 | 2021-10-19 | 一种卷积神经网络模型的压缩方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113935484A true CN113935484A (zh) | 2022-01-14 |
CN113935484B CN113935484B (zh) | 2024-07-12 |
Family
ID=79280967
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111224541.9A Active CN113935484B (zh) | 2021-10-19 | 2021-10-19 | 一种卷积神经网络模型的压缩方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113935484B (zh) |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110705708A (zh) * | 2019-10-10 | 2020-01-17 | 上海交通大学 | 卷积神经网络模型的压缩方法、装置及计算机存储介质 |
KR20200115239A (ko) * | 2019-03-26 | 2020-10-07 | (주)인시그널 | 훈련된 심층 신경망의 압축 장치 및 방법 |
CN112465114A (zh) * | 2020-11-25 | 2021-03-09 | 重庆大学 | 基于优化通道剪枝的快速目标检测方法及系统 |
CN112990420A (zh) * | 2019-12-02 | 2021-06-18 | 北京华航无线电测量研究所 | 一种用于卷积神经网络模型的剪枝方法 |
CN113065636A (zh) * | 2021-02-27 | 2021-07-02 | 华为技术有限公司 | 一种卷积神经网络的剪枝处理方法、数据处理方法及设备 |
CN113222138A (zh) * | 2021-04-25 | 2021-08-06 | 南京大学 | 一种联合层剪枝和通道剪枝的卷积神经网络压缩方法 |
-
2021
- 2021-10-19 CN CN202111224541.9A patent/CN113935484B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20200115239A (ko) * | 2019-03-26 | 2020-10-07 | (주)인시그널 | 훈련된 심층 신경망의 압축 장치 및 방법 |
CN110705708A (zh) * | 2019-10-10 | 2020-01-17 | 上海交通大学 | 卷积神经网络模型的压缩方法、装置及计算机存储介质 |
CN112990420A (zh) * | 2019-12-02 | 2021-06-18 | 北京华航无线电测量研究所 | 一种用于卷积神经网络模型的剪枝方法 |
CN112465114A (zh) * | 2020-11-25 | 2021-03-09 | 重庆大学 | 基于优化通道剪枝的快速目标检测方法及系统 |
CN113065636A (zh) * | 2021-02-27 | 2021-07-02 | 华为技术有限公司 | 一种卷积神经网络的剪枝处理方法、数据处理方法及设备 |
CN113222138A (zh) * | 2021-04-25 | 2021-08-06 | 南京大学 | 一种联合层剪枝和通道剪枝的卷积神经网络压缩方法 |
Non-Patent Citations (4)
Title |
---|
LIUCHEN QIAN等: "An Efficient Model Compression Method for CNN Based Object Detection", 《2018 IEEE 9TH INTERNATIONAL CONFERENCE ON SOFTWARE ENGINEERING AND SERVICE SCIENCE (ICSESS)》, 10 March 2019 (2019-03-10), pages 766 - 769 * |
XIAOFENG RUAN等: "EDP: An Efficient Decomposition and Pruning Scheme for Convolutional Neural Network Compression", 《IEEE TRANSACTIONS ON NEURAL NETWORKS AND LEARNING SYSTEMS》, vol. 32, no. 10, 2 November 2020 (2020-11-02), pages 4499 - 4513, XP011881148, DOI: 10.1109/TNNLS.2020.3018177 * |
YIBO FU等: "Dynamic Channel Pruning for Real-Time Object Detection Networks", 《INTERNATIONAL CONFERENCE ON NEURAL INFORMATION PROCESSING. CHAM: SPRINGER INTERNATIONAL PUBLISHING》, 2 December 2021 (2021-12-02), pages 151 * |
杨圳: "基于卷积神经网络压缩的缺陷检测算法研究", 《中国优秀硕士学位论文全文数据库信息科技辑》, no. 02, 15 July 2020 (2020-07-15), pages 140 - 142 * |
Also Published As
Publication number | Publication date |
---|---|
CN113935484B (zh) | 2024-07-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112016674B (zh) | 一种基于知识蒸馏的卷积神经网络的量化方法 | |
CN111489364B (zh) | 基于轻量级全卷积神经网络的医学图像分割方法 | |
CN111242180B (zh) | 一种基于轻量化卷积神经网络的图像识别方法及系统 | |
CN114037844A (zh) | 基于滤波器特征图的全局秩感知神经网络模型压缩方法 | |
CN112668630B (zh) | 一种基于模型剪枝的轻量化图像分类方法、系统及设备 | |
CN112163628A (zh) | 一种适用于嵌入式设备的改进目标实时识别网络结构的方法 | |
CN110781924A (zh) | 一种基于全卷积神经网络的侧扫声纳图像特征提取方法 | |
CN110969627A (zh) | 图像处理方法及装置 | |
CN112381763A (zh) | 一种表面缺陷检测方法 | |
CN111126278A (zh) | 针对少类别场景的目标检测模型优化与加速的方法 | |
CN110647990A (zh) | 基于灰色关联分析的深度卷积神经网络模型的裁剪方法 | |
CN114387512B (zh) | 基于多尺度特征融合与增强的遥感影像建筑物提取方法 | |
CN112634171B (zh) | 基于贝叶斯卷积神经网络的图像去雾方法及存储介质 | |
CN111695640A (zh) | 地基云图识别模型训练方法及地基云图识别方法 | |
CN115035418A (zh) | 一种基于改进DeepLabV3+网络的遥感图像语义分割方法及系统 | |
CN111401523A (zh) | 一种基于网络层剪枝的深度学习网络模型压缩方法 | |
CN112488313A (zh) | 一种基于显式权重的卷积神经网络模型压缩方法 | |
CN112150497A (zh) | 基于二值神经网络的局部激活方法与系统 | |
CN112488291A (zh) | 一种神经网络8比特量化压缩方法 | |
CN117649526A (zh) | 一种面向自动驾驶道路场景的高精度语义分割方法 | |
CN112132207A (zh) | 基于多分支特征映射目标检测神经网络构建方法 | |
CN113935484A (zh) | 一种卷积神经网络模型的压缩方法及装置 | |
CN113033804B (zh) | 一种面向遥感图像的卷积神经网络压缩方法 | |
CN115292509A (zh) | 基于多粒度注意力网络的图立方链接预测方法 | |
CN112802141B (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 |