一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种结合模型评价指标的卷积神经网络混合剪枝方法

2022-07-10 07:24:59 来源:中国专利 TAG:


1.本发明涉及深度学习、计算机应用领域,特别涉及一种结合模型评价指标的卷积神经网络混合剪枝方法。


背景技术:

2.随着深度学习的快速发展,众多的网络结构被提了出来,其中,卷积神经网络(convolutional neural networks,cnn)在各种计算机应用领域中都有着较为出色的表现,但是其仍然有着不容忽视的缺点,即运算量高以及模型大。传统学习理论的观点认为,好的神经网络模型设计应该在模型性能以及模型的复杂程度之间达到良好的权衡。我们在实践的过程中,难以确定恰到好处的平衡点,因此会更倾向于选择过度参数化、有足够表达能力而且易于优化的神经网络模型。虽然神经网络深度和宽度越大,会有着更好的表达能力,但是同时也面临着更多的资源消耗。例如,一个152层的resnet神经网络有超过6000万个参数,在推断分辨率为224
×
224的图像时需要超过20gb的浮点运算量。
3.这仅仅是在科研的层面进行实验与尝试,如果考虑到实际将其移植到嵌入式或者移动设备上,它将会受到占用内存大、高计算量、高能耗等诸多方面的约束。因此,如何在不降低模型精度的情况下将模型进行“瘦身”是一个令人关注的问题。现在比较流行的技术手段包括模型轻量化设计、模型的权重量化、低秩分解、知识蒸馏以及模型剪枝等。在这些技术方法中,模型剪枝已经在各种新兴的应用中展现出它的可实践性、有效性以及高效性。剪枝作为一种后处理模型压缩方案,在不丢失有用信息以及在不严重影响模型性能的前提下,去除神经网络中较弱的连接或者贡献较少的神经元,从而获得更小的模型体积、更少的性能损失以及更快的推理速度。
4.本发明重点关注卷积神经网络中的模型剪枝问题。cn202110449059.9是针对卷积神经网络的压缩任务专门提出的算法,该算法联合层剪枝和通道剪枝作为剪枝方式,能够得到高压缩率的模型并提高模型的推理速度;cn202010148902.5是针对dnns参数过度冗余、计算量大和推理时延大等问题,而提供一种深度神经网络自动择优混合剪枝的压缩方法。可以看出,相较于之前只使用一种剪枝方法对模型进行压缩的技术,结合两种剪枝方法的技术也逐渐被提出,但是现如今大多数在模型剪枝方面的专利公开文献都是以达到设置好的模型压缩率作为唯一目标,并未考虑到模型精度和模型结构。值得肯定的是,这些方法可以实现模型“瘦身”的效果。但真正具有意义的模型,应当同样考虑到模型精度和模型结构。并尽可能实现在模型上损失较低精度的情况下,取得较高的压缩比,这对卷积神经网络的应用,从实用性和精准性方面都具有重要意义。


技术实现要素:

