CN114492798A - 基于核相似度和非极大抑制算法的卷积神经网络剪枝方法 - Google Patents
基于核相似度和非极大抑制算法的卷积神经网络剪枝方法 Download PDFInfo
- Publication number
- CN114492798A CN114492798A CN202210151212.4A CN202210151212A CN114492798A CN 114492798 A CN114492798 A CN 114492798A CN 202210151212 A CN202210151212 A CN 202210151212A CN 114492798 A CN114492798 A CN 114492798A
- Authority
- CN
- China
- Prior art keywords
- similarity
- convolution
- index
- kernel
- 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.)
- Pending
Links
- 238000013138 pruning Methods 0.000 title claims abstract description 69
- 238000013527 convolutional neural network Methods 0.000 title claims abstract description 27
- 238000000034 method Methods 0.000 title claims abstract description 19
- 230000001629 suppression Effects 0.000 title claims abstract description 17
- 238000012549 training Methods 0.000 claims abstract description 9
- 238000004364 calculation method Methods 0.000 claims abstract description 8
- 238000013528 artificial neural network Methods 0.000 abstract description 3
- 230000009286 beneficial effect Effects 0.000 abstract description 2
- 230000000694 effects Effects 0.000 abstract description 2
- 230000005764 inhibitory process Effects 0.000 abstract description 2
- 230000006835 compression Effects 0.000 description 3
- 238000007906 compression Methods 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 230000001133 acceleration Effects 0.000 description 2
- 238000000354 decomposition reaction Methods 0.000 description 2
- 238000013140 knowledge distillation Methods 0.000 description 2
- 239000011159 matrix material Substances 0.000 description 2
- 238000013139 quantization Methods 0.000 description 2
- 230000007547 defect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 238000003062 neural network model Methods 0.000 description 1
- 238000010606 normalization Methods 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 238000000926 separation method Methods 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
- 238000012800 visualization 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
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/22—Matching criteria, e.g. proximity measures
-
- 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)
- Life Sciences & Earth Sciences (AREA)
- Artificial Intelligence (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Evolutionary Computation (AREA)
- Biophysics (AREA)
- Computational Linguistics (AREA)
- Software Systems (AREA)
- Mathematical Physics (AREA)
- Health & Medical Sciences (AREA)
- Biomedical Technology (AREA)
- Computing Systems (AREA)
- Molecular Biology (AREA)
- General Health & Medical Sciences (AREA)
- Evolutionary Biology (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Bioinformatics & Computational Biology (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明涉及一种基于核相似度和非极大抑制算法的卷积神经网络剪枝方法,包括步骤:确定重要性指标和相似度指标;在通过数据集训练所得到的收敛卷积神经网络中确定待剪枝卷积层;根据重要性指标计算每个卷积核的重要性,按照每个卷积核的重要性指标大小降序排列,得到卷积核索引。本发明的有益效果是:本发明一方面使用重要性指标将不重要的卷积核移除,另一方面使用相似度指标将冗余卷积核移除,从而实现模型轻量化的效果。本发明使用非极大抑制算法完成剪枝操作;剪枝完成后参数量和计算量大大减少,从而减少模型占用的内存大小,实现了深度神经网络的轻量化,计算速度加快,并且可以在计算资源有限的边缘设备上部署。
Description
技术领域
本发明属于卷积神经网络技术领域,尤其涉及一种基于核相似度和非极大抑制算法的卷积神经网络剪枝方法。
背景技术
随着卷积神经网络模型性能的增加,卷积神经网络模型的深度和宽度也越来越大,严重制约卷积神经网络在计算资源有限以及实时性需求高的场景下的应用。主流的深度神经网络模型内部储存着大量的冗余信息,通过压缩原始的卷积神经网络模型,在不影响或较少影响模型准确度的前提下减少其参数量和计算量,从而使模型能够部署在资源受限的边缘设备上,是当前的研究热点之一。
为了降低模型的参数量和计算量,进而降低模型的内存占用量和推理时延,一方面以深度分离卷积(Depth-wise Separable Convolution)为代表的轻量化模型设计得到广泛研究,另一方面模型压缩和加速技术也得到飞速发展,从方法上来讲,模型压缩有很多细分类,比如模型的剪枝(Pruning),量化(Quantization),知识蒸馏(KnowledgeDistillation),以及低秩分解(Low-rank Factorization)等等。
模型剪枝表示移除模型某些权重来降低模型的参数量和计算量,其中剪枝粒度和剪枝指标是模型剪枝的两个比较核心的问题。卷积核剪枝是粒度最小的结构化剪枝,可以兼具模型加速和保持性能,因此在业界得到广泛的使用。卷积核剪枝会改变卷积层输出特征图的通道个数,因此核剪枝也称为通道剪枝。
剪枝指标用于决定哪些权重应当被移除,以卷积核剪枝为例,较早的方法是通过范数指标来衡量卷积核的重要性,将小范数对应的不重要卷积核移除,后来发展出了一系列其他指标,比如利用批量标准化层的缩放因子作为指标,但目前大多数剪枝方案仅衡量通道的重要程度,少量方案考虑通道的冗余程度,鲜有方案综合考虑通道的重要性和冗余性。
发明内容
本发明的目的是克服现有技术中的不足,提供一种基于核相似度和非极大抑制算法的卷积神经网络剪枝方法。
这种基于核相似度和非极大抑制算法的卷积神经网络剪枝方法,包括以下步骤:
S1、确定重要性指标和相似度指标;在通过数据集训练所得到的收敛卷积神经网络中确定待剪枝卷积层;待剪枝卷积层是人为定义的需要剪枝的卷积层,可以是所有卷积层,也可以是其中几个卷积层,根据经验选取;
S2、根据重要性指标计算每个卷积核的重要性,按照每个卷积核的重要性指标大小降序排列,得到卷积核索引,根据剪枝比例p%或重要性阈值s将卷积核归零,移除归零后的卷积核对应的卷积核索引;
S3、以待剪枝卷积层为单位,计算每个待剪枝卷积层的不同卷积核之间的相似度,使用非极大抑制算法将冗余度高于相似度阈值t的卷积核归零,并移除归零后的卷积核对应的卷积核索引;
S4、将所有待剪枝卷积层经过步骤S3处理完毕后,得到预剪枝模型;
S5、对预剪枝模型进行二次训练,得到剪枝后的轻量级模型。
作为优选,步骤S1中重要性指标为范数或缩放系数,缩放系数用于衡量卷积核重要性;相似度指标为余弦相似度、修正余弦相似度或皮尔逊相关系数。
作为优选,步骤S2中根据剪枝比例p%或重要性阈值s将卷积核归零时:将重要性指标最小且剪枝比例为p%的卷积核归零;或者将重要性指标低于重要性阈值s的卷积核归零(此时剪枝比例不固定)。
作为优选,剪枝比例p%的范围为0%到100%。
作为优选,步骤S3具体包括如下步骤:
S31、新建空集合A和空集合B,将步骤S2所得卷积核索引对应的卷积核放入集合A;
S32、取出集合A中重要性指标最高的卷积核,记为M,并放入集合B;
S33、将集合A中的卷积核逐个与M进行相似度计算,并移除集合A中的卷积核与卷积核M之间的相似度高于相似度阈值t的卷积核;
S34、重复步骤S32和步骤S33直到集合A为空集;最终所得的集合B包含待保留的卷积核。
本发明的有益效果是:
本发明将卷积神经网络需要被移除的卷积核区分为不重要卷积核和冗余卷积核,将需要剪枝的通道区分为不重要通道和冗余通道,从两方面决定通道对应的卷积核是否应该被移除:一方面使用重要性指标将不重要的卷积核移除,另一方面使用相似度指标将冗余卷积核移除,从而实现模型轻量化的效果。本发明使用非极大抑制算法完成剪枝操作;
本发明在剪枝完毕之后对卷积神经网络模型进行再训练和微调,得到的新模型与原模型准确度差别在1%以内,基本没有发生改变;剪枝完成后参数量和计算量大大减少,从而减少模型占用的内存大小,实现了深度神经网络的轻量化,计算速度加快,并且可以在计算资源有限的边缘设备上部署。
附图说明
图1为本发明实施例二的卷积神经网络剪枝方法流程图;
图2为本发明实施例二中不同剪枝比例和相似度阈值下的参数量和计算量与准确度的关系图;
图3为本发明实施例二中核相似度矩阵的可视化示意图。
具体实施方式
下面结合实施例对本发明做进一步描述。下述实施例的说明只是用于帮助理解本发明。应当指出,对于本技术领域的普通人员来说,在不脱离本发明原理的前提下,还可以对本发明进行若干修饰,这些改进和修饰也落入本发明权利要求的保护范围内。
实施例一
本申请实施例一提供了一种基于核相似度和非极大抑制算法的卷积神经网络剪枝方法:
S1、确定重要性指标和相似度指标;在通过数据集训练所得到的收敛卷积神经网络中确定待剪枝卷积层;
S2、根据重要性指标计算每个卷积核的重要性,按照每个卷积核的重要性指标大小降序排列,得到卷积核索引,根据剪枝比例p%或重要性阈值s将卷积核归零,移除归零后的卷积核对应的卷积核索引;
S3、以待剪枝卷积层为单位,计算每个待剪枝卷积层的不同卷积核之间的相似度,使用非极大抑制算法将冗余度高于相似度阈值t的卷积核归零,并移除归零后的卷积核对应的卷积核索引;
S31、新建空集合A和空集合B,将步骤S2所得卷积核索引对应的卷积核放入集合A;
S32、取出集合A中重要性指标最高的卷积核,记为M,并放入集合B;
S33、将集合A中的卷积核逐个与M进行相似度计算,并移除集合A中的卷积核与卷积核M之间的相似度高于相似度阈值t的卷积核;
S34、重复步骤S32和步骤S33直到集合A为空集;最终所得的集合B包含待保留的卷积核;
S4、将所有待剪枝卷积层经过步骤S3处理完毕后,得到预剪枝模型;
S5、对预剪枝模型进行二次训练,得到剪枝后的轻量级模型。
实施例二
在实施例一的基础上,本申请实施例二提供了一种如图1所示应用于卷积神经网络VGG16中的基于核相似度和非极大抑制算法的卷积神经网络剪枝方法:
本实施例以卷积神经网络VGG16为示例进行剪枝压缩,以CIFAR-10数据集5万张图片作为训练集,1万张图片作为测试集。具体操作如下:
S1:重要性指标采用L2范数,相似度指标采用余弦相似度,通过剪枝比例p%和相似度阈值t剪枝模型,待剪枝卷积层为VGG16所有卷积层;
S2:根据L2范数计算每个卷积核的范数大小,通过剪枝比例p%将范数较低的卷积核归零;
S3:以待剪枝卷积层为单位,计算不同卷积核之间的余弦相似度,使用非极大抑制算法通过阈值t将高冗余的卷积核归零;
S4:将所有待剪枝卷积层处理完毕后,得到预剪枝模型;
S5:将预剪枝模型的归零卷积核移除,并对模型进行二次训练和微调,得到剪枝后的轻量级模型。
使用不同的剪枝比例和相似度阈值在VGG16上剪枝,剪枝后的参数量与准确度的对比以及计算量与准确度的对比如图2所示,其中NMSPruner-Sn表示本研究的剪枝算法在剪枝比例为n的条件下,不同相似度阈值下的模型性能表现,其中下标n表示剪枝比例;由图2可知相似度指标可以在重要性指标的基础上,进一步压缩模型的参数量和计算量,而不会大幅影响准确度。
在VGG16输入部分、中间部分、输出部分各取一个卷积层,将核相似度矩阵可视化,结果如图3所示,由图3可知模型的输入输出两端的卷积层有较高的核冗余度,而中间部分的核冗余度较低,从另一个角度证明了本发明卷积神经网络剪枝方法的有效性。
Claims (5)
1.一种基于核相似度和非极大抑制算法的卷积神经网络剪枝方法,其特征在于,包括以下步骤:
S1、确定重要性指标和相似度指标;在通过数据集训练所得到的收敛卷积神经网络中确定待剪枝卷积层;
S2、根据重要性指标计算每个卷积核的重要性,按照每个卷积核的重要性指标大小降序排列,得到卷积核索引,根据剪枝比例p%或重要性阈值s将卷积核归零,移除归零后的卷积核对应的卷积核索引;
S3、以待剪枝卷积层为单位,计算每个待剪枝卷积层的不同卷积核之间的相似度,使用非极大抑制算法将冗余度高于相似度阈值t的卷积核归零,并移除归零后的卷积核对应的卷积核索引;
S4、将所有待剪枝卷积层经过步骤S3处理完毕后,得到预剪枝模型;
S5、对预剪枝模型进行二次训练,得到剪枝后的轻量级模型。
2.根据权利要求1所述基于核相似度和非极大抑制算法的卷积神经网络剪枝方法,其特征在于:步骤S1中重要性指标为范数或缩放系数;相似度指标为余弦相似度、修正余弦相似度或皮尔逊相关系数。
3.根据权利要求1所述基于核相似度和非极大抑制算法的卷积神经网络剪枝方法,其特征在于,步骤S2中根据剪枝比例p%或重要性阈值s将卷积核归零时:将重要性指标最小且剪枝比例为p%的卷积核归零;或者将重要性指标低于重要性阈值s的卷积核归零。
4.根据权利要求3所述基于核相似度和非极大抑制算法的卷积神经网络剪枝方法,其特征在于:剪枝比例p%的范围为0%到100%。
5.根据权利要求1所述基于核相似度和非极大抑制算法的卷积神经网络剪枝方法,其特征在于,步骤S3具体包括如下步骤:
S31、新建空集合A和空集合B,将步骤S2所得卷积核索引对应的卷积核放入集合A;
S32、取出集合A中重要性指标最高的卷积核,记为M,并放入集合B;
S33、将集合A中的卷积核逐个与M进行相似度计算,并移除集合A中的卷积核与卷积核M之间的相似度高于相似度阈值t的卷积核;
S34、重复步骤S32和步骤S33直到集合A为空集;最终所得的集合B包含待保留的卷积核。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210151212.4A CN114492798A (zh) | 2022-02-16 | 2022-02-16 | 基于核相似度和非极大抑制算法的卷积神经网络剪枝方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210151212.4A CN114492798A (zh) | 2022-02-16 | 2022-02-16 | 基于核相似度和非极大抑制算法的卷积神经网络剪枝方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114492798A true CN114492798A (zh) | 2022-05-13 |
Family
ID=81482231
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210151212.4A Pending CN114492798A (zh) | 2022-02-16 | 2022-02-16 | 基于核相似度和非极大抑制算法的卷积神经网络剪枝方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114492798A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116402116A (zh) * | 2023-06-05 | 2023-07-07 | 山东云海国创云计算装备产业创新中心有限公司 | 神经网络的剪枝方法、系统、设备、介质及图像处理方法 |
-
2022
- 2022-02-16 CN CN202210151212.4A patent/CN114492798A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116402116A (zh) * | 2023-06-05 | 2023-07-07 | 山东云海国创云计算装备产业创新中心有限公司 | 神经网络的剪枝方法、系统、设备、介质及图像处理方法 |
CN116402116B (zh) * | 2023-06-05 | 2023-09-05 | 山东云海国创云计算装备产业创新中心有限公司 | 神经网络的剪枝方法、系统、设备、介质及图像处理方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109635935B (zh) | 基于模长聚类的深度卷积神经网络模型自适应量化方法 | |
CN109102064B (zh) | 一种高精度的神经网络量化压缩方法 | |
CN108009638A (zh) | 一种神经网络模型的训练方法、电子设备及存储介质 | |
CN111091184B (zh) | 一种深度神经网络的量化方法、装置、电子设备及介质 | |
CN110134946A (zh) | 一种针对复杂数据的机器阅读理解方法 | |
CN107292382A (zh) | 一种神经网络声学模型激活函数定点量化方法 | |
CN109871749B (zh) | 一种基于深度哈希的行人重识别方法和装置、计算机系统 | |
CN111242180A (zh) | 一种基于轻量化卷积神经网络的图像识别方法及系统 | |
CN113111889A (zh) | 用于边缘计算端的目标检测网络处理方法 | |
CN114239798B (zh) | 基于奇偶性对数量化的无乘法深度神经网络模型压缩方法 | |
CN113610227B (zh) | 一种用于图像分类的深度卷积神经网络剪枝方法 | |
CN109543029A (zh) | 基于卷积神经网络的文本分类方法、装置、介质和设备 | |
CN114492798A (zh) | 基于核相似度和非极大抑制算法的卷积神经网络剪枝方法 | |
CN109145107A (zh) | 基于卷积神经网络的主题提取方法、装置、介质和设备 | |
CN110188877A (zh) | 一种神经网络压缩方法与装置 | |
CN114332500A (zh) | 图像处理模型训练方法、装置、计算机设备和存储介质 | |
CN117521763A (zh) | 一种融合组正则化剪枝和重要性剪枝的人工智能模型压缩方法 | |
CN112468154A (zh) | 一种适用于海洋气象可视化的数据压缩方法 | |
CN116542311A (zh) | 神经网络模型压缩方法和系统 | |
CN112132062B (zh) | 一种基于剪枝压缩神经网络的遥感图像分类方法 | |
CN112613604A (zh) | 神经网络的量化方法及装置 | |
CN112488291B (zh) | 一种神经网络8比特量化压缩方法 | |
CN116227563A (zh) | 一种基于数据量化的卷积神经网络压缩与加速方法 | |
CN115936099A (zh) | 一种神经网络的权重压缩和集成标准的剪枝方法 | |
CN113724720B (zh) | 一种基于神经网络和mfcc的嘈杂环境下非人声语音过滤方法 |
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 |