一种基于图像频率响应的结构化剪枝方法技术

技术编号:32547908 阅读:12 留言:0更新日期:2022-03-05 11:46
本发明专利技术公开了一种基于图像频率响应的结构化剪枝方法,首先训练深度神经网络获取预训练模型,然后获取数据集中图像不同频率分量,再对不同频率分量做重要性排序;根据预训练模型中不同通道对重要频率的响应大小进行剪枝操作,最后对模型进行微调。本发明专利技术从频域角度出发考虑剪枝问题,剪枝的依据是各个滤波器本身的频率特性以及对不同频率的响应,适用于大多数常见的深度神经网络。多数常见的深度神经网络。多数常见的深度神经网络。

【技术实现步骤摘要】
一种基于图像频率响应的结构化剪枝方法


[0001]本专利技术涉及模型压缩领域,通过使用基于图像频率响应的结构化剪枝方法对常见的深度卷积神经网络进行剪枝来实现模型的压缩。
技术背景
[0002]如今深度学习已成为机器学习中最主流的分支之一。它广泛地运用在各个领域。但是对于部署深度神经网络(DNN)来说,有个很大的困难就是模型的计算量大、计算成本大,导致不能把网络很好的部署在IoT设备上。这很大程度上阻碍了基于深度学习方法的产品化,尤其是在一些边缘设备上。因为边缘设备大多不是为计算密集任务设计的,所以这些设备的运算能力和内存一般都不足以为简单部署上去的深度神经网络提供支持。如果简单的把深度神经网络部署上去,则功耗、时延等可能都会成为很大的问题。即使是在服务端,更多的计算也会直接导致成本的增加。对于实际应用来说,我们往往希望得到一个内存消耗更小、计算量更小,而性能依然优秀的深度神经网络。
[0003]我们通常把简化模型来减少计算量和存储占用的方法称为模型压缩。本文涉及的剪枝方法就是模型压缩的一种分支。对于过参数化的深度卷积神经网络,剪枝最核心的问题就是如何有效地裁剪模型且最小化精度的损失。为此我们需要根据网络特性设计相关规则,来有选择性的对网络中参数进行剪枝操作。通过剪枝操作,我们可以使深度卷积神经网络训练时间更少、运行速度更快,为其部署在移动设备及其他嵌入式设备上的应用提供了更广泛的可能。
[0004]从深度卷积神经网络剪枝的粒度来说,可以分为结构化剪枝和非结构化剪枝两类。早期的一些剪枝方法是基于非结构化的,它裁剪的粒度为单个权重。如果对深度神经网络中的卷积核进行非结构化剪枝,则得到的卷积核是稀疏的,即中间有很多元素为0的矩阵。除非下层的硬件和计算库对其有比较好的支持,剪枝后的版本很难获得实质的性能提升。稀疏矩阵无法利用现有成熟的BLAS库获得额外性能收益。因此,这几年的研究很多是集中在结构化剪枝上。结构化剪枝的裁剪粒度比非结构化剪枝的裁剪粒度大,通常可以是通道维度的,也可以是卷积核维度的,甚至可以是层维度的。如果对深度神经网络中的参数进行通道维度的结构化剪枝,则得到的深度卷积神经网络的某一层的输入输出通道数会相应减少。相比于非结构化剪枝,结构化剪枝不需要额外的底层库支持,进行完剪枝操作的模型,计算量和存储占用都会显著减少。
[0005]通过对一般图像进行傅里叶变换,我们可以观察到其频谱图中包含各种频率,但是不同频率的幅值会有不同。比如一张图像可能会包含幅值较大的低频信息和幅值较小的高频信息。在深度卷积神经网络中,网络对图像的卷积操作其实就是滤波操作,我们可以把网络中的卷积核看做是滤波器。不同滤波器的特性一般不同。如果把低频信息输入到一个高通滤波器中,得到的频率响应就会很小。

技术实现思路