5.本发明为了克服在传统的针对卷积神经网络的剪枝方法中,由于以模型压缩率作为唯一标准,易得到精度不佳以及结构不合理的模型,因此本发明综合层剪枝和滤波器剪枝两种剪枝方法,并考虑了模型精度和模型结构,开发了一种结合模型评价指标的卷积神
经网络混合剪枝方法。
6.本发明实现上述发明目的所采用的技术方案如下:
7.一种结合模型评价指标的卷积神经网络混合剪枝方法,包括以下步骤:
8.s1,针对分类等模式识别任务,将数据集d进行预处理后,定义卷积神经网络模型,对模型进行训练,得到初始模型并设定模型压缩参数;
9.s2,将s1中得到的初始模型的层进行重要性排序,根据设定的模型压缩参数对模型进行层剪枝,得到压缩后的模型
10.s3,将s2中得到的模型的各层滤波器进行重要性排序,并进行滤波器剪枝,得到压缩后的模型
11.s4,使用数据集d对s3所得的模型进行微调训练,得到微调后的模型并对其进行模型评价;
12.s5,纪录并保存评价分数高的模型记为并更改混合剪枝相关参数,所述评价分数根据模型的浮点运算量剪枝率、参数量剪枝率以及剪枝后模型的相对精度计算得到;
13.s6,判断是否达到设定目标,若未达到则重复步骤s2到s6,达到则保存压缩后的模型以及相应的参数信息。
14.进一步的,所述步骤s1中:
15.s1.1:数据集d为面向分类或识别等任务构建的数据集,其可分为训练集、验证集、测试集,其中训练集用于训练模型,验证集和测试集用来验证训练效果和测试模型性能;
16.s1.2:构建的卷积神经网络模型为根据目标任务需要定义的常见cnn模型,其可包含多层卷积层和全连接层;
17.s1.3:设定模型压缩参数,包括压缩系数ρ、迭代次数稀疏因子γ以及评价合格线σ,考虑到模型的结构,此处我们设置了层剪枝的相关系数α和滤波器剪枝的相关系数β,并根据压缩系数ρ和稀疏因子γ确定满足条件的初始相关系数α0和β0的值:
[0018][0019][0020]
其中,α0、β0、q1、q2均为正整数,l为模型的总层数,n
l
表示模型第l层的滤波器个数,n=gcd{n1,n2,...n
l
},q1和q2分别为l和n的因子中满足i=1,2的因子,令α=α0,β=β0;
[0021]
进一步的,所述步骤s2中:
[0022]
s2.1:将初始模型的层进行重要性排序,层重要性的计算公式如下所示:
[0023][0024]
其中l代表模型的第l层,n
l
表示该层的滤波器个数,表示该层全部特征图张量,[layer]
l
表示该层的重要性指标;
[0025]
s2.2:根据设定的模型压缩参数对模型进行层剪枝,根据重要性指标选取指标较大的前个层,得到压缩后的模型
[0026]
进一步的,所述步骤s3中:
[0027]
s3.1:将模型的各层滤波器进行重要性排序,各层滤波器重要性的计算公式如下所示:
[0028][0029]
其中l代表模型的第l层,i表示该层的第i个滤波器,表示该层全部特征图张量,表示该滤波器的重要性指标;
[0030]
s3.2:根据设定的模型压缩参数对模型进行滤波器剪枝,按层选取重要性指标大的滤波器,其中各层保留的滤波器个数为得到压缩后的模型
[0031]
进一步的,所述步骤s4中:
[0032]
s4.1:选取s1.2中的数据集对模型进行微调,得到微调后的模型
[0033]
s4.2:对模型进行模型评价,模型评价指标pr
zl
的计算公式如下所示:
[0034]
pr
zl
=||a1*pr
flops
a2*pr
param
||k ||a3*pr
acc
||kꢀꢀ
(5)
[0035]
其中,pr
flops
和pr
param
表示模型的浮点运算量以及参数量的剪枝率,pr
acc
表示剪枝后模型的相对精度,a1、a2、a3、k为相关系数,评价指标pr
zl
综合了模型压缩率和模型精度两个维度指标;
[0036]
进一步的,所述步骤s5中:
[0037]
s5.1:根据s4.2中得到的评价指标pr
zl
与之前的指标进行比较,保存值较大所对应的模型记为
[0038]
s5.2:更改模型压缩相关系数α和β,其更改规则如下所示:
[0039][0040]
其中,α0和β0为混合剪枝相关系数的初始值,α
temp
和β
temp
为中间变量,表示迭代次数,令α=α
temp
,β=β
temp
,该处理基本确定了剪枝后的模型基本结构;
[0041]
进一步的,所述步骤s6中:
[0042]
s6.1:判断当前的模型是否达到评价要求,将其对应的评价指标pr
zl
与评价合格线σ作比较,若达到评价要求,则保存压缩后的模型以及相应的参数信息,并结束该流程;
[0043]
s6.2:判断当前的迭代轮次是否达到设定的迭代次数若未达到则跳至步骤s2.1。
[0044]
本发明的有益效果为:
[0045]
(1)本发明综合层剪枝和滤波器剪枝这两种剪枝方法,可以在卷积神经网络上实现模型更高的压缩率;
[0046]
(2)本发明相较于传统剪枝方案考虑了模型结构的因素,通过简单设定了两个剪枝相关系数并限定了其取值,基本确定了压缩后的模型结构,避免了结构不合理的模型出现;
[0047]
(3)本发明结合模型压缩率和模型精度两个维度的信息,对压缩后的模型进行了一个评价,使得得到的压缩模型更加合理,在实用性和精准性方面都具有重要意义。
附图说明
[0048]
图1是本发明的结构流程图。
[0049]
图2是本发明实施例中采用的残差网络示意图。
具体实施方式
[0050]
本发明为了考虑在传统基于卷积神经网络的剪枝方法中,由于以模型压缩率作为唯一标准,易得到精度不佳以及结构不合理的模型,因此本发明综合层剪枝和滤波器剪枝两种剪枝方法,并考虑了模型精度和模型结构,开发了一种结合模型评价指标的卷积神经网络混合剪枝方法。下面以电磁信号调制类型识别任务为实施例对本方案做进一步说明。
[0051]
本发明实现上述发明目的所采用的技术方案如下:
[0052]
一种电磁信号调制类型识别的模型剪枝方法,包括以下步骤:
[0053]
s1,获取不同调制类别的电磁信号数据,将数据进行预处理后,定义与信号数据类型相符的卷积神经网络模型,对数据进行训练,得到初始模型并设定相应参数;
[0054]
s2,将s1中得到的初始模型的层进行重要性排序,根据设定的模型压缩参数对模型进行层剪枝,得到压缩后的模型
[0055]
s3,将s2中得到的模型的各层滤波器进行重要性排序,并进行滤波器剪枝,得到压缩后的模型
[0056]
s4,对s3所得的模型进行微调,得到微调后的模型并对其进行模型评价;
[0057]
s5,纪录并保存评价分数高的模型记为并更改压缩参数;
[0058]
s6,判断是否达到设定目标,若未达到则重复步骤s2到s6,达到则进行下一步骤;
[0059]
s7,保存压缩后的模型以及相应的参数信息,并用电磁信号数据进行测试。
[0060]
步骤s1具体包括:
[0061]
s1.1:此处电磁信号数据采取的为公开的信号数据集rml2016.10a,该数据集总共有cpfsk、paw4、8psk、am-dsb、am-ssb、bpsk、gfsk、qam16、qam64、qpsk和wbfm共11种调制类型,每种调制类型中有着从-20db到18db步长为2db的信噪比共20种,每种调制类别中每一种信噪比有1000个样本,共220000个样本,每个信号样本由i通道数据和q通道数据组成,数据结构为(none,2,128);
[0062]
s1.2:将数据集进行预处理,将数据的调制类别作为标签分为11类,并按4:1的比例将原数据集划分为训练集和测试集,其中训练集数据结构为(176000,2,128),测试集数据结构为(44000,2,128);
[0063]
s1.3:在本方法中,构建了卷积神经网络resnet56,并根据信号的特点对resnet56网络进行了更改,在初始层将数据结构变为(none,1,2,128),并设置第一层卷积层卷积核大小为(2,3),残差块的卷积层卷积核大小为(1,3);
[0064]
s1.4:对模型进行训练,得到初始模型
[0065]
s1.5:设定好压缩系数ρ、迭代次数稀疏因子γ以及评价合格线σ,其中ρ∈[0,1],设定初始默认参数γ=0.1,当前迭代轮次并设定初始评价分数sc=0,初始评价合格线σ=100,考虑到模型结构的相关因素,此处我们设置了两个相关系数α和β,并找到满足以下条件的i和j:
[0066][0067][0068]
其中令α=i表示层剪枝的相关系数,令β=j表示滤波器剪枝的相关系数。
[0069]
步骤s2具体包括:
[0070]
s2.1:将初始模型的层进行重要性排序,该层重要性的计算公式如下所示:
[0071][0072]
其中l代表模型的第l层,n
l
表示该层的滤波器个数,表示该层全部特征图张量,[l]
l
表示该层的重要性指标;
[0073]
s2.2:根据设定的模型压缩参数对模型进行层剪枝,按模块选取重要性指标大的层,在resnet56网络我们将整个残差块作为一个层,其中保留的层个数为得到压缩后的模型
[0074]
步骤s3具体包括:
[0075]
s3.1:将模型的各层滤波器进行重要性排序,各层滤波器重要性的计算公式如下所示:
[0076][0077]
其中l代表模型的第l层,i表示该层的第i个滤波器,表示该层全部特征图张量,表示该滤波器的重要性指标;
[0078]
s3.2:根据设定的模型压缩参数对模型进行层剪枝,按层选取重要性指标大的滤波器,其中各层保留的滤波器个数为得到压缩后的模型
[0079]
步骤s4具体包括:
[0080]
s4.1:对模型进行微调,得到微调后的模型同样的我们选取s1.2中的数据集对模型进行训练;
[0081]
s4.2:对模型进行模型评价,模型评价指标pr
zl
的计算公式如下所示:
[0082][0083][0084][0085][0086]
其中c,f,w表示原模型的残差块、滤波器和对应参数,c

