CN117829241A - 一种卷积神经网络的剪枝方法 - Google Patents
一种卷积神经网络的剪枝方法 Download PDFInfo
- Publication number
- CN117829241A CN117829241A CN202410239962.6A CN202410239962A CN117829241A CN 117829241 A CN117829241 A CN 117829241A CN 202410239962 A CN202410239962 A CN 202410239962A CN 117829241 A CN117829241 A CN 117829241A
- Authority
- CN
- China
- Prior art keywords
- filter
- current
- flattened
- current filter
- layer
- 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 98
- 238000013527 convolutional neural network Methods 0.000 title claims abstract description 42
- 238000000034 method Methods 0.000 title claims abstract description 35
- 238000010586 diagram Methods 0.000 claims abstract description 32
- 238000006467 substitution reaction Methods 0.000 claims abstract description 20
- 230000000694 effects Effects 0.000 claims description 25
- 239000013598 vector Substances 0.000 claims description 17
- 238000004364 calculation method Methods 0.000 claims description 12
- 238000012549 training Methods 0.000 claims description 11
- 230000006835 compression Effects 0.000 abstract description 6
- 238000007906 compression Methods 0.000 abstract description 6
- 238000005516 engineering process Methods 0.000 description 4
- 244000141353 Prunus domestica Species 0.000 description 3
- 238000013528 artificial neural network Methods 0.000 description 3
- 238000013135 deep learning Methods 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000013136 deep learning model Methods 0.000 description 1
- 230000004927 fusion Effects 0.000 description 1
- PCHJSUWPFVWCPO-UHFFFAOYSA-N gold Chemical compound [Au] PCHJSUWPFVWCPO-UHFFFAOYSA-N 0.000 description 1
- 239000010931 gold Substances 0.000 description 1
- 229910052737 gold Inorganic materials 0.000 description 1
- 238000011160 research Methods 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/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/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/06—Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons
- G06N3/063—Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons using electronic means
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Life Sciences & Earth Sciences (AREA)
- Artificial Intelligence (AREA)
- Biophysics (AREA)
- Biomedical Technology (AREA)
- Health & Medical Sciences (AREA)
- Evolutionary Computation (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- General Health & Medical Sciences (AREA)
- Computational Linguistics (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Evolutionary Biology (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Bioinformatics & Computational Biology (AREA)
- Neurology (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Image Analysis (AREA)
- Filters That Use Time-Delay Elements (AREA)
Abstract
本申请的实施例涉及网络压缩技术领域,特别涉及一种卷积神经网络的剪枝方法,该方法包括:将样本数据输入至目标模型中,得到目标模型的各层的各滤波器输出的特征图;遍历滤波器,将当前滤波器输出的特征图展平,根据当前滤波器对应的展平后的特征图,计算当前滤波器的内部特征活跃度;计算展平后的特征图两两之间的特征差异度,并根据当前滤波器对应的展平后的特征图与其他滤波器对应的展平后的特征图之间的特征差异度,确定当前滤波器的替代性得分;基于内部特征活跃度和替代性得分,确定重要性得分,并根据预设的剪枝率和重要性得分,对当前层进行剪枝,得到目标模型的轻量化模型,从而实现模型的轻量化,同时保证剪枝后的模型有较高性能。
Description
技术领域
本申请的实施例涉及网络压缩技术领域,特别涉及一种卷积神经网络的剪枝方法。
背景技术
网络剪枝技术是深度神经网络中备受关注的压缩方法之一,其凭借简单易行和显著的效果而受到青睐。滤波器剪枝是网络剪枝技术的一个可行方案,滤波器剪枝专注于消除卷积神经网络中的冗余卷积核或通道,从而实现神经网络参数规模的降低。通过巧妙选择需要剪枝的滤波器,滤波器剪枝技术可以在保持模型准确性的同时显著减少参数量和计算量,从而实现对神经网络的压缩。此外,通过减少参数量和相应的计算需求,滤波器剪枝使模型在推理阶段更加高效,能够很好地适用于在资源有限的环境中部署深度学习模型。这不仅提高了模型的实用性,还在一定程度上减轻了对硬件资源的需求。值得注意的是,滤波器剪枝并不依赖于专用的硬件或软件支持,其可以在现有深度学习库的基础上实现。因此,采用滤波器剪枝的模型无需额外的设备或技术支持,更易于在不同的环境和平台上应用和部署。
目前大量的滤波器剪枝研究主要关注于冗余滤波器的识别。公开号为CN113657594A的中国专利公开了一种软滤波器剪枝的方法,其不仅考虑了滤波器自身的绝对距离也考虑了滤波器的分布信息来进行剪枝。公开号为CN116451771A的中国专利公开了一种图像分类卷积神经网络压缩方法及芯粒器件数据分配方法,综合考虑了滤波器的输入影响因子和输出影响因子来进行剪枝。这些方案通过评估单个滤波器的信息丰富度来探索滤波器的输入输出的影响,从而达到模型压缩的目。
然而,本申请的发明人发现,上述方案未能全面评估卷积神经网络的整体信息结构,这导致卷积神经网络的剪枝效果不佳,无法满足最优剪枝的需求。
发明内容
本申请的实施例的主要目的在于提出一种卷积神经网络的剪枝方法,旨在对卷积神经网络进行科学剪枝,降低模型的计算负担,实现模型的轻量化,同时确保剪枝后的模型的性能不会显著下降。
为实现上述目的,本申请的实施例提出了一种卷积神经网络的剪枝方法,包括:将样本数据输入至目标模型中,逐层逐滤波器地执行卷积操作,得到所述目标模型的各层的各滤波器输出的特征图;其中,所述目标模型是基于卷积神经网络构建的模型,所述滤波器用于表征卷积核;遍历所述目标模型的各层的各滤波器,将当前滤波器输出的特征图展平,根据所述当前滤波器对应的展平后的特征图,计算所述当前滤波器的内部特征活跃度;基于闵氏距离,计算当前层的各滤波器对应的展平后的特征图两两之间的特征差异度,并根据所述当前滤波器对应的展平后的特征图与所述当前滤波器同一层的其他滤波器对应的展平后的特征图之间的特征差异度,确定所述当前滤波器的替代性得分;基于所述当前滤波器的内部特征活跃度和替代性得分,确定所述当前滤波器的重要性得分,并根据预设的剪枝率和所述当前层的各滤波器的重要性得分,对所述当前层进行剪枝;在完成对所述目标模型的各层的剪枝后,得到所述目标模型的轻量化模型。
为实现上述目的,本申请的实施例还提出了一种卷积神经网络的剪枝装置,包括:卷积操作执行模块、滤波器内部活跃性选择器、滤波器间替代性选择器、重要性得分计算模块和剪枝执行模块;所述卷积操作执行模块用于将样本数据输入至目标模型中,逐层逐滤波器地执行卷积操作,得到所述目标模型的各层的各滤波器输出的特征图;其中,所述目标模型是基于卷积神经网络构建的模型,所述滤波器用于表征卷积核;所述滤波器内部活跃性选择器用于遍历所述目标模型的各层的各滤波器,将当前滤波器输出的特征图展平,根据所述当前滤波器对应的展平后的特征图,计算所述当前滤波器的内部特征活跃度;所述滤波器间替代性选择器用于基于闵氏距离,计算当前层的各滤波器对应的展平后的特征图两两之间的特征差异度,并根据所述当前滤波器对应的展平后的特征图与所述当前滤波器同一层的其他滤波器对应的展平后的特征图之间的特征差异度,确定所述当前滤波器的替代性得分;所述重要性得分计算模块用于基于所述当前滤波器的内部特征活跃度和替代性得分,确定所述当前滤波器的重要性得分;所述剪枝执行模块用于根据预设的剪枝率和所述当前层的各滤波器的重要性得分,对所述当前层进行剪枝,并在完成对所述目标模型的各层的剪枝后,得到所述目标模型的轻量化模型。
本申请的实施例提出的一种卷积神经网络的剪枝方法,在给定目标模型的情况下,通过卷积操作获取目标模型的各层的个滤波器输出的特征图,引入内部活跃性选择器思想和滤波器间替代性选择器思想,分别计算各滤波器对应的内部特征活跃度和替代性得分,综合内部特征活跃度和替代性得分确定各滤波器的重要性得分,根据重要性得分对不重要的滤波器进行剪枝,生成目标模型的轻量化模型。考虑到业内的剪枝技术忽略了滤波器自身的信息量以及滤波器之间特征的相互关系,未能全面评估卷积神经网络的整体信息结构,因此本申请不仅仅从单一视角挖掘滤波器的冗余度,而是全面考虑了滤波器内部信息的丰富性以及滤波器之间的可替代性,从而综合考量滤波器的重要性,移除重要性较低的滤波器,从而实现对卷积神经网络进行科学剪枝,降低模型的计算负担,实现模型的轻量化,同时确保剪枝后的模型的性能不会显著下降。
在一些可选的实施例中,所述根据所述当前滤波器对应的展平后的特征图,计算所述当前滤波器的内部特征活跃度,包括:基于所述当前滤波器对应的展平后的特征图中的各像素,计算所述当前滤波器对应的展平后的特征图的特征向量均值;基于所述当前滤波器对应的展平后的特征图的各像素和所述特征向量均值,计算所述当前滤波器对应的展平后的特征图的平均标准差,并将所述平均标准差作为所述当前滤波器的内部特征活跃度。使用当前滤波器对应的展平后的特征图的平均标准差作为当前滤波器的内部特征活跃度,可以很好地反映当前滤波器内部的信息量,可以很好地从当前滤波器自身出发来衡量当前滤波器的重要性。
在一些可选的实施例中,所述基于所述当前滤波器对应的展平后的特征图中的各像素,计算所述当前滤波器对应的展平后的特征图的特征向量均值,通过以下公式实现:
其中,表示所述当前滤波器对应的展平后的特征图中的第/>个像素,/>和/>分别表示所述当前滤波器对应的展平后的特征图的高和宽,/>表示所述当前滤波器属于所述目标模型的第/>层,/>表示所述样本数据所属的样本批次,/>表示所述当前滤波器对应的展平后的特征图的特征向量均值;
所述基于所述当前滤波器对应的展平后的特征图的各像素和所述特征向量均值,计算所述当前滤波器对应的展平后的特征图的平均标准差,并将所述平均标准差作为所述当前滤波器的内部特征活跃度,通过以下公式实现:
其中,表示所述当前滤波器对应的展平后的特征图,即所述目标模型的第/>层的第/>个滤波器对应的展平后的特征图,/>表示所述样本批次的总数,/>表示所述当前滤波器对应的展平后的特征图的平均标准差,即所述当前滤波器的内部特征活跃度。
在一些可选的实施例中,所述基于闵氏距离,计算当前层的各滤波器对应的展平后的特征图两两之间的特征差异度,通过以下公式实现:
其中,假设当前层为所述目标模型的第层,/>表示所述当前层的第/>个滤波器对应的展平后的特征图,/>表示所述当前层的第/>个滤波器对应的展平后的特征图,/>表示所述当前层的第/>个滤波器对应的展平后的特征图中的第/>个像素,/>表示所述当前层的第/>个滤波器对应的展平后的特征图中的第/>个像素,/>表示预设的距离度量阶数,/>表示所述第/>个滤波器对应的展平后的特征图与所述第/>个滤波器对应的展平后的特征图之间的特征差异度;
所述根据所述当前滤波器对应的展平后的特征图与所述当前滤波器同一层的其他滤波器对应的展平后的特征图之间的特征差异度,确定所述当前滤波器的替代性得分,通过以下公式实现:
其中,表示所述其他滤波器对应的展平后的特征图,/>表示所述当前滤波器对应的展平后的特征图与所述当前滤波器同一层的其他滤波器对应的展平后的特征图之间的特征差异度,/>表示所述当前滤波器的替代性得分。
在一些可选的实施例中,所述基于所述当前滤波器的内部特征活跃度和替代性得分,确定所述当前滤波器的重要性得分,通过以下公式实现:
其中,表示所述当前滤波器,即所述目标模型的第/>层的第/>个滤波器,/>表示预设的平衡因子,/>表示所述当前滤波器的内部特征活跃度,/>表示所述当前滤波器的替代性得分,/>表示所述当前滤波器的重要性得分。
在一些可选的实施例中,所述根据预设的剪枝率和所述当前层的各滤波器的重要性得分,对所述当前层进行剪枝,包括:根据预设的剪枝率和所述当前层中滤波器的数量,确定需要剪枝的滤波器的数量;对所述当前层的各滤波器按照所述重要性得分从高到低进行排序,剪去所述当前层的所述重要性得分最低的/>个滤波器。在对目标模型进行剪枝时,对于目标模型的各层,分别根据预设的剪枝率和当前层中滤波器的数量进行剪枝,保证每一层的剪枝都是科学的,最大程度地确保剪枝后的模型的性能不会显著下降。
在一些可选的实施例中,在所述得到所述目标模型的轻量化模型之后,所述方法还包括:使用预设的微调训练数据,基于预设的初始学习率,对所述目标模型的轻量化模型进行微调训练,直至达到预设的微调训练迭代次数,得到微调后的轻量化模型。在对目标模型进行剪枝得到轻量化模型后,还可以对轻量化模型进行微调迭代训练,使得轻量化模型获得更好的性能,提升轻量化模型的有效性。
附图说明
一个或多个实施例通过与之对应的附图中的图片进行示例性说明,这些示例性说明并不构成对实施例的限定。
图1是本申请的一个实施例提供的一种卷积神经网络的剪枝方法的流程图;
图2是本申请的一个实施例中,根据当前滤波器对应的展平后的特征图,计算当前滤波器的内部特征活跃度的流程图;
图3是本申请的另一个实施例提供的一种卷积神经网络的剪枝装置的结构示意图。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合附图对本申请的各实施例进行详细的阐述。然而,本领域的普通技术人员可以理解,在本申请各实施例中,为了使读者更好地理解本申请而提出了许多技术细节。但是,即使没有这些技术细节和基于以下各实施例的种种变化和修改,也可以实现本申请所要求保护的技术方案。以下各个实施例的划分是为了描述方便,不应对本申请的具体实现方式构成任何限定,各个实施例在不矛盾的前提下可以相互结合相互引用。
本申请的一个实施例提出了一种卷积神经网络的剪枝方法,应用于处理器,下面对本实施例提出的一种卷积神经网络的剪枝方法的实现细节进行具体的说明,以下内容仅为方便理解提供的实现细节,并非实施本方案的必须。
本实施例提出的一种卷积神经网络的剪枝方法的具体流程可以如图1所示,包括:
步骤101,将样本数据输入至目标模型中,逐层逐滤波器地执行卷积操作,得到目标模型的各层的各滤波器输出的特征图。
在具体实现中,目标模型是基于卷积神经网络构建的模型,也就是需要进行剪枝的卷积神经网络,目标模型共包含层,每一层中各自设置有若干个用于表征卷积核的滤波器,可以认为滤波器就是卷积核,不同层中设置的滤波器的数量可以相同也可以不同。在对目标模型进行剪枝之前,预先搜集用于剪枝的样本数据集(样本图片集),将样本数据集中的样本数据输入至目标模型中,逐层逐滤波器地执行卷积操作,得到目标模型的各层的各滤波器输出的特征图。
在一个例子中,假设目标模型的某一层为第层,第/>层中设置有/>个滤波器,那么目标模型的第/>层输出的特征图集合可以记为/>,/>,其中,/>和/>分别表示目标模型的第/>层中设置的滤波器输出的特征图的高和宽。
在一个例子中,对目标模型进行剪枝时,用于实施的计算机硬件环境使用因特睿Xeon Gold 6240R 2.4GHZ服务器、英伟达GeForce RTX 3090显卡、编程语言使用python,深度学习框架使用pytorch框架。
在一个例子中,目标模型为预训练的VGGNet-16模型,对于VGGNet-16模型,样本数据集选用CIFAR-10数据集,CIFAR-10数据集共包含10个类别的60000张彩色图片。
在一个例子中,目标模型为预训练的ResNet-50模型,对于ResNet-50模型,样本数据集选用ImageNet-2012数据集,ImageNet-2012数据集涵盖了1000个类别,总共包含了数百万张图片。
步骤102,遍历目标模型的各层的各滤波器,将当前滤波器输出的特征图展平,根据当前滤波器对应的展平后的特征图,计算当前滤波器的内部特征活跃度。
在具体实现中,处理器获得目标模型的各层的各滤波器输出的特征图后,可以遍历目标模型的各层的各滤波器,即逐层逐滤波器地遍历,将当前滤波器输出的特征图展平,即将当前滤波器输出的特征图表示为一维向量。处理器引入内部活跃性选择器思想,根据当前滤波器对应的展平后的特征图,计算当前滤波器的内部特征活跃度。
在一个例子中,处理器可以计算当前滤波器对应的展平后的特征图的信息量,将当前滤波器对应的展平后的特征图的信息量作为当前滤波器的内部特征活跃度。
在一个例子中,处理器根据当前滤波器对应的展平后的特征图,计算当前滤波器的内部特征活跃度,可以通过如图2所示的各步骤实现,具体包括:
步骤1021,基于当前滤波器对应的展平后的特征图中的各像素,计算当前滤波器对应的展平后的特征图的特征向量均值。
在具体实现中,处理器基于当前滤波器对应的展平后的特征图中的各像素,计算当前滤波器对应的展平后的特征图的特征向量均值,可以通过以下公式实现:
式中,表示当前滤波器对应的展平后的特征图中的第/>个像素,当前滤波器对应的展平后的特征图共包含/>个像素,/>和/>分别表示当前滤波器对应的展平后的特征图的高和宽,/>表示当前滤波器属于目标模型的第/>层,/>表示输入的样本数据所属的样本批次,/>表示当前滤波器对应的展平后的特征图的特征向量均值。
步骤1022,基于当前滤波器对应的展平后的特征图的各像素和特征向量均值,计算当前滤波器对应的展平后的特征图的平均标准差,并将平均标准差作为当前滤波器的内部特征活跃度。
在具体实现中,使用当前滤波器对应的展平后的特征图的平均标准差作为当前滤波器的内部特征活跃度,可以很好地反映当前滤波器内部的信息量,可以很好地从当前滤波器自身出发来衡量当前滤波器的重要性。
在一个例子中,处理器基于当前滤波器对应的展平后的特征图的各像素和特征向量均值,计算当前滤波器对应的展平后的特征图的平均标准差,并将平均标准差作为当前滤波器的内部特征活跃度,可以通过以下公式实现:
式中,表示当前滤波器对应的展平后的特征图,即目标模型的第/>层的第/>个滤波器对应的展平后的特征图,/>表示样本批次的总数,/>表示当前滤波器对应的展平后的特征图的平均标准差,即当前滤波器的内部特征活跃度。
步骤103,基于闵氏距离,计算当前层的各滤波器对应的展平后的特征图两两之间的特征差异度,并根据当前滤波器对应的展平后的特征图与当前滤波器同一层的其他滤波器对应的展平后的特征图之间的特征差异度,确定当前滤波器的替代性得分。
在具体实现中,处理器在计算出当前滤波器的内部特征活跃度之后,还引入了滤波器间替代性选择器思想,即基于闵氏距离,计算当前层的各滤波器对应的展平后的特征图两两之间的特征差异度,并根据当前滤波器对应的展平后的特征图与当前滤波器同一层的其他滤波器对应的展平后的特征图之间的特征差异度,确定当前滤波器的替代性得分。
在一个例子中,处理器基于闵氏距离,计算当前层的各滤波器对应的展平后的特征图两两之间的特征差异度,可以通过以下公式实现:
其中,假设当前层为目标模型的第层,/>表示当前层的第/>个滤波器对应的展平后的特征图,/>表示当前层的第/>个滤波器对应的展平后的特征图,/>表示当前层的第个滤波器对应的展平后的特征图中的第/>个像素,/>表示当前层的第/>个滤波器对应的展平后的特征图中的第/>个像素,/>表示预设的距离度量阶数,/>表示第/>个滤波器对应的展平后的特征图与第/>个滤波器对应的展平后的特征图之间的特征差异度。值得注意的是,当/>时,闵氏距离等同于曼哈顿距离,当/>时,闵氏距离等同于欧几里得距离。
在一个例子中,处理器根据当前滤波器对应的展平后的特征图与当前滤波器同一层的其他滤波器对应的展平后的特征图之间的特征差异度,确定当前滤波器的替代性得分,可以通过以下公式实现:
其中,表示当前滤波器同一层的其他滤波器对应的展平后的特征图,/>表示当前滤波器对应的展平后的特征图与当前滤波器同一层的其他滤波器对应的展平后的特征图之间的特征差异度,/>表示当前滤波器的替代性得分。
步骤104,基于当前滤波器的内部特征活跃度和替代性得分,确定当前滤波器的重要性得分,并根据预设的剪枝率和当前层的各滤波器的重要性得分,对当前层进行剪枝。
在具体实现中,处理器确定当前滤波器的内部特征活跃度和替代性得分之后,可以基于当前滤波器的内部特征活跃度和替代性得分,确定当前滤波器的重要性得分,即对当前滤波器的内部特征活跃度和替代性得分进行加权融合,确定当前滤波器的重要性得分。处理器确定出当前层的各滤波器的重要性得分后,可以根据预设的剪枝率和目标模型的当前层的各滤波器的重要性得分,对目标模型的当前层进行剪枝。
在一个例子中,处理器基于当前滤波器的内部特征活跃度和替代性得分,确定当前滤波器的重要性得分,可以通过以下公式实现:
式中,表示当前滤波器,即表示目标模型的第/>层的第/>个滤波器,/>表示预设的平衡因子,/>一般取值为0.4,/>表示当前滤波器的内部特征活跃度,/>表示当前滤波器的替代性得分,/>表示当前滤波器的重要性得分。
在一个例子中,处理器在确定出目标模型的当前层的各滤波器的重要性得分后,可以根据预设的剪枝率和当前层中滤波器的数量/>,确定需要剪枝的滤波器的数量/>,。处理器在确定需要剪枝的滤波器的数量/>后,可以对当前层的各滤波器按照重要性得分从高到低进行排序,剪去当前层的重要性得分最低的/>个滤波器。在对目标模型进行剪枝时,对于目标模型的各层,分别根据预设的剪枝率和当前层中滤波器的数量进行剪枝,保证每一层的剪枝都是科学的,最大程度地确保剪枝后的模型的性能不会显著下降。
步骤105,在完成对目标模型的各层的剪枝后,得到目标模型的轻量化模型。
在具体实现中,处理器在完成对目标模型的各层的剪枝后,即可得到目标模型的轻量化模型,从而降低模型的计算负担。
在一个例子中,处理器在得到目标模型的轻量化模型之后,还需要使用预设的微调训练数据,基于预设的初始学习率,对目标模型的轻量化模型进行微调训练,直至达到预设的微调训练迭代次数,得到微调后的轻量化模型。在对目标模型进行剪枝得到轻量化模型后,对轻量化模型进行微调迭代训练,能够使得轻量化模型获得更好的性能,提升轻量化模型的有效性。
在一个例子中,剪枝后的VGGNet-16模型可以进行300个迭代次数的微调训练,剪枝后的ResNet-50模型可以进行180个迭代次数的微调训练。
在一个例子中,使用本申请提出的一种卷积神经网络的剪枝方法,剪枝后的VGGNet-16模型在CIFAR-10数据集上成功减少了76.4%的浮点计算量,同时提升了模型精度0.01%,剪枝后的ResNet-50模型在ImageNet-2012数据集上成功减少了49.7%的浮点计算量同时将模型精度提升了0.28%,这很好地说明了本申请提出的一种卷积神经网络的剪枝方法的可行性和有效性。
本实施例,在给定目标模型的情况下,处理器通过卷积操作获取目标模型的各层的各滤波器输出的特征图,引入内部活跃性选择器思想和滤波器间替代性选择器思想,分别计算各滤波器对应的内部特征活跃度和替代性得分,综合内部特征活跃度和替代性得分确定各滤波器的重要性得分,根据重要性得分对不重要的滤波器进行剪枝去除,生成目标模型的轻量化模型。考虑到业内较成熟的剪枝技术忽略了滤波器自身的信息量以及滤波器之间特征的相互关系,未能全面评估卷积神经网络的整体信息结构,因此本申请不仅仅从单一视角挖掘滤波器的冗余度,而是全面地考虑了滤波器内部信息的丰富性以及滤波器之间的可替代性,从而综合考量滤波器的重要性,移除不重要的滤波器,从而实现对卷积神经网络的科学剪枝,降低模型的计算负担,实现模型的轻量化,同时确保剪枝后的模型的性能不会显著下降。
上面各种方法的步骤划分,只是为了描述清楚,实现时可以合并为一个步骤或者对某些步骤进行拆分,分解为多个步骤,只要包括相同的逻辑关系,都在本专利的保护范围内;对算法中或者流程中添加无关紧要的修改或者引入无关紧要的设计,但不改变其算法和流程的核心设计都在该专利的保护范围内。
本申请的另一个实施例提出了一种卷积神经网络的剪枝装置,下面对本实施例提出的一种卷积神经网络的剪枝装置的实现细节进行具体的说明,以下内容仅为方便理解提供的实现细节,并非实施本方案的必须。
本实施例提出的一种卷积神经网络的剪枝装置的示意图可以如图3所示,包括:卷积操作执行模块201、滤波器内部活跃性选择器202、滤波器间替代性选择器203、重要性得分计算模块204和剪枝执行模块205。
卷积操作执行模块201用于将样本数据输入至目标模型中,逐层逐滤波器地执行卷积操作,得到目标模型的各层的各滤波器输出的特征图;其中,目标模型是基于卷积神经网络构建的模型,滤波器用于表征卷积核。
滤波器内部活跃性选择器202用于遍历目标模型的各层的各滤波器,将当前滤波器输出的特征图展平,根据当前滤波器对应的展平后的特征图,计算当前滤波器的内部特征活跃度。
滤波器间替代性选择器203用于基于闵氏距离,计算当前层的各滤波器对应的展平后的特征图两两之间的特征差异度,并根据当前滤波器对应的展平后的特征图与当前滤波器同一层的其他滤波器对应的展平后的特征图之间的特征差异度,确定当前滤波器的替代性得分。
重要性得分计算模块204用于基于当前滤波器的内部特征活跃度和替代性得分,确定当前滤波器的重要性得分。
剪枝执行模块205用于根据预设的剪枝率和当前层的各滤波器的重要性得分,对当前层进行剪枝,并在完成对目标模型的各层的剪枝后,得到目标模型的轻量化模型。
本领域的普通技术人员可以理解,上述各实施例是实现本申请的具体实施例,而在实际应用中,可以在形式上和细节上对其作各种改变,而不偏离本申请的精神和范围。
Claims (8)
1.一种卷积神经网络的剪枝方法,其特征在于,包括:
将样本数据输入至目标模型中,逐层逐滤波器地执行卷积操作,得到所述目标模型的各层的各滤波器输出的特征图;其中,所述目标模型是基于卷积神经网络构建的模型,所述滤波器用于表征卷积核;
遍历所述目标模型的各层的各滤波器,将当前滤波器输出的特征图展平,根据所述当前滤波器对应的展平后的特征图,计算所述当前滤波器的内部特征活跃度;
基于闵氏距离,计算当前层的各滤波器对应的展平后的特征图两两之间的特征差异度,并根据所述当前滤波器对应的展平后的特征图与所述当前滤波器同一层的其他滤波器对应的展平后的特征图之间的特征差异度,确定所述当前滤波器的替代性得分;
基于所述当前滤波器的内部特征活跃度和替代性得分,确定所述当前滤波器的重要性得分,并根据预设的剪枝率和所述当前层的各滤波器的重要性得分,对所述当前层进行剪枝;
在完成对所述目标模型的各层的剪枝后,得到所述目标模型的轻量化模型。
2.根据权利要求1所述的一种卷积神经网络的剪枝方法,其特征在于,所述根据所述当前滤波器对应的展平后的特征图,计算所述当前滤波器的内部特征活跃度,包括:
基于所述当前滤波器对应的展平后的特征图中的各像素,计算所述当前滤波器对应的展平后的特征图的特征向量均值;
基于所述当前滤波器对应的展平后的特征图的各像素和所述特征向量均值,计算所述当前滤波器对应的展平后的特征图的平均标准差,并将所述平均标准差作为所述当前滤波器的内部特征活跃度。
3.根据权利要求2所述的一种卷积神经网络的剪枝方法,其特征在于,所述基于所述当前滤波器对应的展平后的特征图中的各像素,计算所述当前滤波器对应的展平后的特征图的特征向量均值,通过以下公式实现:
其中,表示所述当前滤波器对应的展平后的特征图中的第/>个像素,/>和/>分别表示所述当前滤波器对应的展平后的特征图的高和宽,/>表示所述当前滤波器属于所述目标模型的第/>层,/>表示所述样本数据所属的样本批次,/>表示所述当前滤波器对应的展平后的特征图的特征向量均值;
所述基于所述当前滤波器对应的展平后的特征图的各像素和所述特征向量均值,计算所述当前滤波器对应的展平后的特征图的平均标准差,并将所述平均标准差作为所述当前滤波器的内部特征活跃度,通过以下公式实现:
其中,表示所述当前滤波器对应的展平后的特征图,即所述目标模型的第/>层的第/>个滤波器对应的展平后的特征图,/>表示所述样本批次的总数,/>表示所述当前滤波器对应的展平后的特征图的平均标准差,即所述当前滤波器的内部特征活跃度。
4.根据权利要求3所述的一种卷积神经网络的剪枝方法,其特征在于,所述基于闵氏距离,计算当前层的各滤波器对应的展平后的特征图两两之间的特征差异度,通过以下公式实现:
其中,假设当前层为所述目标模型的第层,/>表示所述当前层的第/>个滤波器对应的展平后的特征图,/>表示所述当前层的第/>个滤波器对应的展平后的特征图,/>表示所述当前层的第/>个滤波器对应的展平后的特征图中的第/>个像素,/>表示所述当前层的第/>个滤波器对应的展平后的特征图中的第/>个像素,/>表示预设的距离度量阶数,/>表示所述第/>个滤波器对应的展平后的特征图与所述第/>个滤波器对应的展平后的特征图之间的特征差异度;
所述根据所述当前滤波器对应的展平后的特征图与所述当前滤波器同一层的其他滤波器对应的展平后的特征图之间的特征差异度,确定所述当前滤波器的替代性得分,通过以下公式实现:
其中,表示所述其他滤波器对应的展平后的特征图,/>表示所述当前滤波器对应的展平后的特征图与所述当前滤波器同一层的其他滤波器对应的展平后的特征图之间的特征差异度,/>表示所述当前滤波器的替代性得分。
5.根据权利要求4所述的一种卷积神经网络的剪枝方法,其特征在于,所述基于所述当前滤波器的内部特征活跃度和替代性得分,确定所述当前滤波器的重要性得分,通过以下公式实现:
其中,表示所述当前滤波器,即所述目标模型的第/>层的第/>个滤波器,/>表示预设的平衡因子,/>表示所述当前滤波器的内部特征活跃度,/>表示所述当前滤波器的替代性得分,/>表示所述当前滤波器的重要性得分。
6.根据权利要求1至5中任一项所述的一种卷积神经网络的剪枝方法,其特征在于,所述根据预设的剪枝率和所述当前层的各滤波器的重要性得分,对所述当前层进行剪枝,包括:
根据预设的剪枝率和所述当前层中滤波器的数量,确定需要剪枝的滤波器的数量;
对所述当前层的各滤波器按照所述重要性得分从高到低进行排序,剪去所述当前层的所述重要性得分最低的个滤波器。
7.根据权利要求1至5中任一项所述的一种卷积神经网络的剪枝方法,其特征在于,在所述得到所述目标模型的轻量化模型之后,所述方法还包括:
使用预设的微调训练数据,基于预设的初始学习率,对所述目标模型的轻量化模型进行微调训练,直至达到预设的微调训练迭代次数,得到微调后的轻量化模型。
8.一种卷积神经网络的剪枝装置,其特征在于,包括:卷积操作执行模块、滤波器内部活跃性选择器、滤波器间替代性选择器、重要性得分计算模块和剪枝执行模块;
所述卷积操作执行模块用于将样本数据输入至目标模型中,逐层逐滤波器地执行卷积操作,得到所述目标模型的各层的各滤波器输出的特征图;其中,所述目标模型是基于卷积神经网络构建的模型,所述滤波器用于表征卷积核;
所述滤波器内部活跃性选择器用于遍历所述目标模型的各层的各滤波器,将当前滤波器输出的特征图展平,根据所述当前滤波器对应的展平后的特征图,计算所述当前滤波器的内部特征活跃度;
所述滤波器间替代性选择器用于基于闵氏距离,计算当前层的各滤波器对应的展平后的特征图两两之间的特征差异度,并根据所述当前滤波器对应的展平后的特征图与所述当前滤波器同一层的其他滤波器对应的展平后的特征图之间的特征差异度,确定所述当前滤波器的替代性得分;
所述重要性得分计算模块用于基于所述当前滤波器的内部特征活跃度和替代性得分,确定所述当前滤波器的重要性得分;
所述剪枝执行模块用于根据预设的剪枝率和所述当前层的各滤波器的重要性得分,对所述当前层进行剪枝,并在完成对所述目标模型的各层的剪枝后,得到所述目标模型的轻量化模型。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410239962.6A CN117829241B (zh) | 2024-03-04 | 2024-03-04 | 一种卷积神经网络的剪枝方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410239962.6A CN117829241B (zh) | 2024-03-04 | 2024-03-04 | 一种卷积神经网络的剪枝方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN117829241A true CN117829241A (zh) | 2024-04-05 |
CN117829241B CN117829241B (zh) | 2024-06-07 |
Family
ID=90523231
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202410239962.6A Active CN117829241B (zh) | 2024-03-04 | 2024-03-04 | 一种卷积神经网络的剪枝方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117829241B (zh) |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108846445A (zh) * | 2018-06-26 | 2018-11-20 | 清华大学 | 一种基于相似性学习的卷积神经网络滤波器剪枝技术 |
CN109858613A (zh) * | 2019-01-22 | 2019-06-07 | 鹏城实验室 | 一种深度神经网络的压缩方法、系统及终端设备 |
CN110232436A (zh) * | 2019-05-08 | 2019-09-13 | 华为技术有限公司 | 卷积神经网络的修剪方法、装置及存储介质 |
CN113240085A (zh) * | 2021-05-12 | 2021-08-10 | 平安科技(深圳)有限公司 | 模型剪枝方法、装置、设备及存储介质 |
CN114154626A (zh) * | 2021-12-14 | 2022-03-08 | 中国人民解放军国防科技大学 | 基于滤波器权重综合评估的深度神经网络滤波器剪枝方法 |
CN114330714A (zh) * | 2022-03-08 | 2022-04-12 | 北京环境特性研究所 | 卷积神经网络剪枝优化方法、装置、电子设备及存储介质 |
EP4026058A1 (de) * | 2019-09-04 | 2022-07-13 | Volkswagen Aktiengesellschaft | Verfahren zum komprimieren eines neuronalen netzes |
CN117217281A (zh) * | 2023-09-18 | 2023-12-12 | 华中科技大学 | 基于多视角特征的卷积神经网络轻量化剪枝方法及系统 |
-
2024
- 2024-03-04 CN CN202410239962.6A patent/CN117829241B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108846445A (zh) * | 2018-06-26 | 2018-11-20 | 清华大学 | 一种基于相似性学习的卷积神经网络滤波器剪枝技术 |
CN109858613A (zh) * | 2019-01-22 | 2019-06-07 | 鹏城实验室 | 一种深度神经网络的压缩方法、系统及终端设备 |
CN110232436A (zh) * | 2019-05-08 | 2019-09-13 | 华为技术有限公司 | 卷积神经网络的修剪方法、装置及存储介质 |
EP4026058A1 (de) * | 2019-09-04 | 2022-07-13 | Volkswagen Aktiengesellschaft | Verfahren zum komprimieren eines neuronalen netzes |
CN113240085A (zh) * | 2021-05-12 | 2021-08-10 | 平安科技(深圳)有限公司 | 模型剪枝方法、装置、设备及存储介质 |
CN114154626A (zh) * | 2021-12-14 | 2022-03-08 | 中国人民解放军国防科技大学 | 基于滤波器权重综合评估的深度神经网络滤波器剪枝方法 |
CN114330714A (zh) * | 2022-03-08 | 2022-04-12 | 北京环境特性研究所 | 卷积神经网络剪枝优化方法、装置、电子设备及存储介质 |
CN117217281A (zh) * | 2023-09-18 | 2023-12-12 | 华中科技大学 | 基于多视角特征的卷积神经网络轻量化剪枝方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN117829241B (zh) | 2024-06-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109344921B (zh) | 一种基于深度神经网络模型的图像识别方法、装置及设备 | |
CN110263673B (zh) | 面部表情识别方法、装置、计算机设备及存储介质 | |
CN109584209B (zh) | 血管壁斑块识别设备、系统、方法及存储介质 | |
EP2880596B1 (en) | System and method for reduced incremental spectral clustering | |
CN110148157B (zh) | 画面目标跟踪方法、装置、存储介质及电子设备 | |
US9147265B2 (en) | System and method for rapid cluster analysis of hyperspectral images | |
CN109035172B (zh) | 一种基于深度学习的非局部均值超声图像去噪方法 | |
CN109948794A (zh) | 神经网络结构化剪枝方法、剪枝装置和电子设备 | |
CN110321943B (zh) | 基于半监督深度学习的ct图像分类方法、系统、装置 | |
CN109753996B (zh) | 基于三维轻量化深度网络的高光谱图像分类方法 | |
CN114445715A (zh) | 一种基于卷积神经网络的农作物病害识别方法 | |
CN116453096A (zh) | 图像异物检测方法、装置、电子设备和存储介质 | |
CN114092794A (zh) | 一种海冰图像分类方法、系统、介质、设备及处理终端 | |
CN116129189A (zh) | 一种植物病害识别方法、设备、存储介质及装置 | |
CN113177956B (zh) | 一种面向无人机遥感影像的语义分割方法 | |
CN113780550A (zh) | 一种量化特征图相似度的卷积神经网络剪枝方法及装置 | |
CN117829241B (zh) | 一种卷积神经网络的剪枝方法 | |
CN117671673A (zh) | 一种基于自适应张量子空间的小样本宫颈细胞分类方法 | |
CN111104965A (zh) | 车辆目标识别的方法及装置 | |
CN112949614B (zh) | 一种自动分配候选区域的人脸检测方法及装置和电子设备 | |
CN112508958B (zh) | 一种轻量多尺度的生物医学图像分割方法 | |
CN111833284B (zh) | 一种基于低秩分解和卷积稀疏编码的多源图像融合的方法 | |
CN118194955B (zh) | 一种基于残差能量度量的卷积神经网络通道剪枝方法 | |
CN116311086B (zh) | 植物监测方法、植物监测模型的训练方法、装置及设备 | |
CN118097313B (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 |