CN118194955B - 一种基于残差能量度量的卷积神经网络通道剪枝方法 - Google Patents
一种基于残差能量度量的卷积神经网络通道剪枝方法 Download PDFInfo
- Publication number
- CN118194955B CN118194955B CN202410612394.XA CN202410612394A CN118194955B CN 118194955 B CN118194955 B CN 118194955B CN 202410612394 A CN202410612394 A CN 202410612394A CN 118194955 B CN118194955 B CN 118194955B
- Authority
- CN
- China
- Prior art keywords
- convolution kernel
- current
- current convolution
- feature map
- representing
- 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 84
- 238000013527 convolutional neural network Methods 0.000 title claims abstract description 29
- 238000000034 method Methods 0.000 title claims abstract description 22
- 238000005259 measurement Methods 0.000 title claims abstract description 21
- 238000012549 training Methods 0.000 claims description 17
- 238000004364 calculation method Methods 0.000 claims description 14
- 230000007547 defect Effects 0.000 claims description 8
- 238000013528 artificial neural network Methods 0.000 claims description 5
- 238000010586 diagram Methods 0.000 claims description 5
- 230000006835 compression Effects 0.000 abstract description 4
- 238000007906 compression Methods 0.000 abstract description 4
- 244000141353 Prunus domestica Species 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 2
- 230000035945 sensitivity Effects 0.000 description 2
- 230000001131 transforming effect Effects 0.000 description 2
- 241000287196 Asthenes Species 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000013137 model compression technique Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 230000011218 segmentation Effects 0.000 description 1
- 238000004088 simulation Methods 0.000 description 1
- 239000013585 weight reducing agent 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/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/0464—Convolutional networks [CNN, ConvNet]
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
本申请的实施例涉及模型压缩技术领域,特别涉及一种基于残差能量度量的卷积神经网络通道剪枝方法,包括:将样本数据输入至目标模型中,逐层逐卷积核地执行卷积操作,得到目标模型的各层的各卷积核输出的特征图;遍历各卷积核,基于当前卷积核输出的特征图计算当前卷积核的原能量;将当前卷积核输出的特征图依次进行离散余弦变换、高频分量置零和反离散余弦变换,基于变换后的特征图计算当前卷积核的残差能量;基于当前卷积核的原能量和残差能量在本批次中的各样本数据上的差异性,确定重要性得分;根据预设的剪枝率和重要性得分,对目标模型的各层进行剪枝,得到轻量化模型。该方法可以科学地实现模型的轻量化,并确保模型性能不会显著下降。
Description
技术领域
本申请的实施例涉及模型压缩技术领域,特别涉及一种基于残差能量度量的卷积神经网络通道剪枝方法。
背景技术
卷积神经网络在计算机视觉技术领域展现出了巨大的潜力,在分类、检测和分割等任务中有着非常出色的处理性能。然而,随着各种技术和应用场景的“加料”,模型表现出了过参数化的显现,其结构越来越大,越来越复杂,这给模型部署在资源受限的边缘设备上时带来了巨大挑战。因此,模型压缩就显得至关重要。在各种模型压缩技术中,卷积核剪枝(网络剪枝)已经成为一种特别有效的策略,卷积核剪枝凭借其与硬件需求的兼容性引起了相当多的关注,使其成为让模型在资源有限的边缘设备上部署的一个很有前途的解决方案。
目前大量的卷积核剪枝研究主要关注于重要卷积核的识别:公开号为CN113516230A的专利公开了一种基于平均秩重要性排序的自动化卷积神经网络的剪枝方法,通过比较同一层内特征图的平均秩的大小来进行剪枝;公开号为CN116484914A的专利公开了一种基于卷积核输出的特征图相似性的通道重要性判断方法,通过分析一层内所有卷积核输出的特征图的相似性得分来进行剪枝。这些方案都是在单个样本的水平上确定卷积核的重要性,从而达到模型压缩的目的。
然而,上述方案未能解耦不同样本的自身信息对卷积核的影响,导致对卷积核重要性的建模不准确,使得卷积核剪枝不够科学,剪枝后的模型性能变差。
发明内容
本申请的实施例的主要目的在于提出一种基于残差能量度量的卷积神经网络通道剪枝方法,旨在科学地剪枝卷积神经网络,以降低模型的计算负担,实现模型的轻量化,并确保剪枝后的模型性能不会显著下降。
为实现上述目的,本申请的实施例提供了一种基于残差能量度量的卷积神经网络通道剪枝方法,包括以下步骤:将样本数据输入至目标模型中,逐层逐卷积核地执行卷积操作,分别得到所述目标模型的各层的各卷积核输出的特征图;其中,所述目标模型是基于卷积神经网络训练得到的;遍历所述目标模型的各层的各卷积核,基于当前卷积核输出的特征图中各像素点的像素值,计算所述当前卷积核的原能量;将所述当前卷积核输出的特征图进行离散余弦变换,得到频域特征图,将所述频域特征图的高频分量置零后,再进行反离散余弦变换,得到变换后的特征图,基于所述变换后的特征图中各像素点的像素值,计算所述当前卷积核的残差能量;基于所述当前卷积核的原能量和残差能量在本批次中的各样本数据上的差异性,确定所述当前卷积核的重要性得分;根据预设的剪枝率和当前层的各卷积核的重要性得分,对所述当前层进行剪枝,在完成对所述目标模型的各层的剪枝后,得到所述目标模型的轻量化模型。
为实现上述目的,本申请的实施例还提供了一种基于残差能量度量的卷积神经网络通道剪枝系统,所述系统包括:卷积执行模块,用于将样本数据输入至目标模型中,逐层逐卷积核地执行卷积操作,分别得到所述目标模型的各层的各卷积核输出的特征图,其中,所述目标模型是基于卷积神经网络训练得到的;原能量计算模块,用于遍历所述目标模型的各层的各卷积核,基于当前卷积核输出的特征图中各像素点的像素值,计算所述当前卷积核的原能量;残差能量计算模块,用于将所述当前卷积核输出的特征图进行离散余弦变换,得到频域特征图,将所述频域特征图的高频分量置零后,再进行反离散余弦变换,得到变换后的特征图,基于所述变换后的特征图中各像素点的像素值,计算所述当前卷积核的残差能量;重要性得分计算模块,用于根据所述当前卷积核的原能量和残差能量在本批次中的各样本数据上的差异性,确定所述当前卷积核的重要性得分;剪枝执行模块,用于根据预设的剪枝率和当前层的各卷积核的重要性得分,对所述当前层进行剪枝,在完成对所述目标模型的各层的剪枝后,得到所述目标模型的轻量化模型。
本申请的实施例提出的一种基于残差能量度量的卷积神经网络通道剪枝方法,在给定目标模型的情况下,通过卷积操作获取目标模型的各层的各卷积核输出的特征图,引入残差能量度量的思想,分别计算各卷积核在一个批次的样本数据上对应的原能量和残差能量,并在该批次上进行横向比较,以确定原能量差异和残差能量差异,综合考虑原能量差异和残差能量差异来确定各卷积核的重要性得分,根据重要性得分对不重要的卷积核进行剪枝,生成目标模型的轻量化模型。考虑到业内的剪枝技术大多都是在单个样本层面上确定卷积核的重要性,没有考虑不同样本具有不同的语义信息这一特点,未能解耦不同样本的自身信息对卷积核的影响,导致对卷积核重要性的建模不准确,因此采用非常新颖的残差能量度量方式,通过综合考虑卷积核在不同样本上的差异来衡量卷积核的重要性,实现卷积神经网络的高效剪枝,从而达到在保持模型高性能的同时,大量减少模型参数和算力需求。
在一些可选的实施例中,所述基于当前卷积核输出的特征图中各像素点的像素值,计算所述当前卷积核的原能量,包括:基于当前卷积核输出的特征图中各像素点的像素值,计算所述当前卷积核输出的特征图的信息熵,将所述当前卷积核输出的特征图的信息熵作为所述当前卷积核的原能量;所述当前卷积核的原能量,通过公式表示为:
其中,假设所述当前卷积核为所述目标模型的第层的第个卷积核,表示所述目标模型的总层数,表示所述当前卷积核所在层中卷积核的总数,表示所述当前卷积核输出的特征图,表示预设的像素值的范围,表示所述当前卷积核输出的特征图中像素值出现的概率,表示所述当前卷积核的原能量。
在一些可选的实施例中,所述将所述当前卷积核输出的特征图进行离散余弦变换,得到频域特征图,将所述频域特征图的高频分量置零后,再进行反离散余弦变换,得到变换后的特征图,基于所述变换后的特征图中各像素点的像素值,计算所述当前卷积核的残差能量,通过以下公式实现:
其中,假设所述当前卷积核为所述目标模型的第层的第个卷积核,表示所述目标模型的总层数,表示所述当前卷积核所在层中卷积核的总数,表示所述当前卷积核输出的特征图中点处的像素值,所述当前卷积核输出的特征图的尺寸为,表示所述当前卷积核对应的频域特征图中点处的DCT(Discrete CosineTransform,离散余弦变换)系数,表示所述当前卷积核对应的高频分量置零后的频域特征图中点处的DCT系数,表示所述当前卷积核对应的变换后的特征图中点处的像素值,表示所述当前卷积核对应的变换后的特征图,表示预设的像素值的范围,表示所述当前卷积核对应的变换后的特征图中像素值出现的概率,表示所述当前卷积核的残差能量。
在一些可选的实施例中,所述基于所述当前卷积核的原能量和残差能量在本批次中的各样本数据上的差异性,确定所述当前卷积核的重要性得分,包括:根据所述当前卷积核对于本批次中的各样本数据计算出的各原能量,确定所述当前卷积核的原能量在本批次中的各样本数据上的差异性;根据所述当前卷积核对于本批次中的各样本数据计算出的各残差能量,确定所述当前卷积核的残差能量在本批次中的各样本数据上的差异性;基于所述当前卷积核的原能量在本批次中的各样本数据上的差异性,以及所述当前卷积核的残差能量在本批次中的各样本数据上的差异性,确定所述当前卷积核的重要性得分。卷积核的原能量和残差能量在同一批次中的各样本数据上的波动情况,能够很好的反应卷积核对数据的敏感度,从而科学地衡量当前卷积核的重要性。
在一些可选的实施例中,所述基于所述当前卷积核的原能量在本批次中的各样本数据上的差异性,以及所述当前卷积核的残差能量在本批次中的各样本数据上的差异性,确定所述当前卷积核的重要性得分,通过以下公式实现:
其中,表示预设的批大小,即本批次中的样本数据的总数,假设所述当前卷积核为所述目标模型的第层的第个卷积核,表示所述目标模型的总层数,表示所述当前卷积核所在层中卷积核的总数,表示所述当前卷积核针对本批次中的第个样本数据计算出的原能量,表示所述当前卷积核针对本批次中的第个样本数据计算出的原能量,表示所述当前卷积核的原能量在本批次中的各样本数据上的差异性,表示所述当前卷积核针对本批次中的第个样本数据计算出的残差能量,表示所述当前卷积核针对本批次中的第个样本数据计算出的残差能量,表示所述当前卷积核的残差能量在本批次中的各样本数据上的差异性,表示所述当前卷积核的重要性得分。
在一些可选的实施例中,所述根据预设的剪枝率和当前层的各卷积核的重要性得分,对所述当前层进行剪枝,包括:根据预设的剪枝率和所述当前层中卷积核的数量,确定需要剪枝的卷积核的数量;对所述当前层的各卷积核按照所述重要性得分从高到低进行排序,剪去所述当前层的所述重要性得分最低的个卷积核。在对目标模型进行剪枝时,对于目标模型的各层,分别根据预设的剪枝率和当前层中卷积核的数量进行剪枝,保证每一层的剪枝都是科学的,最大程度地确保剪枝后的模型的性能不会显著下降。
在一些可选的实施例中,在所述得到所述目标模型的轻量化模型之后,所述方法还包括:使用预设的微调训练数据,基于预设的初始学习率,对所述目标模型的轻量化模型进行微调训练,直至达到预设的微调训练迭代次数,得到微调后的轻量化模型。在对目标模型进行剪枝得到轻量化模型后,还可以对轻量化模型进行微调迭代训练,使得轻量化模型获得更好的性能,提升轻量化模型的有效性。
附图说明
图1是本申请的一个实施例中提供的一种基于残差能量度量的卷积神经网络通道剪枝方法的流程图;
图2是本申请的另一个实施例中提供的一种基于残差能量度量的卷积神经网络通道剪枝系统的结构示意图。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合附图对本申请的各实施例进行详细的阐述。然而,本领域的普通技术人员可以理解,在本申请各实施例中,为了使读者更好地理解本申请而提出了许多技术细节。但是,即使没有这些技术细节和基于以下各实施例的种种变化和修改,也可以实现本申请所要求保护的技术方案。以下各个实施例的划分是为了描述方便,不应对本申请的具体实现方式构成任何限定,各个实施例在不矛盾的前提下可以相互结合相互引用。
本申请的一个实施例提出了一种基于残差能量度量的卷积神经网络通道剪枝方法,应用于处理器,下面对本实施例提出的一种基于残差能量度量的卷积神经网络通道剪枝方法的实现细节进行具体的说明,以下内容仅为方便理解其实现细节,并非实施本方案的必须。
本实施例提出的一种基于残差能量度量的卷积神经网络通道剪枝方法的具体流程可以如图1所示,包括:
步骤101,将样本数据输入至目标模型中,逐层逐卷积核地执行卷积操作,分别得到目标模型的各层的各卷积核输出的特征图。
在具体实现中,目标模型是预先基于卷积神经网络构建并训练得到的,目标模型就是需要进行剪枝的卷积神经网络,目标模型总共包含层,目标模型的每一层中又各自设置有若干个卷积核,不同层中包含的卷积核的数量存在不同。处理器在对目标模型进行剪枝之前,先收集用于剪枝的样本数据(样本图像)以生成样本数据集(样本图像集)。处理器在对目标模型进行剪枝时,每次将一个批次(设批大小为)的样本数据输入至目标模型中,对于每个样本数据,均逐层逐卷积核地执行卷积操作,分别得到目标模型的各层的各卷积核针对本批次中的各样本数据输出的特征图。
在一个例子中,假设目标模型一共有层,其中的第层中共设置有个卷积核,则目标模型的第层的第个卷积核输出的特征图可以记为。
在一个例子中,目标模型为预训练的VGGNet-16模型,对于VGGNet-16模型,样本数据集选用CIFAR-10数据集,CIFAR-10数据集共包含10个类别的60000张彩色图像。
在一个例子中,目标模型为预训练的ResNet-50模型,对于ResNet-50模型,样本数据集选用ImageNet-2012数据集,ImageNet-2012数据集涵盖了1000个类别,总共包含了数百万张图像。
步骤102,遍历目标模型的各层的各卷积核,基于当前卷积核输出的特征图中各像素点的像素值,计算当前卷积核的原能量。
在具体实现中,处理器在得到目标模型的各层的各卷积核输出的特征图之后,可以遍历目标模型的各层的各卷积核,基于当前卷积核输出的特征图中各像素点的像素值,计算当前卷积核的原能量。
在一个例子中,处理器基于当前卷积核输出的特征图中各像素点的像素值,计算当前卷积核输出的特征图的信息熵,将计算出的当前卷积核输出的特征图的信息熵作为当前卷积核的原能量。
在一个例子中,处理器计算出的当前卷积核的原能量,可以通过公式表示为:
其中,假设当前卷积核为目标模型的第层的第个卷积核,表示目标模型的总层数,表示当前卷积核所在层中卷积核的总数,表示当前卷积核输出的特征图,表示预设的像素值的范围,表示当前卷积核输出的特征图中像素值出现的概率,表示当前卷积核的原能量。对于每一个特征图而言,处理器都假设其像素值的范围为,也就是假设特征图中像素值的取值范围为0到,如果特征图中不存在像素值为的像素点,那么就认为该特征图中像素值出现的概率为0。
步骤103,将当前卷积核输出的特征图进行离散余弦变换,得到频域特征图,将频域特征图的高频分量置零后,再进行反离散余弦变换,得到变换后的特征图,基于变换后的特征图中各像素点的像素值,计算当前卷积核的残差能量。
在具体实现中,处理器在计算当前卷积核的原能量的同时,还需要将当前卷积核输出的特征图进行离散余弦变换,得到频域特征图,之后将频域特征图的高频分量置零后,再进行反离散余弦变换,得到变换后的特征图,最后基于变换后的特征图中各像素点的像素值,计算当前卷积核的残差能量。
在一个例子中,处理器将当前卷积核输出的特征图进行离散余弦变换,得到频域特征图,将频域特征图的高频分量置零后,再进行反离散余弦变换,得到变换后的特征图,基于变换后的特征图中各像素点的像素值,计算当前卷积核的残差能量,可以通过以下公式实现:
其中,假设当前卷积核为目标模型的第层的第个卷积核,表示目标模型的总层数,表示当前卷积核所在层中卷积核的总数,表示当前卷积核输出的特征图中点处的像素值,当前卷积核输出的特征图的尺寸为,表示水平方向的空间频率变量,表示垂直方向的空间频率变量,表示当前卷积核对应的频域特征图中点处的DCT系数,表示当前卷积核对应的高频分量置零后的频域特征图中点处的DCT系数,表示当前卷积核对应的变换后的特征图中点处的像素值,表示当前卷积核对应的变换后的特征图,表示预设的像素值的范围,表示当前卷积核对应的变换后的特征图中像素值出现的概率,表示当前卷积核的残差能量。
步骤104,基于当前卷积核的原能量和残差能量在本批次中的各样本数据上的差异性,确定当前卷积核的重要性得分。
在具体实现中,服务器得到当前卷积核针对本批次中的各样本数据计算得到的各原能量和各残差能量后,可以基于当前卷积核的原能量和残差能量在本批次中的各样本数据上的差异性,确定当前卷积核的重要性得分。卷积核的原能量和残差能量在同一批次中的各样本数据上的波动情况,能够很好的反应卷积核对数据的敏感度,从而科学地衡量当前卷积核的重要性。
在一个例子中,处理器在基于当前卷积核的原能量和残差能量在本批次中的各样本数据上的差异性,确定当前卷积核的重要性得分时,先根据当前卷积核对于本批次中的各样本数据计算出的各原能量,确定当前卷积核的原能量在本批次中的各样本数据上的差异性,再根据当前卷积核对于本批次中的各样本数据计算出的各残差能量,确定当前卷积核的残差能量在本批次中的各样本数据上的差异性,最后基于当前卷积核的原能量在本批次中的各样本数据上的差异性,以及当前卷积核的残差能量在本批次中的各样本数据上的差异性,确定当前卷积核的重要性得分。
在一个例子中,处理器基于当前卷积核的原能量在本批次中的各样本数据上的差异性,以及当前卷积核的残差能量在本批次中的各样本数据上的差异性,确定当前卷积核的重要性得分,可以通过以下公式实现:
其中,表示预设的批大小,即本批次中的样本数据的总数,假设当前卷积核为目标模型的第层的第个卷积核,表示目标模型的总层数,表示当前卷积核所在层中卷积核的总数,表示当前卷积核针对本批次中的第个样本数据计算出的原能量,表示当前卷积核针对本批次中的第个样本数据计算出的原能量,表示当前卷积核的原能量在本批次中的各样本数据上的差异性,表示当前卷积核针对本批次中的第个样本数据计算出的残差能量,表示当前卷积核针对本批次中的第个样本数据计算出的残差能量,表示当前卷积核的残差能量在本批次中的各样本数据上的差异性,表示计算出的当前卷积核的重要性得分。
步骤105,根据预设的剪枝率和当前层的各卷积核的重要性得分,对当前层进行剪枝,在完成对目标模型的各层的剪枝后,得到目标模型的轻量化模型。
在具体实现中,处理器在计算出当前层的各卷积核的重要性得分之后,可以根据预设的剪枝率和当前层的各卷积核的重要性得分,对当前层进行剪枝,在完成对目标模型的各层的剪枝后,得到目标模型的轻量化模型。其中,预设的剪枝率可以由本领域的技术人员根据实际需要进行设置。
在一个例子中,处理器在根据预设的剪枝率和当前层的各卷积核的重要性得分,对当前层进行剪枝时,先根据预设的剪枝率和当前层中卷积核的数量,确定需要剪枝的卷积核的数量,之后对当前层的各卷积核按照重要性得分从高到低进行排序,剪去当前层的重要性得分最低的个卷积核。
值得注意的是,在对目标模型进行剪枝时,对于目标模型的各层,分别根据预设的剪枝率和当前层中卷积核的数量进行剪枝,能够保证每一层的剪枝都是科学的,最大程度地确保剪枝后的模型的性能不会显著下降。
在一个例子中,处理器在得到目标模型的轻量化模型之后,还可以使用预设的微调训练数据,基于预设的初始学习率,对目标模型的轻量化模型进行微调训练,直至达到预设的微调训练迭代次数,得到微调后的轻量化模型。
值得注意的是,在对目标模型进行剪枝得到轻量化模型后对轻量化模型进行微调迭代训练,能够使得轻量化模型获得更好的性能,提升轻量化模型的有效性。
在一个例子中,对于剪枝后的VGGNet-16模型,处理器可以进行300个迭代次数的微调训练,对于剪枝后的ResNet-50模型,处理器可以进行180个迭代次数的微调训练。
本实施例,在给定目标模型的情况下,通过卷积操作获取目标模型的各层的各卷积核输出的特征图,引入残差能量度量的思想,分别计算各卷积核在一个批次的样本数据上对应的原能量和残差能量,并在该批次上进行横向比较,以确定原能量差异和残差能量差异,综合考虑原能量差异和残差能量差异来确定各卷积核的重要性得分,根据重要性得分对不重要的卷积核进行剪枝,生成目标模型的轻量化模型。考虑到业内的剪枝技术大多都是在单个样本层面上确定卷积核的重要性,没有考虑不同样本具有不同的语义信息这一特点,未能解耦不同样本的自身信息对卷积核的影响,导致对卷积核重要性的建模不准确,因此采用非常新颖的残差能量度量方式,通过综合考虑卷积核在不同样本上的差异来衡量卷积核的重要性,实现卷积神经网络的高效剪枝,从而达到在保持模型高性能的同时,大量减少模型参数和算力需求。
本申请的另一个实施例提出了一种基于残差能量度量的卷积神经网络通道剪枝系统,下面对本实施例提出的一种基于残差能量度量的卷积神经网络通道剪枝系统的细节进行具体的说明,以下内容仅为方便理解提供的实现细节,并非实施本例的必须。
本实施例提出的一种基于残差能量度量的卷积神经网络通道剪枝系统的结构示意图可以如图2所示,包括:卷积执行模块201、原能量计算模块202、残差能量计算模块203、重要性得分计算模块204和剪枝执行模块205。
卷积执行模块201,用于将样本数据输入至预先基于卷积神经网络训练得到的目标模型中,逐层逐卷积核地执行卷积操作,分别得到目标模型的各层的各卷积核输出的特征图。
原能量计算模块202,用于遍历目标模型的各层的各卷积核,基于当前卷积核输出的特征图中各像素点的像素值,计算当前卷积核的原能量。
残差能量计算模块203,用于将当前卷积核输出的特征图进行离散余弦变换,得到频域特征图,将频域特征图的高频分量置零后,再进行反离散余弦变换,得到变换后的特征图,基于变换后的特征图中各像素点的像素值,计算当前卷积核的残差能量。
重要性得分计算模块204,用于根据当前卷积核的原能量和残差能量在本批次中的各样本数据上的差异性,确定当前卷积核的重要性得分。
剪枝执行模块205,用于根据预设的剪枝率和当前层的各卷积核的重要性得分,对当前层进行剪枝,在完成对目标模型的各层的剪枝后,得到目标模型的轻量化模型。
不难发现,本实施例为与上述方法实施例对应的系统实施例,本实施例可以与上述方法实施例互相配合实施。上述各实施例中提到的相关技术细节和技术效果在本实施例中依然有效,为了减少重复,这里不再赘述。相应地,本实施例中提到的相关技术细节也可应用在上述实施例中。
值得一提的是,本实施例中所涉及到的各模块均为逻辑模块,在实际应用中,一个逻辑单元可以是一个物理单元,也可以是一个物理单元的一部分,还可以以多个物理单元的组合实现。此外,为了突出本申请的创新部分,本实施例中并没有将与解决本申请所提出的技术问题关系不太密切的单元引入,但这并不表明本实施例中不存在其它的单元。
在另一个实施例中,为了验证本申请提出的一种基于残差能量度量的卷积神经网络通道剪枝方法的有效性,分别使用VGGNet-16模型和ResNet-50模型进行了仿真实验。剪枝后的VGGNet-16模型在CIFAR-10数据集上成功削减了82.9%的参数量,同时保持了和原模型相同的准确率。剪枝后的ResNet-50模型在ImageNet-2012数据集上成功削减了40.8%的参数量,同时将模型准确率提升了0.27%,这很好地说明了本申请提出的一种基于残差能量度量的卷积神经网络通道剪枝方法的可行性和有效性。
本领域的普通技术人员可以理解,上述各实施例是实现本申请的具体实施例,而在实际应用中,可以在形式上和细节上对其作各种改变,而不偏离本申请的精神和范围。
Claims (4)
1.一种基于残差能量度量的卷积神经网络通道剪枝方法,其特征在于,包括:
将样本数据输入至目标模型中,逐层逐卷积核地执行卷积操作,分别得到所述目标模型的各层的各卷积核输出的特征图;其中,所述目标模型是基于卷积神经网络训练得到的;
遍历所述目标模型的各层的各卷积核,基于当前卷积核输出的特征图中各像素点的像素值,计算所述当前卷积核的原能量;
将所述当前卷积核输出的特征图进行离散余弦变换,得到频域特征图,将所述频域特征图的高频分量置零后,再进行反离散余弦变换,得到变换后的特征图,基于所述变换后的特征图中各像素点的像素值,计算所述当前卷积核的残差能量;
基于所述当前卷积核的原能量和残差能量在本批次中的各样本数据上的差异性,确定所述当前卷积核的重要性得分;
根据预设的剪枝率和当前层的各卷积核的重要性得分,对所述当前层进行剪枝,在完成对所述目标模型的各层的剪枝后,得到所述目标模型的轻量化模型;
所述基于当前卷积核输出的特征图中各像素点的像素值,计算所述当前卷积核的原能量,包括:
基于当前卷积核输出的特征图中各像素点的像素值,计算所述当前卷积核输出的特征图的信息熵,将所述当前卷积核输出的特征图的信息熵作为所述当前卷积核的原能量;
所述当前卷积核的原能量,通过公式表示为:
其中,假设所述当前卷积核为所述目标模型的第层的第个卷积核,表示所述目标模型的总层数,表示所述当前卷积核所在层中卷积核的总数,表示所述当前卷积核输出的特征图,表示预设的像素值的范围,表示所述当前卷积核输出的特征图中像素值出现的概率,表示所述当前卷积核的原能量;
所述将所述当前卷积核输出的特征图进行离散余弦变换,得到频域特征图,将所述频域特征图的高频分量置零后,再进行反离散余弦变换,得到变换后的特征图,基于所述变换后的特征图中各像素点的像素值,计算所述当前卷积核的残差能量,通过以下公式实现:
其中,假设所述当前卷积核为所述目标模型的第层的第个卷积核,表示所述目标模型的总层数,表示所述当前卷积核所在层中卷积核的总数,表示所述当前卷积核输出的特征图中点处的像素值,所述当前卷积核输出的特征图的尺寸为,表示所述当前卷积核对应的频域特征图中点处的DCT系数,表示所述当前卷积核对应的高频分量置零后的频域特征图中点处的DCT系数,表示所述当前卷积核对应的变换后的特征图中点处的像素值,表示所述当前卷积核对应的变换后的特征图,表示预设的像素值的范围,表示所述当前卷积核对应的变换后的特征图中像素值出现的概率,表示所述当前卷积核的残差能量;
所述基于所述当前卷积核的原能量和残差能量在本批次中的各样本数据上的差异性,确定所述当前卷积核的重要性得分,包括:
根据所述当前卷积核对于本批次中的各样本数据计算出的各原能量,确定所述当前卷积核的原能量在本批次中的各样本数据上的差异性;
根据所述当前卷积核对于本批次中的各样本数据计算出的各残差能量,确定所述当前卷积核的残差能量在本批次中的各样本数据上的差异性;
基于所述当前卷积核的原能量在本批次中的各样本数据上的差异性,以及所述当前卷积核的残差能量在本批次中的各样本数据上的差异性,确定所述当前卷积核的重要性得分;
所述基于所述当前卷积核的原能量在本批次中的各样本数据上的差异性,以及所述当前卷积核的残差能量在本批次中的各样本数据上的差异性,确定所述当前卷积核的重要性得分,通过以下公式实现:
其中,表示预设的批大小,即本批次中的样本数据的总数,假设所述当前卷积核为所述目标模型的第层的第个卷积核,表示所述目标模型的总层数,表示所述当前卷积核所在层中卷积核的总数,表示所述当前卷积核针对本批次中的第个样本数据计算出的原能量,表示所述当前卷积核针对本批次中的第个样本数据计算出的原能量,表示所述当前卷积核的原能量在本批次中的各样本数据上的差异性,表示所述当前卷积核针对本批次中的第个样本数据计算出的残差能量,表示所述当前卷积核针对本批次中的第个样本数据计算出的残差能量,表示所述当前卷积核的残差能量在本批次中的各样本数据上的差异性,表示所述当前卷积核的重要性得分。
2.根据权利要求1所述的一种基于残差能量度量的卷积神经网络通道剪枝方法,其特征在于,所述根据预设的剪枝率和当前层的各卷积核的重要性得分,对所述当前层进行剪枝,包括:
根据预设的剪枝率和所述当前层中卷积核的数量,确定需要剪枝的卷积核的数量;
对所述当前层的各卷积核按照所述重要性得分从高到低进行排序,剪去所述当前层的所述重要性得分最低的个卷积核。
3.根据权利要求2所述的一种基于残差能量度量的卷积神经网络通道剪枝方法,其特征在于,在所述得到所述目标模型的轻量化模型之后,所述方法还包括:
使用预设的微调训练数据,基于预设的初始学习率,对所述目标模型的轻量化模型进行微调训练,直至达到预设的微调训练迭代次数,得到微调后的轻量化模型。
4.一种基于残差能量度量的卷积神经网络通道剪枝系统,其特征在于,包括:
卷积执行模块,用于将样本数据输入至目标模型中,逐层逐卷积核地执行卷积操作,分别得到所述目标模型的各层的各卷积核输出的特征图,其中,所述目标模型是基于卷积神经网络训练得到的;
原能量计算模块,用于遍历所述目标模型的各层的各卷积核,基于当前卷积核输出的特征图中各像素点的像素值,计算所述当前卷积核的原能量;
残差能量计算模块,用于将所述当前卷积核输出的特征图进行离散余弦变换,得到频域特征图,将所述频域特征图的高频分量置零后,再进行反离散余弦变换,得到变换后的特征图,基于所述变换后的特征图中各像素点的像素值,计算所述当前卷积核的残差能量;
重要性得分计算模块,用于根据所述当前卷积核的原能量和残差能量在本批次中的各样本数据上的差异性,确定所述当前卷积核的重要性得分;
剪枝执行模块,用于根据预设的剪枝率和当前层的各卷积核的重要性得分,对所述当前层进行剪枝,在完成对所述目标模型的各层的剪枝后,得到所述目标模型的轻量化模型;
所述基于当前卷积核输出的特征图中各像素点的像素值,计算所述当前卷积核的原能量,包括:
基于当前卷积核输出的特征图中各像素点的像素值,计算所述当前卷积核输出的特征图的信息熵,将所述当前卷积核输出的特征图的信息熵作为所述当前卷积核的原能量;
所述当前卷积核的原能量,通过公式表示为:
其中,假设所述当前卷积核为所述目标模型的第层的第个卷积核,表示所述目标模型的总层数,表示所述当前卷积核所在层中卷积核的总数,表示所述当前卷积核输出的特征图,表示预设的像素值的范围,表示所述当前卷积核输出的特征图中像素值出现的概率,表示所述当前卷积核的原能量;
所述将所述当前卷积核输出的特征图进行离散余弦变换,得到频域特征图,将所述频域特征图的高频分量置零后,再进行反离散余弦变换,得到变换后的特征图,基于所述变换后的特征图中各像素点的像素值,计算所述当前卷积核的残差能量,通过以下公式实现:
其中,假设所述当前卷积核为所述目标模型的第层的第个卷积核,表示所述目标模型的总层数,表示所述当前卷积核所在层中卷积核的总数,表示所述当前卷积核输出的特征图中点处的像素值,所述当前卷积核输出的特征图的尺寸为,表示所述当前卷积核对应的频域特征图中点处的DCT系数,表示所述当前卷积核对应的高频分量置零后的频域特征图中点处的DCT系数,表示所述当前卷积核对应的变换后的特征图中点处的像素值,表示所述当前卷积核对应的变换后的特征图,表示预设的像素值的范围,表示所述当前卷积核对应的变换后的特征图中像素值出现的概率,表示所述当前卷积核的残差能量;
所述基于所述当前卷积核的原能量和残差能量在本批次中的各样本数据上的差异性,确定所述当前卷积核的重要性得分,包括:
根据所述当前卷积核对于本批次中的各样本数据计算出的各原能量,确定所述当前卷积核的原能量在本批次中的各样本数据上的差异性;
根据所述当前卷积核对于本批次中的各样本数据计算出的各残差能量,确定所述当前卷积核的残差能量在本批次中的各样本数据上的差异性;
基于所述当前卷积核的原能量在本批次中的各样本数据上的差异性,以及所述当前卷积核的残差能量在本批次中的各样本数据上的差异性,确定所述当前卷积核的重要性得分;
所述基于所述当前卷积核的原能量在本批次中的各样本数据上的差异性,以及所述当前卷积核的残差能量在本批次中的各样本数据上的差异性,确定所述当前卷积核的重要性得分,通过以下公式实现:
其中,表示预设的批大小,即本批次中的样本数据的总数,假设所述当前卷积核为所述目标模型的第层的第个卷积核,表示所述目标模型的总层数,表示所述当前卷积核所在层中卷积核的总数,表示所述当前卷积核针对本批次中的第个样本数据计算出的原能量,表示所述当前卷积核针对本批次中的第个样本数据计算出的原能量,表示所述当前卷积核的原能量在本批次中的各样本数据上的差异性,表示所述当前卷积核针对本批次中的第个样本数据计算出的残差能量,表示所述当前卷积核针对本批次中的第个样本数据计算出的残差能量,表示所述当前卷积核的残差能量在本批次中的各样本数据上的差异性,表示所述当前卷积核的重要性得分。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410612394.XA CN118194955B (zh) | 2024-05-17 | 2024-05-17 | 一种基于残差能量度量的卷积神经网络通道剪枝方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410612394.XA CN118194955B (zh) | 2024-05-17 | 2024-05-17 | 一种基于残差能量度量的卷积神经网络通道剪枝方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN118194955A CN118194955A (zh) | 2024-06-14 |
CN118194955B true CN118194955B (zh) | 2024-07-19 |
Family
ID=91402057
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202410612394.XA Active CN118194955B (zh) | 2024-05-17 | 2024-05-17 | 一种基于残差能量度量的卷积神经网络通道剪枝方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN118194955B (zh) |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110119811A (zh) * | 2019-05-15 | 2019-08-13 | 电科瑞达(成都)科技有限公司 | 一种基于熵重要性准则模型的卷积核裁剪方法 |
CN110223273A (zh) * | 2019-05-16 | 2019-09-10 | 天津大学 | 一种结合离散余弦变换与神经网络的图像修复取证方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR102124171B1 (ko) * | 2018-10-01 | 2020-06-17 | 인하대학교 산학협력단 | 엔트로피 기반 신경망(Neural Networks) 가지치기 방법 및 시스템 |
-
2024
- 2024-05-17 CN CN202410612394.XA patent/CN118194955B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110119811A (zh) * | 2019-05-15 | 2019-08-13 | 电科瑞达(成都)科技有限公司 | 一种基于熵重要性准则模型的卷积核裁剪方法 |
CN110223273A (zh) * | 2019-05-16 | 2019-09-10 | 天津大学 | 一种结合离散余弦变换与神经网络的图像修复取证方法 |
Also Published As
Publication number | Publication date |
---|---|
CN118194955A (zh) | 2024-06-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110516596B (zh) | 基于Octave卷积的空谱注意力高光谱图像分类方法 | |
CN111882040B (zh) | 基于通道数量搜索的卷积神经网络压缩方法 | |
CN112001477A (zh) | 一种基于深度学习的目标检测YOLOv3的模型优化算法 | |
US20210073633A1 (en) | Neural network rank optimization device and optimization method | |
CN111985383A (zh) | 基于改进变分模态分解的瞬变电磁信号噪声分离识别方法 | |
CN114913379B (zh) | 基于多任务动态对比学习的遥感图像小样本场景分类方法 | |
CN114387627A (zh) | 基于深度度量学习的小样本无线设备射频指纹识别方法及装置 | |
CN111368900A (zh) | 一种图像目标物识别方法 | |
CN112488304A (zh) | 一种卷积神经网络中的启发式滤波器剪枝方法和系统 | |
CN110956613A (zh) | 基于图像质量的目标检测算法性能归一化评价方法及系统 | |
CN115311502A (zh) | 基于多尺度双流架构的遥感图像小样本场景分类方法 | |
CN112347910A (zh) | 一种基于多模态深度学习的信号指纹识别方法 | |
CN114417942B (zh) | 一种杂波识别方法及系统及装置及介质 | |
CN114943674A (zh) | 瑕疵检测方法、电子装置及存储介质 | |
CN107292855B (zh) | 一种结合自适应非局部样本和低秩的图像去噪方法 | |
CN115761888A (zh) | 基于nl-c3d模型的塔吊操作人员异常行为检测方法 | |
US11507782B2 (en) | Method, device, and program product for determining model compression rate | |
CN113780550A (zh) | 一种量化特征图相似度的卷积神经网络剪枝方法及装置 | |
CN113592008A (zh) | 一种基于自编码器的图神经网络机制解决小样本图像分类的系统、方法、设备及存储介质 | |
CN118194955B (zh) | 一种基于残差能量度量的卷积神经网络通道剪枝方法 | |
CN111428567B (zh) | 一种基于仿射多任务回归的行人跟踪系统及方法 | |
CN116861985A (zh) | 一种基于卷积层相对信息熵的神经网络剪枝子网搜索方法 | |
CN105894029B (zh) | 一种基于费马点求解的自适应运动轨迹数据去噪方法 | |
CN117390515B (zh) | 基于深度学习和SimHash的数据分类方法及系统 | |
CN117829241B (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 |