CN117131908A - 一种基于退火衰减的深度卷积神经网络的压缩方法 - Google Patents
一种基于退火衰减的深度卷积神经网络的压缩方法 Download PDFInfo
- Publication number
- CN117131908A CN117131908A CN202311365822.5A CN202311365822A CN117131908A CN 117131908 A CN117131908 A CN 117131908A CN 202311365822 A CN202311365822 A CN 202311365822A CN 117131908 A CN117131908 A CN 117131908A
- Authority
- CN
- China
- Prior art keywords
- convolution
- layer
- attenuation
- convolution kernel
- stage
- 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
- 238000007906 compression Methods 0.000 title claims abstract description 65
- 230000006835 compression Effects 0.000 title claims abstract description 56
- 238000000034 method Methods 0.000 title claims abstract description 44
- 238000013527 convolutional neural network Methods 0.000 title claims abstract description 16
- 238000000137 annealing Methods 0.000 title claims abstract description 12
- 238000011156 evaluation Methods 0.000 claims abstract description 18
- 238000012549 training Methods 0.000 claims description 30
- 238000004364 calculation method Methods 0.000 claims description 13
- 238000011176 pooling Methods 0.000 claims description 6
- 238000007781 pre-processing Methods 0.000 claims description 3
- 230000008569 process Effects 0.000 abstract description 6
- 238000013138 pruning Methods 0.000 description 8
- 230000006870 function Effects 0.000 description 7
- 238000013528 artificial neural network Methods 0.000 description 6
- 230000006872 improvement Effects 0.000 description 6
- 230000001133 acceleration Effects 0.000 description 4
- 230000008859 change Effects 0.000 description 3
- 238000000354 decomposition reaction Methods 0.000 description 3
- 238000010586 diagram Methods 0.000 description 3
- 238000003062 neural network model Methods 0.000 description 3
- 238000012545 processing Methods 0.000 description 3
- 239000010151 yanghe Substances 0.000 description 3
- 230000002238 attenuated effect Effects 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000013140 knowledge distillation Methods 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
- 238000013139 quantization Methods 0.000 description 2
- 238000012795 verification Methods 0.000 description 2
- 238000012800 visualization Methods 0.000 description 2
- 230000002159 abnormal effect Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000000052 comparative effect Effects 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000013135 deep learning Methods 0.000 description 1
- 238000012217 deletion Methods 0.000 description 1
- 230000037430 deletion Effects 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000005265 energy consumption Methods 0.000 description 1
- 238000004146 energy storage Methods 0.000 description 1
- 238000002474 experimental method Methods 0.000 description 1
- 239000000203 mixture Substances 0.000 description 1
- 238000003058 natural language processing Methods 0.000 description 1
- 238000002360 preparation method Methods 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 238000012163 sequencing technique Methods 0.000 description 1
- 239000004984 smart glass Substances 0.000 description 1
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/04—Architecture, e.g. interconnection topology
- G06N3/0464—Convolutional networks [CNN, ConvNet]
-
- 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
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/764—Arrangements for image or video recognition or understanding using pattern recognition or machine learning using classification, e.g. of video objects
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/77—Processing image or video features in feature spaces; using data integration or data reduction, e.g. principal component analysis [PCA] or independent component analysis [ICA] or self-organising maps [SOM]; Blind source separation
- G06V10/774—Generating sets of training patterns; Bootstrap methods, e.g. bagging or boosting
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/82—Arrangements for image or video recognition or understanding using pattern recognition or machine learning using neural networks
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Evolutionary Computation (AREA)
- Artificial Intelligence (AREA)
- General Physics & Mathematics (AREA)
- General Health & Medical Sciences (AREA)
- Health & Medical Sciences (AREA)
- Computing Systems (AREA)
- Software Systems (AREA)
- Multimedia (AREA)
- Medical Informatics (AREA)
- Databases & Information Systems (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Biomedical Technology (AREA)
- Mathematical Physics (AREA)
- General Engineering & Computer Science (AREA)
- Molecular Biology (AREA)
- Data Mining & Analysis (AREA)
- Computational Linguistics (AREA)
- Biophysics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Image Analysis (AREA)
Abstract
本申请涉及一种基于退火衰减的深度卷积神经网络的压缩方法,它包括如下步骤:选择待压缩模型;计算待压缩模型中每个卷积核的冗余系数,作为卷积核的评估分数;设定压缩率和衰减系数,并将每个卷积核的评估分数由高到低进行排序,将卷积核的评估分数位于后的部分筛选出来,形成冗余卷积核集合;使用衰减系数对冗余卷积核集合内的冗余卷积核进行卷积衰减,衰减完成后对模型进行再训练,并重复这一过程,当每个卷积层中的冗余卷积核权重均小于预先设定的阈值时,停止卷积衰减操作,并将卷积核权重小于所述阈值的卷积核全部删除。本发明能够加速模型的压缩过程,保证模型精度,而且在压缩过程中不受噪音数据的干扰,具有良好的鲁棒性。
Description
技术领域
本申请涉及模型压缩技术领域,具体涉及一种基于退火衰减的深度卷积神经网络的压缩方法。
背景技术
近些年来,深度学习已经在计算机视觉的各个领域取得了突破性的进展,比如图像分类、目标检测和自然语言处理。然而,想要部署这些深度神经网络却需要极大的存储成本和计算成本。以ResNet50为例,它处理一张像素值为224×224的图像至少需要100 MB的存储空间和接近10 GFLOPs的计算量。如此庞大的存储和计算开销极大地阻碍了深度神经网络在物联网和智能手机等资源受限环境中的使用,尤其是对于自动驾驶、目标追踪等对数据处理实时性要求较高的任务。而且面对如此规模的计算,必须消耗巨大的电量,难以适用于电力存储低的智能手机、智能眼镜等智能移动式终端。
尽管这些深度神经网络包含大量的模型参数和计算量,但已有研究表明,丢弃网络中超过90%的参数,并不会明显降低模型本身的性能,这说明现有的深度神经网络中存在大量的冗余结构。找出并剔除这部分冗余,将有助于提高模型的性能和效率,降低模型的能耗与存储成本。近年来许多模型压缩与加速方法被提出,常见的模型压缩与加速手段有剪枝、知识蒸馏、量化、轻量化结构设计、低秩分解等。其中,剪枝通过删除网络中的冗余连接来简化网络结构,但传统剪枝方法在压缩模型后精度将大幅下降;知识蒸馏通过软标签将复杂网络中的知识迁移到简单网络中,但是需要同时计算两个模型;量化是通过将模型中的参数连续值进行离散化的方式,使网络中的数据存储、运算都变为低比特的形式,但是网络的结构并没有变化,模型复杂度仍然很高;轻量化结构是通过直接设计更轻量、高效的网络结构代替原来网络结构,需要耗费大量算力来寻找更优的子空间;低秩分解则是将网络模型中的大型矩阵运算分解成秩更低的小矩阵运算,但是由于网络模型的复杂度太高,进行低秩分解需要大量的计算,而且这种方法对噪音和异常值非常敏感,稳定性较差。
发明内容
本发明的目的在于,提供一种基于退火衰减的深度卷积神经网络的压缩方法,能够加速模型的压缩过程,保证模型精度,而且在压缩过程中不受噪音数据的干扰,具有良好的鲁棒性。
本发明采取的技术方案是:一种基于退火衰减的深度卷积神经网络的压缩方法,包括如下步骤:
S1:选择已训练好的深度残差网络模型作为待压缩模型;
S2:计算所述待压缩模型每个卷积层中每个卷积核的冗余系数,作为卷积核的评估分数;
S3:设定压缩率和衰减系数/>,其中,/>,/>;对于每个卷积层,将每个卷积核的评估分数由高到低进行排序,将卷积核的评估分数位于后/>的部分筛选出来,形成该卷积层的冗余卷积核集合/>;所述压缩率/>为模型压缩后卷积层中剩余卷积核数量占模型压缩前卷积层中卷积核数量的百分比,衰减系数/>为卷积核衰减后的权重值占卷积核衰减前的权重值的比例;
S4:判断每个卷积层的每个卷积核是否在该卷积层对应的冗余卷积核集合中,若卷积核在冗余卷积核集合/>中,则记该卷积核为冗余卷积核,并将该卷积核的衰减系数赋值为/>,若卷积核不在冗余卷积核集合/>中,则将该卷积核的衰减系数/>赋值为1;将卷积核权重与对应的卷积核的衰减系数/>相乘,并使用相乘后得到的结果作为该卷积核的新权重,对该卷积核权重进行更新,完成一次卷积衰减;其中,/>表示第/>个卷积层的第/>个卷积核的衰减系数;
S5:对进行卷积衰减后的深度残差网络模型再次进行训练,训练完毕后重复步骤S2~S4,当每个卷积层中的冗余卷积核权重均小于预先设定的阈值时,停止卷积衰减操作,并将卷积核权重小于所述阈值的卷积核全部删除;所述衰减系数在每经过/>次卷积衰减后,会逐步减小,直至减小为0。
进一步地,所述卷积核的评估分数为范数,具体计算公式如下:
;
其中,表示第/>个卷积层的第/>个卷积核,/>表示第/>个卷积层的第/>个卷积核的/>范数,/>为实数,/>表示第/>个卷积层的输入通道数,/>表示第/>个卷积层的卷积核宽度,/>表示第/>个卷积层的第/>个卷积核中第/>个输入通道的第/>行/>列的权重值,/>表示/>的模。
进一步地,所述已训练好的深度残差网络模型的具体训练方法步骤如下:
S101:从社会公共区域中采集各种同类物品的大量图像,作为图像分类数据集;
S102:构建深度残差网络模型ResNet;所述深度残差网络模型ResNet包括五个阶段和输出层;
阶段0包括一层卷积层;
阶段1包括一层最大池化层和至少两个块,每个块的结构相同,均包括层卷积层,/>,第/>层卷积层的卷积核数量为/>,/>;
阶段2包括至少两个块,阶段2中块的结构与阶段1中块的结构相同,区别在于阶段2的块中第层卷积层的卷积核数量为/>,并且/>;
阶段3包括至少两个块,阶段3中块的结构与阶段2中块的结构相同,区别在于阶段3的块中第层卷积层的卷积核数量为/>,并且/>;
阶段4包括至少两个块,阶段4中块的结构与阶段3中块的结构相同,区别在于阶段4的块中第层卷积层的卷积核数量为/>,并且/>;
所述输出层包括平均池化层和全连接层;
S103:将所述图像分类数据集输入所述深度残差网络模型ResNet进行迭代训练,并通过损失函数更新深度残差网络模型ResNet中每一层的参数值;当深度残差网络模型ResNet的训练次数达到设定的次数时,结束训练。
进一步地,所述步骤S101的具体步骤如下:
S1011:将所有采集到的图像数据按照类别进行归类,并对每张图像数据进行标注,记图像总数为,图像总类别数为/>,第/>类图像的总数为/>,/>;
对第张图像记为/>,该图像所属类别标记为/>,第/>个类别图像的总数,其中,/>;
S1012:对标注后的图像数据进行预处理,包括图像裁剪和数据增强;图像裁剪用于将采集的图片裁剪至统一大小,数据增强包括旋转和镜像,用于增加数据的丰富性;将经过预处理后的图像数据作为图像分类数据集。
进一步地,所述深度残差网络模型ResNet的损失函数的具体计算公式为:
;
其中,表示第/>张图像/>为第/>个类别图像的概率,/>表示第/>张图像/>通过所述深度残差网络模型ResNet预测为第/>个类别图像的概率,/>表示以10为底的对数函数。
本发明的有益效果在于:
(1)本发明选取的原始网络模型是经过训练的模型,在进行模型压缩的时候能够保留部分预训练知识,使得模型在进行压缩的过程中能够基本保持原有的准确率,并实时的观察到模型的性能变化;
(2)本发明通过范数指标对深度残差网络模型的卷积核进行层内排序,筛选出信息含量少的卷积核作为冗余卷积核,这些冗余卷积核对模型的贡献度较低,删除后不会对模型精度产生较大影响;此外,本发明在对这些冗余卷积核进行卷积衰减后,通过再训练允许被衰减后的卷积核进行参数更新,从而保证衰减前后网络模型的结构不会有太大的变化;随着训练的进行,被衰减的卷积核的权重将逐渐减小至 0;当每个卷积层中的冗余卷积核权重均小于预先设定的阈值时,停止卷积衰减操作,此时卷积核权重小于阈值的卷积核可以安全删除,得到最终的压缩模型;
(3)相较于传统的将卷积核直接删除的压缩方式,本发明是通过逐步衰减切除冗余卷积核的方式,在迭代训练的过程中保留冗余卷积核中的部分训练知识,对模型进行逐步优化,既能有效对模型进行压缩,又能有效利用冗余卷积核中所保留的信息,从而降低卷积核切除对模型精度带来的影响。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。
图1为本发明实施例的方法流程图;
图2为本发明实施例与传统模型压缩方法的流程对比图;
图3为本发明实施例中深度残差网络模型在压缩过程中的模型结构变化图;
图4为本发明实施例在压缩过程中中间特征图可视化结果图。
具体实施方式
为了能够更清楚地理解本发明的上述目的、特征和优点,下面结合附图和具体实施方式对本发明进行进一步的详细描述。在下面的描述中阐述了很多具体细节以便于充分理解本发明,但是,本发明还可以采用其他不同于在此描述的其他方式来实施,因此,本发明并不限于下面公开的具体实施例的限制。
除非另作定义,此处使用的技术术语或者科学术语应当为本申请所述领域内具有一般技能的人士所理解的通常意义。本专利申请说明书以及权利要求书中使用的“第一”、“第二”以及类似的词语并不表示任何顺序、数量或者重要性,而只是用来区分不同的组成部分。同样, “一个”或者“一”等类似词语也不表示数量限制,而是表示存在至少一个。 “连接”或者“相连”等类似的词语并非限定于物理的或者机械的连接,而是可以包括电性的连接,不管是直接的还是间接的。 “上”、 “下”、 “左”、 “右”等仅用于表示相对位置关系,当被描述对象的绝对位置改变后,则该相对位置关系也相应地改变。
如图1所示,一种基于退火衰减的深度卷积神经网络的压缩方法,包括如下步骤:
S1:选择已训练好的深度残差网络模型作为待压缩模型。在本发明实施例中,以图像分类识别为模型的应用领域,具体的训练方法步骤如下:
S101:从社会公共区域中采集各种同类物品的大量图像,作为图像分类数据集;具体步骤如下:
S1011:将所有采集到的图像数据按照类别进行归类,并对每张图像数据进行标注,记图像总数为,图像总类别数为/>,第/>类图像的总数为/>,/>;
对第张图像记为/>,该图像所属类别标记为/>,第/>个类别图像的总数,其中,/>。
S1012:对标注后的图像数据进行预处理,包括图像裁剪和数据增强;图像裁剪用于将采集的图片裁剪至统一大小,数据增强包括旋转和镜像,用于增加数据的丰富性;将经过预处理后的图像数据作为图像分类数据集。
S102:构建深度残差网络模型ResNet;所述深度残差网络模型ResNet包括五个阶段和输出层;
阶段0包括一层卷积层;
阶段1包括一层最大池化层和至少两个块,每个块的结构相同,均包括层卷积层,/>,第/>层卷积层的卷积核数量为/>,/>;
阶段2包括至少两个块,阶段2中块的结构与阶段1中块的结构相同,区别在于阶段2的块中第层卷积层的卷积核数量为/>,并且/>;
阶段3包括至少两个块,阶段3中块的结构与阶段2中块的结构相同,区别在于阶段3的块中第层卷积层的卷积核数量为/>,并且/>;
阶段4包括至少两个块,阶段4中块的结构与阶段3中块的结构相同,区别在于阶段4的块中第层卷积层的卷积核数量为/>,并且/>;
所述输出层包括平均池化层和全连接层。
S103:将所述图像分类数据集输入所述深度残差网络模型ResNet进行迭代训练,并通过损失函数更新深度残差网络模型ResNet中每一层的参数值;当深度残差网络模型ResNet的训练次数达到设定的次数时,结束训练。所述深度残差网络模型ResNet的损失函数的具体计算公式为:
;
其中,表示第/>张图像/>为第/>个类别图像的概率,/>表示第/>张图像/>通过所述深度残差网络模型ResNet预测为第/>个类别图像的概率,/>表示以10为底的对数函数。
本发明实施例对深度残差网络模型ResNet的训练过程均是在两个NVIDIA RTXA5000 GPU上使用PyTorch平台设计实现的。在模型的训练过程中,损失函数通过随机梯度下降算法SGD对深度残差网络模型ResNet的参数进行更新,随机梯度下降算法SGD的动量设置为0.9,权重衰减为1e-4,每次迭代的批处理的大小为128。本发明实施例以ILSVRC-2012数据集作为训练集,深度残差网络模型ResNet的学习率初始化为0.1,每迭代30次,学习率变为原来的0.1,模型训练迭代的最大次数为100次。
S2:计算所述待压缩模型每个卷积层中每个卷积核的冗余系数,作为卷积核的评估分数。本发明实施例以范数作为卷积核的评估分数,具体计算公式如下:
;
其中,表示第/>个卷积层的第/>个卷积核,/>表示第/>个卷积层的第/>个卷积核的/>范数,/>为实数,/>表示第/>个卷积层的输入通道数,/>表示第/>个卷积层的卷积核宽度,/>表示第/>个卷积层的第/>个卷积核中第/>个输入通道的第/>行/>列的权重值,/>表示/>的模。
本发明实施例通过所述卷积核的评估分数判断所述深度残差网络模型ResNet中的卷积核通道是否为高效通道,从而对卷积核通道进行重要性评估,为后续的模型压缩步骤做准备。卷积核评估分数越低,说明该卷积核对应的通道重要性也越低,压缩后对模型精度的影响也越小。
S3:设定压缩率和衰减系数/>,其中,/>,/>;对于每个卷积层,将每个卷积核的评估分数由高到低进行排序,将卷积核的评估分数位于后/>的部分筛选出来,形成该卷积层的冗余卷积核集合/>;所述压缩率/>为模型压缩后卷积层中剩余卷积核数量占模型压缩前卷积层中卷积核数量的百分比,衰减系数/>为卷积核衰减后的权重值占卷积核衰减前的权重值的比例。
S4:判断每个卷积层的每个卷积核是否在该卷积层对应的冗余卷积核集合中,若卷积核在冗余卷积核集合/>中,则记该卷积核为冗余卷积核,并将该卷积核的衰减系数赋值为/>,若卷积核不在冗余卷积核集合/>中,则将该卷积核的衰减系数/>赋值为1;将卷积核权重与对应的卷积核的衰减系数/>相乘,并使用相乘后得到的结果作为该卷积核的新权重,对该卷积核权重进行更新,完成一次卷积衰减;其中,/>表示第/>个卷积层的第/>个卷积核的衰减系数。
S5:对进行卷积衰减后的深度残差网络模型再次进行训练,训练完毕后重复步骤S2~S4,当每个卷积层中的冗余卷积核权重均小于预先设定的阈值时,停止卷积衰减操作,并将卷积核权重小于所述阈值的卷积核全部删除。衰减系数能够在进行模型压缩时保留冗余卷积核的部分预训练知识,使得模型在进行压缩的过程中能够基本保持原有的准确率;所述衰减系数/>在每经过/>次卷积衰减后,会逐步减小,直至减小为0,通过逐渐减小衰减系数/>的方式,可在不影响压缩效果的情况下加速卷积衰减过程。
在本发明实施例中,压缩率的值为0.7,衰减系数/>的初始值为0.9,所述阈值的大小为1×10-6;/>的值为10,衰减系数/>的缩小幅度为0.1,即衰减系数/>在每经过10次卷积衰减后,会减小0.1,直至减小为0。进行卷积衰减后的对深度残差网络模型进行再次训练的方法与初始的训练方法相同。本发明实施例采用衰减结束后统一删除卷积核权重小于阈值的卷积核的方式,无需在每次卷积衰减后判定是否需要删除卷积核,从而简化了操作流程。
如图2和图3所示,图2中的(a)为传统的压缩方法,传统的压缩方法在进行模型压缩时,是直接删除冗余卷积核,这样将使得压缩后的模型丢失大量精确度;图2中的(b)为本发明实施例所述的压缩方法,本发明实施例在进行模型压缩时,对冗余卷积核的处理更加平滑,通过衰减迭代的方式逐步减小冗余卷积核大小,既能达到压缩模型的目的,也不随使得压缩后的模型损失大量精确度。图4为本发明实施例在压缩过程中中间特征图可视化结果图,图4中的(a)为输入图片,图4中的(b)为中间层的特征图,从图4中的(b)可以看出,冗余卷积核对应的特征图在压缩过程中被切除了。
常见的深度残差网络模型ResNet的结构如表1所示。表中“”表示卷积层结构,该卷积层由/>个大小为/>的卷积核组成,其中/>表示卷积核大小,/>表示阶段的块中第/>层卷积层的卷积核数量,/>;“/>”表示块结构。
表1 常见的深度残差网络模型ResNet的结构
本发明实施例以ResNet50网络模型为例,将验证集分别输入通过本发明实施例所述的方法压缩前和压缩后的ResNet50网络模型,并通过预测准确率、参数量/>和浮点运算次数/>三个性能指标检测压缩前后的模型性能,检验本发明实施例的压缩效果。
预测准确率的计算公式为:
;
其中,表示验证集的图片总数,/>表示第/>张图像是否预测成功,预测成功则记/>,预测失败则记/>。
参数量的计算公式为:
;
其中,为深度残差网络模型ResNet中卷积层的总层数,/>表示第/>个卷积层的卷积核宽度,/>和/>分别表示第/>个卷积层的输入通道数和输出通道数。
浮点运算次数的计算公式为:
;
其中,表示深度残差网络模型ResNet第/>个卷积层生成的特征图的高,/>表示深度残差网络模型ResNet第/>个卷积层生成的特征图的宽,/>和/>分别为第/>个卷积层的输入通道数和输出通道数,/>为第/>个卷积层的卷积核宽度。
对比实验分别将本发明实施例与现有压缩算法在CIFAR-10数据集和ILSVRC-2012数据集上进行性能对比。在CIFAR-10数据集上的模型训练方法与在ILSVRC-2012数据集上的训练方法基本相同,区别在于对于CIFAR-10数据集,模型的学习率初始化为0.01,迭代的最大次数为300次;对于ILSVRC-2012数据集,模型的学习率固定为0.1,迭代的最大次数为100次。
在CIFAR-10数据集上,以模型的深度为56和110为例,将本发明实施例与Hao Li等人在2016年发表的论文《Pruning Filters for Efficient ConvNets》中所述的PFEC算法、Yang He等人在2020年发表的论文《Learning Filter Pruning Criteria for DeepConvolutional Neural Networks Acceleration》中所述的LFPC算法、Yang He等人在2018年发表的论文《Soft Filter Pruning for Accelerating Deep Convolutional NeuralNetworks》中所述的SFP算法和Yang He等人在2019年发表的论文《Filter pruningviageometric median for deep convolutional neural networks acceleration》中所述的FPGM算法进行性能比较,可得到如表2所示的实验结果。
表2 本发明实施例与现有算法在CIFAR-10数据集中的实验结果比较
从表2中可以看出,当模型的深度为56时,PFEC算法在CIFAR-10数据集上取得了93.06%的准确率,但本发明实施例达到了93.85%的准确率,同时浮点运算次数减少了41.1%,相比于PFEC算法27.6%的/>下降幅度有相当大的提升。本发明实施例虽然与SFP算法在浮点运算次数/>上相同,但本发明实施例的模型准确率上升了0.07%。当模型深度加深到110层时,与PFEC算法相比,将本发明实施例压缩后的准确率与PFEC算法压缩后的准确率相减可得,本发明实施例在压缩后的准确率上实现了0.59%的改进,将本发明实施例/>下降指标与PFEC算法/>下降指标相减可得,本发明实施例在/>下降指标上实现了2.2%的改进。而且本发明实施例压缩后的网络准确率相较于原网络有进一步提升。这说明在小数据集与小模型上,本发明实施例不仅去除了网络的冗余,还进一步提高了模型的性能。
在ILSVRC-2012数据集上,以模型的深度为18和50为例,将本发明实施例与FPGM算法、Mingbao Lin等人在2020年发表的论文《HRank: Filter Pruning Using High-RankFeature Map》中所述的HRank算法、Mingbao Lin等人在2020年发表的论文《ChannelPruning via Automatic Structure Search》中所述的ABCPruner算法、LFPC算法和 SFP算法进行性能比较,可得到如表3所示的实验结果。
表3 本发明实施例与现有算法在ILSVRC-2012数据集中的实验结果比较
从表3中可以看出,当模型的深度为18,且浮点运算次数相同时,FPGM算法在ILSVRC-2012数据集上取得了68.41%的准确率,本发明实施例达到了68.49%的准确率。当模型的深度为50,且浮点运算次数/>相同时,本发明实施例相较于SFP算法和FPGM算法均有不同程度的提升,将本发明实施例压缩后的准确率与SFP算法压缩后的准确率相减可得,本发明实施例在压缩后的准确率上提升了13.84%,将本发明实施例压缩后的准确率与FPGM算法压缩后的准确率相减可得,本发明实施例在压缩后的准确率上提升了0.39%。相较于HRank算法,本发明实施例在浮点运算次数/>相近的情况下,将本发明实施例压缩后的准确率与HRank算法压缩后的准确率相减可得,本发明实施例在压缩后的准确率上提升了1.00%。与小数据集CIFAR-10不同,ILSVRC-2012数据集在经过压缩模型后,模型的准确率很难超过压缩前。这是因为大数据集的预测难度非常大,网络结构也更加复杂,一些结构化的压缩方法很难完全剔除网络冗余。
相比于现有的压缩方法,本发明实施例在保证模型精度的前提下,将复杂的深度神经网络模型进行压缩,实现更小的存储占用,解决了一些移动式和嵌入式设备上难以部署深度神经网络的问题。并能够加速深度神经网络模型的推理速度,从而解决深度神经网络延迟高,响应时间长的问题。在应用方面,本发明实施例可以运用在含有卷积的各类神经网络模型中,兼容性强,具有广泛的应用场景。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (5)
1.一种基于退火衰减的深度卷积神经网络的压缩方法,其特征在于,包括如下步骤:
S1:选择已训练好的深度残差网络模型作为待压缩模型;
S2:计算所述待压缩模型每个卷积层中每个卷积核的冗余系数,作为卷积核的评估分数;
S3:设定压缩率和衰减系数/>,其中,/>,/>;对于每个卷积层,将每个卷积核的评估分数由高到低进行排序,将卷积核的评估分数位于后/>的部分筛选出来,形成该卷积层的冗余卷积核集合/>;所述压缩率/>为模型压缩后卷积层中剩余卷积核数量占模型压缩前卷积层中卷积核数量的百分比,衰减系数/>为卷积核衰减后的权重值占卷积核衰减前的权重值的比例;
S4:判断每个卷积层的每个卷积核是否在该卷积层对应的冗余卷积核集合中,若卷积核在冗余卷积核集合/>中,则记该卷积核为冗余卷积核,并将该卷积核的衰减系数/>赋值为/>,若卷积核不在冗余卷积核集合/>中,则将该卷积核的衰减系数/>赋值为1;将卷积核权重与对应的卷积核的衰减系数/>相乘,并使用相乘后得到的结果作为该卷积核的新权重,对该卷积核权重进行更新,完成一次卷积衰减;其中,/>表示第/>个卷积层的第/>个卷积核的衰减系数;
S5:对进行卷积衰减后的深度残差网络模型再次进行训练,训练完毕后重复步骤S2~S4,当每个卷积层中的冗余卷积核权重均小于预先设定的阈值时,停止卷积衰减操作,并将卷积核权重小于所述阈值的卷积核全部删除;所述衰减系数在每经过/>次卷积衰减后,会逐步减小,直至减小为0。
2.根据权利要求1所述的一种基于退火衰减的深度卷积神经网络的压缩方法,其特征在于,所述卷积核的评估分数为范数,具体计算公式如下:
;
其中,表示第/>个卷积层的第/>个卷积核,/>表示第/>个卷积层的第/>个卷积核的范数,/>为实数,/>表示第/>个卷积层的输入通道数,/>表示第/>个卷积层的卷积核宽度,/>表示第/>个卷积层的第/>个卷积核中第/>个输入通道的第/>行/>列的权重值,/>表示/>的模。
3.根据权利要求1所述的一种基于退火衰减的深度卷积神经网络的压缩方法,其特征在于,所述已训练好的深度残差网络模型的具体训练方法步骤如下:
S101:从社会公共区域中采集各种同类物品的大量图像,作为图像分类数据集;
S102:构建深度残差网络模型ResNet;所述深度残差网络模型ResNet包括五个阶段和输出层;
阶段0包括一层卷积层;
阶段1包括一层最大池化层和至少两个块,每个块的结构相同,均包括层卷积层,,第/>层卷积层的卷积核数量为/>,/>;
阶段2包括至少两个块,阶段2中块的结构与阶段1中块的结构相同,区别在于阶段2的块中第层卷积层的卷积核数量为/>,并且/>;
阶段3包括至少两个块,阶段3中块的结构与阶段2中块的结构相同,区别在于阶段3的块中第层卷积层的卷积核数量为/>,并且/>;
阶段4包括至少两个块,阶段4中块的结构与阶段3中块的结构相同,区别在于阶段4的块中第层卷积层的卷积核数量为/>,并且/>;
所述输出层包括平均池化层和全连接层;
S103:将所述图像分类数据集输入所述深度残差网络模型ResNet进行迭代训练,并通过损失函数更新深度残差网络模型ResNet中每一层的参数值;当深度残差网络模型ResNet的训练次数达到设定的次数时,结束训练。
4.根据权利要求3所述的一种基于退火衰减的深度卷积神经网络的压缩方法,其特征在于,所述步骤S101的具体步骤如下:
S1011:将所有采集到的图像数据按照类别进行归类,并对每张图像数据进行标注,记图像总数为,图像总类别数为/>,第/>类图像的总数为/>,/>;
对第张图像记为/>,该图像所属类别标记为/>,第/>个类别图像的总数,其中,/>;
S1012:对标注后的图像数据进行预处理,包括图像裁剪和数据增强;图像裁剪用于将采集的图片裁剪至统一大小,数据增强包括旋转和镜像,用于增加数据的丰富性;将经过预处理后的图像数据作为图像分类数据集。
5.根据权利要求4所述的一种基于退火衰减的深度卷积神经网络的压缩方法,其特征在于,所述深度残差网络模型ResNet的损失函数的具体计算公式为:
;
其中,表示第/>张图像/>为第/>个类别图像的概率,/>表示第/>张图像/>通过所述深度残差网络模型ResNet预测为第/>个类别图像的概率,/>表示以10为底的对数函数。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311365822.5A CN117131908B (zh) | 2023-10-20 | 2023-10-20 | 一种基于退火衰减的深度卷积神经网络的压缩方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311365822.5A CN117131908B (zh) | 2023-10-20 | 2023-10-20 | 一种基于退火衰减的深度卷积神经网络的压缩方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN117131908A true CN117131908A (zh) | 2023-11-28 |
CN117131908B CN117131908B (zh) | 2024-01-30 |
Family
ID=88854781
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311365822.5A Active CN117131908B (zh) | 2023-10-20 | 2023-10-20 | 一种基于退火衰减的深度卷积神经网络的压缩方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117131908B (zh) |
Citations (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20160324261A1 (en) * | 2015-05-08 | 2016-11-10 | Under Armour, Inc. | Footwear with lattice midsole and compression insert |
CN110826684A (zh) * | 2018-08-08 | 2020-02-21 | 北京交通大学 | 卷积神经网络的压缩方法、装置、电子设备和介质 |
CN110971901A (zh) * | 2018-09-29 | 2020-04-07 | 杭州海康威视数字技术股份有限公司 | 卷积神经网络的处理方法及装置 |
CN111126602A (zh) * | 2019-12-25 | 2020-05-08 | 浙江大学 | 一种基于卷积核相似性剪枝的循环神经网络模型压缩方法 |
CN111340225A (zh) * | 2020-02-28 | 2020-06-26 | 中云智慧(北京)科技有限公司 | 一种基于深度卷积神经网络模型压缩和加速方法 |
CN113762511A (zh) * | 2021-09-14 | 2021-12-07 | 上饶市中科院云计算中心大数据研究院 | 一种卷积核剪枝模型压缩方法及装置 |
CN113837376A (zh) * | 2021-08-30 | 2021-12-24 | 厦门大学 | 基于动态编码卷积核融合的神经网络剪枝方法 |
CN113850365A (zh) * | 2021-07-28 | 2021-12-28 | 浙江大华技术股份有限公司 | 卷积神经网络的压缩和移植方法、装置、设备及存储介质 |
CN114037844A (zh) * | 2021-11-18 | 2022-02-11 | 西安电子科技大学 | 基于滤波器特征图的全局秩感知神经网络模型压缩方法 |
CN114118402A (zh) * | 2021-10-12 | 2022-03-01 | 重庆科技学院 | 基于分组注意力机制的自适应剪枝模型压缩算法 |
CN115620120A (zh) * | 2022-10-19 | 2023-01-17 | 感知天下(北京)信息科技有限公司 | 街景图像多尺度高维特征构建量化方法、设备及存储介质 |
CN116502697A (zh) * | 2023-04-26 | 2023-07-28 | 宁夏青铜峡市华能雷避窑光伏发电有限公司 | 基于cifar数据集的深度神经网络模型压缩方法及压缩装置 |
CN116524495A (zh) * | 2023-02-14 | 2023-08-01 | 梧州学院 | 一种基于多维通道注意力机制的中药显微识别方法及系统 |
-
2023
- 2023-10-20 CN CN202311365822.5A patent/CN117131908B/zh active Active
Patent Citations (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20160324261A1 (en) * | 2015-05-08 | 2016-11-10 | Under Armour, Inc. | Footwear with lattice midsole and compression insert |
CN110826684A (zh) * | 2018-08-08 | 2020-02-21 | 北京交通大学 | 卷积神经网络的压缩方法、装置、电子设备和介质 |
CN110971901A (zh) * | 2018-09-29 | 2020-04-07 | 杭州海康威视数字技术股份有限公司 | 卷积神经网络的处理方法及装置 |
CN111126602A (zh) * | 2019-12-25 | 2020-05-08 | 浙江大学 | 一种基于卷积核相似性剪枝的循环神经网络模型压缩方法 |
CN111340225A (zh) * | 2020-02-28 | 2020-06-26 | 中云智慧(北京)科技有限公司 | 一种基于深度卷积神经网络模型压缩和加速方法 |
CN113850365A (zh) * | 2021-07-28 | 2021-12-28 | 浙江大华技术股份有限公司 | 卷积神经网络的压缩和移植方法、装置、设备及存储介质 |
CN113837376A (zh) * | 2021-08-30 | 2021-12-24 | 厦门大学 | 基于动态编码卷积核融合的神经网络剪枝方法 |
CN113762511A (zh) * | 2021-09-14 | 2021-12-07 | 上饶市中科院云计算中心大数据研究院 | 一种卷积核剪枝模型压缩方法及装置 |
CN114118402A (zh) * | 2021-10-12 | 2022-03-01 | 重庆科技学院 | 基于分组注意力机制的自适应剪枝模型压缩算法 |
CN114037844A (zh) * | 2021-11-18 | 2022-02-11 | 西安电子科技大学 | 基于滤波器特征图的全局秩感知神经网络模型压缩方法 |
CN115620120A (zh) * | 2022-10-19 | 2023-01-17 | 感知天下(北京)信息科技有限公司 | 街景图像多尺度高维特征构建量化方法、设备及存储介质 |
CN116524495A (zh) * | 2023-02-14 | 2023-08-01 | 梧州学院 | 一种基于多维通道注意力机制的中药显微识别方法及系统 |
CN116502697A (zh) * | 2023-04-26 | 2023-07-28 | 宁夏青铜峡市华能雷避窑光伏发电有限公司 | 基于cifar数据集的深度神经网络模型压缩方法及压缩装置 |
Non-Patent Citations (3)
Title |
---|
DAJIANG LI 等: "Energy Analysis in Single Cluster WSNs with Power Control and In-network Data Compression", 《2022 IEEE CANADIAN CONFERENCE ON ELECTRICAL AND COMPUTER ENGINEERING》, pages 107 - 111 * |
叶汉民 等: "基于稀疏化卷积网络剪枝的图像识别方法研究", 《实验室研究与探索》, vol. 41, no. 12, pages 9 - 13 * |
熊李艳 等: "基于局部结构保留的级联子空间深度聚类", 《计算机应用研究》, vol. 37, no. 8, pages 2358 - 2361 * |
Also Published As
Publication number | Publication date |
---|---|
CN117131908B (zh) | 2024-01-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6980958B1 (ja) | 深層学習に基づく農村地域分けゴミ識別方法 | |
CN110660062B (zh) | 一种基于PointNet的点云实例分割方法及系统 | |
CN109087258B (zh) | 一种基于深度学习的图像去雨方法及装置 | |
CN110175628A (zh) | 一种基于自动搜索与知识蒸馏的神经网络剪枝的压缩算法 | |
CN113850824A (zh) | 一种基于多尺度特征融合的遥感图像路网提取方法 | |
CN111582397B (zh) | 一种基于注意力机制的cnn-rnn图像情感分析方法 | |
CN111667068A (zh) | 一种基于掩码的深度图卷积神经网络模型剪枝方法与系统 | |
CN112163520B (zh) | 一种基于改进损失函数的mdssd人脸检测方法 | |
CN109871749B (zh) | 一种基于深度哈希的行人重识别方法和装置、计算机系统 | |
CN112801906B (zh) | 基于循环神经网络的循环迭代图像去噪方法 | |
CN112101364A (zh) | 基于参数重要性增量学习的语义分割方法 | |
CN113177580A (zh) | 基于通道重要性剪枝与二值量化的图像分类系统 | |
CN113554084A (zh) | 基于剪枝和轻量卷积的车辆再辨识模型压缩方法及系统 | |
CN109063835B (zh) | 神经网络的压缩装置及方法 | |
CN113590748B (zh) | 基于迭代网络组合的情感分类持续学习方法及存储介质 | |
CN112132062B (zh) | 一种基于剪枝压缩神经网络的遥感图像分类方法 | |
CN108805280A (zh) | 一种图像检索的方法和装置 | |
CN118247821A (zh) | 一种基于混合注意力机制和多尺度特征融合的人员情绪识别方法 | |
CN117131908B (zh) | 一种基于退火衰减的深度卷积神经网络的压缩方法 | |
CN117370650A (zh) | 基于服务组合超图卷积网络的云计算数据推荐方法 | |
CN113128362A (zh) | 一种基于yolov3的无人机视角下小目标快速检测方法 | |
CN116523949A (zh) | 一种基于结构化剪枝的视频人像抠图方法 | |
CN116050579A (zh) | 基于深度特征融合网络的建筑能耗预测方法及系统 | |
CN114723043A (zh) | 基于超图模型谱聚类的卷积神经网络卷积核剪枝方法 | |
CN114492798A (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 |