[0006]针对现有技术中存在的不足,本专利技术提出一种基于图像频率响应的结构化剪枝方法。该方法可以有效的对深度神经网络进行结构化剪枝。本专利技术可以有效克服深度神经网络部署难的问题,为各种深度学习项目进行落地提供保障。
[0007]下面,将详细结合算法对本专利进行阐述。
[0008]一种基于图像频率响应的结构化剪枝方法,步骤如下:
[0009]步骤一:训练深度神经网络获取预训练模型。
[0010]根据具体任务要求,在不同的数据集上训练不同的模型。将得到的预训练模型进行参数保存。
[0011]步骤二:获取数据集中图像不同频率分量。
[0012]对原始图像进行一次预处理,先对图像进行傅里叶变换,通过对频谱图进行掩膜操作,得到图像的不同频率分量。再对得到的图像的不同频率分量进行傅里叶反变换,得到对应的预处理后的图像。
[0013]步骤三;对不同频率分量做重要性排序。
[0014]将预处理后的图像分别输入预训练模型进行推断,根据最终得到的分类任务的准确性进行排序。准确性越高说明该频率分量越重要。
[0015]步骤四:根据预训练模型中不同通道对重要频率的响应大小进行剪枝操作。
[0016]步骤五:对模型进行微调。
[0017]对剪枝好的模型进行少量周期的微调,恢复其精准度。
[0018]进一步的,步骤四具体方法如下:
[0019]对原始图像再进行一次预处理,这次保留图像中除最不重要的频率分量(步骤三中准确率最低的频率分量)以外的所有频率,并图像输入到网络中进行推断。进行反向传播获得每个通道的梯度。对各通道的梯度大小进行排序。该通道梯度越大,说明该通道越不重要。根据各通道变化大小的排序得出各通道的重要性排序。根据剪枝率,保留相对重要的通道,除去相对不重要的通道。
[0020]本专利技术有益效果如下:
[0021]1.从频域角度出发考虑剪枝问题。
[0022]2.是一种数据无关的剪枝方法,剪枝的依据是各个滤波器本身的频率特性以及对不同频率的响应。
[0023]3.适用于大多数常见的深度神经网络。
附图说明
[0024]图1为本专利技术实施例掩膜操作示意图;
[0025]图2为本专利技术实施例网络剪枝流程图。
具体实施方式
[0026]以下结合附图与实施例对本专利技术方法进行进一步描述。
[0027]为方便理解,我们以VGG16卷积神经网络在CIFAR

10数据集上的剪枝任务进行说明。任务的剪枝率为10%。图2为本专利技术实施例网络剪枝流程图。
[0028]一种基于图像频率响应的结构化剪枝方法,步骤如下:
[0029]步骤一:训练深度神经网络获取预训练模型。
[0030]我们在CIFAR

10上训练VGG16网络300个周期获得预训练模型。
[0031]步骤二:获取数据集中图像不同频率分量。
[0032]对CIFAR

10数据集中图像进行一次预处理。先对图像进行傅里叶变换,通过对频谱图进行掩膜操作(如图1所示),得到图像的不同频率分量。通过把这些不同频率分量进行傅里叶反变换,我们得到对应的预处理后的图像。在这个例子中,对于CIFAR

10数据集中的每一张图像,通过对频谱图进行掩膜操作,我们把图像的频谱以中心点为圆心分成宽度相同的四个频段,再把这四个频段用傅里叶反变换得到对应的四张图像。
[0033]步骤三:对不同频率分量做重要性排序。
[0034]将预处理后的图像分别输入预训练模型进行推断,根据最终得到的分类任务的准确性进行排序。准确性越高说明该频率分量越重要。
[0035]步骤四:根据网络中不同通道对重要频率的响应大小进行剪枝操作。
[0036]对CIFAR

10数据集中图像再进行一次预处理。这次我们保留图像中除最不重要的频率分量(步骤三中使准确率最低的频率分量)以外的所有频率,并将图像输入到网络中进行推断。进行反向传播获得每个通道的梯度。对各通道的梯度大小进行排序。该通道梯度越大,说明该通道越不重要。根据各通道变化大本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于图像频率响应的结构化剪枝方法,其特征在于,步骤如下:步骤一:训练深度神经网络获取预训练模型;根据具体任务要求,在不同的数据集上训练不同的模型;将得到的预训练模型进行参数保存;步骤二:获取数据集中图像不同频率分量;对原始图像进行一次预处理,先对图像进行傅里叶变换,通过对频谱图进行掩膜操作,得到图像的不同频率分量;再对得到的图像的不同频率分量进行傅里叶反变换,得到对应的预处理后的图像;步骤三;对不同频率分量做重要性排序;将预处理后的图像分别输入预训练模型进行推断,根据最终得到的分类任务的准确性进行排序;准确性越高说明该频率分量越重要;...

【专利技术属性】
技术研发人员:颜成钢彭熠凡孙垚棋张继勇张勇东
申请(专利权)人:杭州电子科技大学
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1