,f

,w

为压缩后模型的残差块、滤波器和对应参数,flops()和param()表示对应模型的浮点运算量以及参数量,表示使用训练集τ
train
后的模型在测试集τ
test
的精度;可以看到,我们使用pr
flops
和pr
param
变量来对模型压缩率进行了一个衡量,用pr
acc
对模型精度进行了衡量,评价指标pr
zl
综合了模型压缩率和模型精度两个维度指标。
[0087]
步骤s5具体包括:
[0088]
s5.1:将变量sc与s4.2中得到的评价指标pr
zl
作比较,若pr
zl
较大,则令sc=pr
zl
,并保存该模型记为和其参数信息;
[0089]
s5.2:更改当前迭代轮次并更改模型压缩相关系数α和β,其更改规则如下所示:
[0090][0091]
其中,i和j为混合剪枝相关系数的初始值,α
temp
和β
temp
为中间变量,表示迭代次数,令α=α
temp
,β=β
temp

[0092]
步骤s6具体包括:
[0093]
s6.1:判断当前的模型是否达到评价要求,将变量sc与s1.5中评价合格线σ作比较,若sc较大,则跳至步骤s7.1;
[0094]
s6.2:判断当前的迭代轮次是否达到设定的迭代次数若未达到则跳至步骤s2.1。
[0095]
进一步的,所述步骤s7中:
[0096]
s7.1:保存该压缩后的模型以及相应的参数信息;
[0097]
s7.2:加载模型使用s1.2中测试集数据对模型进行测试。
[0098]
本发明的方法在使用公开数据集rml2016.10a的resnet56模型进行剪枝时,当压缩系数设定为0.2时,混合剪枝后的模型相较于原模型的flops下降55.25%,参数量下降53.87%,而相对精度仅下降0.05%;压缩系数设定为0.4时,混合剪枝后的模型相较于原模型的flops下降72.56%,参数量下降69.06%,相对精度下降0.71%。本发明综合两种剪枝方法,考虑了模型结构和模型精度的因素,可以让模型在损失较低精度的同时实现更高的压缩率。在实际应用中,本方法可以有效减少电磁信号调制识别任务的模型训练时间,并提升识别任务的推理速度。
[0099]
本说明书实施例所述的内容仅仅是对发明构思的实现形式的列举,本发明的保护范围不应当被视为仅限于实施例所陈述的具体形式,本发明的保护范围也及于本领域技术人员根据本发明构思所能够想到的等同技术手段。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献