CN110969240A - 一种深度卷积神经网络的剪枝方法、装置、设备及介质 - Google Patents

一种深度卷积神经网络的剪枝方法、装置、设备及介质 Download PDF

Info

Publication number
CN110969240A
CN110969240A CN201911115521.0A CN201911115521A CN110969240A CN 110969240 A CN110969240 A CN 110969240A CN 201911115521 A CN201911115521 A CN 201911115521A CN 110969240 A CN110969240 A CN 110969240A
Authority
CN
China
Prior art keywords
convolutional neural
neural network
pruning
deep convolutional
filter
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
Application number
CN201911115521.0A
Other languages
English (en)
Other versions
CN110969240B (zh
Inventor
刘理
刘凌志
黄亮
钟辉
马宁宁
许柯
王东
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Lingchuan Technology Co.,Ltd.
Original Assignee
Reach Best Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Reach Best Technology Co Ltd filed Critical Reach Best Technology Co Ltd
Priority to CN201911115521.0A priority Critical patent/CN110969240B/zh
Publication of CN110969240A publication Critical patent/CN110969240A/zh
Application granted granted Critical
Publication of CN110969240B publication Critical patent/CN110969240B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks

Abstract

本公开关于一种深度卷积神经网络的剪枝方法、装置、设备及介质,用以在提高剪枝准确度的同时,减少对深度卷积神经网络剪枝的计算量,优化深度卷积神经网络模型结构。本公开的深度卷积神经网络的剪枝方法,包括:利用预先训练的深度卷积神经网络对样本数据进行识别,确定深度卷积神经网络内每层网络中各个滤波器的性能参数,样本数据用于记录采集到的待识别对象的对象特征;根据预设剪枝率及深度卷积神经网络内各个滤波器的性能参数,确定深度卷积神经网络的剪枝参数;在深度卷积神经网络中,根据各滤波器的性能参数与剪枝参数,去除不符合预设条件的滤波器与上层网络和下层网络之间的联系。

Description

一种深度卷积神经网络的剪枝方法、装置、设备及介质
技术领域
本公开涉及神经网络领域,尤其涉及一种深度卷积神经网络的剪枝方法、装置、设备及介质。
背景技术
卷积神经网络在计算机视觉、自然语言处理和机器人技术等诸多应用领域都具有优异性能。卷积神经网络计算量大,并且占用内存资源也多,若在嵌入式系统上部署卷积神经网络,会受到计算资源和功耗预算的限制。目前,有多种去除无关权重压缩卷积神经网络模型的方法,例如,模型量化、低阶因子分解、知识提炼和剪枝方法。相关技术中,常用的剪枝方法是全局剪枝,具体来说:全局剪枝是指设置一个整体的剪枝率,并且每一层都是在剪枝过程中通过动态调整得到的,如此以来,由于剪枝率在卷积层之间的分布不均匀,若设置一个非常高的剪枝率时,全局剪枝方法会完全剪掉某一特定层的所有滤波器,造成剪枝准确度较差。为避免此问题,相关技术中通过手动设置每一层的剪枝率,避免剪枝不平衡,但这种方法需要丰富的先验知识,并需要花费大量的时间进行重复试验来找到合适的每一层的剪枝率,计算量较大。
发明内容
本公开提供一种深度卷积神经网络的剪枝方法、装置、设备及介质,用以在提高剪枝准确度的同时,减少对深度卷积神经网络剪枝的计算量,优化深度卷积神经网络模型结构。
第一方面,本公开实施例提供一种深度卷积神经网络的剪枝方法,包括:
利用预先训练的深度卷积神经网络对样本数据进行识别,确定深度卷积神经网络内每层网络中各个滤波器的性能参数,其中,滤波器的性能参数用于表征深度卷积神经网络中有该滤波器和无该滤波器两种情况下对样本数据的识别结果的差异,样本数据用于记录采集到的待识别对象的对象特征;
根据预设剪枝率及深度卷积神经网络内各个滤波器的性能参数,确定深度卷积神经网络的剪枝参数;
在深度卷积神经网络中,根据各滤波器的性能参数与剪枝参数,去除不符合预设条件的滤波器与上层网络和下层网络之间的联系。
在一种可能的实施方式中,本公开实施例提供的上述深度卷积神经网络的剪枝方法,根据各滤波器的性能参数与剪枝参数,去除不符合预设条件的滤波器与上层网络和下层网络之间的联系,包括:
去除性能参数小于剪枝参数的滤波器与上层网络和下层网络之间的联系。
在一种可能的实施方式中,本公开实施例提供的上述深度卷积神经网络的剪枝方法,根据预设剪枝率及深度卷积神经网络内各个滤波器的性能参数,确定深度卷积神经网络的剪枝参数,包括:
对深度卷积神经网络内所有滤波器的性能参数排序,并根据预设剪枝率和排序结果,确定深度卷积神经网络的剪枝参数。
在一种可能的实施方式中,本公开实施例提供的上述深度卷积神经网络的剪枝方法,去除不符合预设条件的滤波器与上层网络和下层网络之间的联系,包括:
将深度卷积神经网络中,性能参数小于剪枝参数的滤波器的掩膜设置为0,其它滤波器的掩膜设置为1。
在一种可能的实施方式中,本公开实施例提供的上述深度卷积神经网络的剪枝方法,确定深度卷积神经网络内每层网络中各个滤波器的性能参数,包括:
针对每层网络中的每个滤波器:
基于该滤波器的梯度向量和滤波矩阵,确定该滤波器单次迭代的性能因子;
对每层网络中所有滤波器单次迭代的性能因子进行归一化处理;
将该滤波器多次迭代的归一化处理后的性能因子的累加和作为该滤波器的性能参数。
第二方面,本公开实施例提供一种深度卷积神经网络的剪枝装置,包括:
性能参数确定单元,被配置为执行利用预先训练的深度卷积神经网络对样本数据进行识别,确定深度卷积神经网络内每层网络中各个滤波器的性能参数,其中,滤波器的性能参数用于表征深度卷积神经网络中有该滤波器和无该滤波器两种情况下对样本数据的识别结果的差异,样本数据用于记录采集到的待识别对象的对象特征;
剪枝参数确定单元,被配置为执行根据预设剪枝率及深度卷积神经网络内各个滤波器的性能参数,确定深度卷积神经网络的剪枝参数;
处理单元,被配置为执行在深度卷积神经网络中,根据各滤波器的性能参数与剪枝参数,去除不符合预设条件的滤波器与上层网络和下层网络之间的联系。
在一种可能的实施方式中,本公开实施例提供的上述深度卷积神经网络的剪枝装置,处理单元,具体被配置为执行:
去除性能参数小于剪枝参数的滤波器与上层网络和下层网络之间的联系。
在一种可能的实施方式中,本公开实施例提供的上述深度卷积神经网络的剪枝装置中,剪枝参数确定单元具体被配置为执行:
对深度卷积神经网络内所有滤波器的性能参数排序,并根据预设剪枝率和排序结果,确定深度卷积神经网络的剪枝参数。
在一种可能的实施方式中,本公开实施例提供的上述深度卷积神经网络的剪枝装置中,处理单元具体被配置为执行:
将深度卷积神经网络中,性能参数小于剪枝参数的滤波器的掩膜设置为0,其它滤波器的掩膜设置为1。
在一种可能的实施方式中,本公开实施例提供的上述深度卷积神经网络的剪枝装置中,性能参数确定单元,具体被配置为执行:
针对每层网络中的每个滤波器:
基于该滤波器的梯度向量和滤波矩阵,确定该滤波器单次迭代的性能因子;
对每层网络中所有滤波器单次迭代的性能因子进行归一化处理;
将该滤波器多次迭代的归一化处理后的性能因子的累加和作为该滤波器的性能参数。
第三方面,本公开实施例提供一种深度卷积神经网络的剪枝设备,包括:
处理器;
用于存储处理器可执行指令的存储器;
其中,处理器被配置为执行指令,以实现第一方面中任一项的深度卷积神经网络的剪枝方法。
第四方面,本公开实施例提供一种计算机可读存储介质,当存储介质中的指令由深度卷积神经网络的剪枝设备的执行器执行时,使得深度卷积神经网络的剪枝设备能够执行如第一方面中任一项的深度卷积神经网络的剪枝方法。
本公开的实施例提供的技术方案至少带来以下有益效果:
利用预先训练的深度卷积神经网络对预先采集的样本数据进行识别,确定深度卷积神经网络内每层网络中各个滤波器的性能参数,对深度卷积神经网络内所有滤波器的性能参数排序,并根据预设剪枝率及排序的结果,确定剪枝参数,在深度卷积神经网络中,去除性能参数小于剪枝参数的滤波器与上层网络和下层网络之间的连接关系,实现确定出各个滤波器在深度卷积神经网络中的显著性或重要性,剪断显著性差的滤波器与其他层网络间连接,提高剪枝准确度,并且无需重复试验确定每层网络的剪枝率,减少了剪枝深度卷积神经网络的计算量,优化了深度卷积神经网络模型结构。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理,并不构成对本公开的不当限定。
图1是根据一示例性实施例示出的一种深度卷积神经网络的剪枝方法的示意流程图。
图2是根据一示例性实施例示出的一种深度卷积神经网络的剪枝方法的具体流程的示意流程图。
图3是根据一示例性实施例示出的一种深度卷积神经网络的剪枝装置的结构示意图。
图4是根据一示例性实施例示出的一种深度卷积神经网络的剪枝设备结构示意图。
图5是根据一示例性实施例示出的一种应用深度卷积神经网络的剪枝方法的终端的结构示意图。
具体实施方式
为了使本领域普通人员更好地理解本公开的技术方案,下面将结合附图,对本公开实施例中的技术方案进行清楚、完整地描述。
需要说明的是,本公开的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本公开的实施例能够以除了在这里图示或描述的那些以外的顺序实施。以下示例性实施例中所描述的实施方式并不代表与本公开相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本公开的一些方面相一致的装置和方法的例子。
在实际应用中,剪枝方法能够在神经网络中去除不必要的连接,从本质上来说,剪枝方法是通过直接减少非零权值(参数)的数量来降低网络复杂度。剪枝方法,分为硬剪枝方法、软剪枝方法、全局剪枝方法和局部剪枝方法。硬剪枝方法在训练过程中手动关闭剪枝参数的梯度更新,软剪枝方法是在训练过程中对剪枝后的滤波器进行更新(重新覆盖)。全局剪枝是指设置一个整体的剪枝率,并且每一层都是在剪枝过程中通过动态调整得到的,局部剪枝是指每层设置单独的剪枝率。
本公开实施例中使用的训练集样本记为
Figure BDA0002273928420000061
Figure BDA0002273928420000062
其中Xi和Yi表示一个输入和对应的输出。深度卷积神经网络中滤波器集合为
Figure BDA0002273928420000063
其中,
Figure BDA0002273928420000064
1≤l≤L,1≤n≤Nl,Cl表示网络中第l个卷积层通道的数量,L表示网络层数,Nl表示网络中第l层滤波器的标号,输入深度卷积神经网络中样本的大小为K×K。在训练的过程中,梯度可以用
Figure BDA0002273928420000065
每一个滤波器的性能因子表示为
Figure BDA0002273928420000066
可以根据全局剪枝率
Figure BDA0002273928420000067
以及性能因子排序,确定每一个滤波器的掩膜值,将掩膜记为
Figure BDA0002273928420000068
掩膜值由0和1组成。剪枝后的卷积滤波器记为
Figure BDA0002273928420000069
在剪枝过程中,用更为稀疏、规则的参数代替初始网络参数,实现减少计算量的同时,兼顾精度,因此可将此过程视为
Figure BDA00022739284200000610
Figure BDA00022739284200000611
其中
Figure BDA00022739284200000612
表示目标网络丧失的功能。可以将神经网络的剪枝问题转化为满足约束条件为
Figure BDA00022739284200000613
Figure BDA00022739284200000614
最小值的问题,其中
Figure BDA00022739284200000615
Figure BDA00022739284200000616
中被剪枝掉的滤波器数量(掩膜值为0的滤波器是数量)。可见,解决问题的关键是为滤波器找到合适的掩膜值。因此需要设置剪枝策略,用于评价滤波器在神经网络中的重要性。
图1是根据一示例性实施例示出的一种深度卷积神经网络的剪枝方法的示意流程图,如图1所示,深度卷积神经网络的剪枝方法,包括以下步骤:
在步骤S11中,利用预先训练的深度卷积神经网络对样本数据进行识别,确定深度卷积神经网络内每层网络中各个滤波器的性能参数,其中,滤波器的性能参数用于表征深度卷积神经网络中有该滤波器和无该滤波器两种情况下对样本数据的识别结果的差异,样本数据用于记录采集到的待识别对象的对象特征。
具体实施时,样本数据中记录有采集到的待识别对象的对象特征,例如,待识别对象为图像时,样本数据记录有图像特征或者像素特征,又如,待识别对象为文本时,样本数据记录有文本特征,再如,待识别对象为参数时,样本数据记录有参数特征,本公开实施例对待识别对象的实际应用场景,不做具体限定。需要说明的是,本公开实施例提供的剪枝方法,可应用于各类深度卷积神经网络,本公开实施例对此不做限定。
样本数据可记为
Figure BDA0002273928420000071
预先训练的深度卷积神经网络中滤波器为
Figure BDA0002273928420000072
全局剪枝率为
Figure BDA0002273928420000073
还可以设置学习效率为η,一期训练的迭代次数iteration为I,采集的样本数据可以是图片χ,χ输入深度卷积神经网络模型后的输出记为y,χ输入深度卷积神经网络模型后,对其进行识别。
将数据样本输入深度卷积神经网络进行训练后,可以确定每层网络中每个滤波器的性能参数
Figure BDA0002273928420000074
(其中,l为网络层数,n为滤波器的标号),可以根据滤波器的性能参数,性能参数可以表征深度卷积神经网络中有该滤波器和无该滤波器两种情况下对样本数据的识别结果的差异,换句话说,通过性能参数可以确定滤波器在深度卷积神经网络中的重要程度或者贡献。
在一个示例中,确定深度卷积神经网络内每层网络中每个滤波器的性能参数时,可以基于每个滤波器的梯度向量和滤波矩阵,确定深度卷积神经网络内每层网络中每个滤波器单次迭代的性能因子;
对每层网络中所有滤波器单次迭代的性能因子进行归一化处理;
对每个滤波器多次迭代的归一化处理后的性能因子累加,得到每个滤波器的性能参数。
具体实施时,在训练过程中,滤波器
Figure BDA0002273928420000075
(其中,l为网络层数,n为滤波器的标号)基于与其对应的梯度向量
Figure BDA0002273928420000076
和滤波器矩阵
Figure BDA0002273928420000077
单次迭代的性能因子,并对单次迭代的性能因子进行归一化处理,归一化结果为
Figure BDA0002273928420000078
其中,i表示第i次迭代,
Figure BDA0002273928420000079
可以通过公式(1)计算。
Figure BDA0002273928420000081
其中,
Figure BDA0002273928420000082
可以通过公式(2)计算,
Figure BDA0002273928420000083
可以通过公式(3)计算(单次迭代的性能因子为
Figure BDA0002273928420000084
Figure BDA0002273928420000085
Figure BDA0002273928420000086
可以在一期训练结束时,总迭代次数为I,求滤波器
Figure BDA0002273928420000087
每次迭代的归一化处理后的性能因子
Figure BDA0002273928420000088
的累加和,可以通过公式(4)计算,该累加和作为滤波器
Figure BDA0002273928420000089
的性能参数
Figure BDA00022739284200000810
Figure BDA00022739284200000811
一种可能的实施方式中,若深度卷积神经网络经过剪枝后,滤波器
Figure BDA00022739284200000812
基于与其对应的梯度向量
Figure BDA00022739284200000813
和滤波器矩阵
Figure BDA00022739284200000814
单次迭代的性能因子,并对单次迭代的性能因子进行归一化处理,归一化结果为
Figure BDA00022739284200000815
其中,i表示第i次迭代,
Figure BDA00022739284200000816
可以通过公式(5)计算。
Figure BDA00022739284200000817
其中,
Figure BDA00022739284200000818
可以通过公式(6)计算,
Figure BDA00022739284200000819
可以通过公式(7)计算(单次迭代的性能因子为
Figure BDA00022739284200000820
Figure BDA00022739284200000821
Figure BDA00022739284200000822
需要说明的是,上述过程考虑了每一层滤波器大小不同,单次迭代的性能因子在每一层中的分布不同,对单次迭代的性能因子归一化处理更能准确地评价滤波器的显著性或重要性,并且滤波器的性能参数为该滤波器的多次迭代的性能因子累加和,兼顾不同训练数据集对性能参数的影响,也即滤波器的性能参数是全数据集上的性能参数,有效避免在多次迭代时,不同批次训练数据集对滤波器显著性影响不均匀导致的误剪枝操作。
例如,全数据集为2万张图片,在一期训练过程中,可以分成若4数据集,每个数据集为5000张图片,分4批输入深度卷积神经网络(也即一期训练过程中进行I=4次迭代),利用上述过程确定的滤波器的性能参数是基于2万张图片。
在步骤S12中,根据预设剪枝率及深度卷积神经网络内各个滤波器的性能参数,确定深度卷积神经网络的剪枝参数。
具体实施时,可以将深度卷积神经网络中的所有滤波器的性能参数放入性能参数集合
Figure BDA0002273928420000091
中,对深度卷积神经网络中的所有滤波器的性能参数排序,也即对性能参数集合中的所有元素排序,排序后的序列记为
Figure BDA0002273928420000092
根据预设剪枝率
Figure BDA0002273928420000099
确定剪枝参数时,若采用升序排序的方法,将排序后的序列中次序为网络中滤波器总数
Figure BDA0002273928420000093
与剪枝率
Figure BDA0002273928420000094
乘积的性能参数,作为剪枝参数
Figure BDA0002273928420000095
例如,网络中滤波器总数为100,剪枝率为0.6,升序排序后
Figure BDA0002273928420000096
中的第60个元素,为剪枝参数。确定剪枝参数时,若采用降序排序的方法,将排序后的序列中次序为网络中滤波器总数与
Figure BDA0002273928420000097
乘积的性能参数元素,作为剪枝参数,例如,网络中滤波器总数为100,剪枝率为0.6,降序排序后
Figure BDA0002273928420000098
中的第40个元素,为剪枝参数。
在步骤S13中,在深度卷积神经网络中,根据各滤波器的性能参数与剪枝参数,去除不符合预设条件的滤波器与上层网络和下层网络之间的联系。
具体实施时,预设条件可以是“保留滤波器的性能参数大于剪枝参数的所有滤波器”,去除不符合预设条件的滤波器,也即在深度卷积神经网络中,去除滤波器的性能参数小于剪枝参数的所有滤波器,与上层网络和下层网络之间的联系,使其不参与计算,使得深度卷积神经网络中不重要或贡献少的滤波器被剪枝,提高剪枝准确度,同时也实现减少剪枝深度卷积神经网络的计算量,不需要重复试验以确定每层网络的剪枝率,优化深度卷积神经网络模型。在剪枝不符合预设条件的滤波器时,还可以在深度卷积神经网络中,删除性能参数小于剪枝参数的滤波器,实现进一步对深度卷积神经网络的优化,减少深度卷积神经网络占用的内存资源。
在一个示例中,使深度卷积神经网络中性能参数小于剪枝参数的滤波器
Figure BDA0002273928420000101
的掩膜
Figure BDA0002273928420000102
为0,其他滤波器的掩膜为1,也即性能参数大于剪枝参数的滤波器的掩膜为1(M为二元掩膜),也即可以通过公式(8)确定滤波器的掩膜。
Figure BDA0002273928420000103
可以通过
Figure BDA0002273928420000104
实现深度卷积神经网络中滤波器的性能参数小于剪枝参数的所有滤波器,与上层网络和下层网络之间的联系。
在实际应用场景中,还可以设置多期训练,例如设置最大训练期数epoch为E,将每期剪枝后的深度卷积神经网络,作为下一期训练时使用的深度卷积神经网络,并循环执行上述步骤S11、步骤S12、步骤S13过程,直至第E期训练过程结束。
图2是根据一示例性实施例示出的一种深度卷积神经网络的剪枝方法的具体流程的示意流程图,如图2所示,深度卷积神经网络的剪枝方法,包括以下步骤:
在步骤S21中,向深度卷积神经网络中输入采集的样本数据、最大训练期数、剪枝率、学习效率、每期训练的迭代次数。
具体实施时,深度卷积神经网络可以是预先训练的深度卷积神经网络,也可以是进剪枝处理过的深度卷积神经网。向深度卷积神经网络中输入预先采集的样本数据
Figure BDA0002273928420000105
时,可以根据输入每期训练的迭代次数I,对样本数据分为若干批次(I次),每个批次的样本数据量为
Figure BDA0002273928420000106
每一次迭代时,输入1批样本数据,最大训练期数E为对样本
Figure BDA0002273928420000107
进行训练的总次数。将学习效率记为η,预设剪枝率记为
Figure BDA0002273928420000108
在步骤S22中,确定深度卷积神经网络中每次迭代时的各个滤波器的归一化处理后的性能因子。
具体实施时,在训练过程中,可以基于滤波器
Figure BDA0002273928420000111
(滤波器
Figure BDA0002273928420000112
为深度卷积神经网络中的任一个滤波器)的梯度向量
Figure BDA0002273928420000113
和滤波器矩阵
Figure BDA0002273928420000114
得到滤波器
Figure BDA0002273928420000115
单次迭代的性能因子,结合滤波器
Figure BDA0002273928420000116
所属第l层网络中的所有滤波器的单次迭代的性能因子,对滤波器
Figure BDA0002273928420000117
的单次迭代的性能因子进行归一化处理,归一化处理后的记过记为
Figure BDA0002273928420000118
其中,i表示第i次迭代,例如可以采用上述公式(1)或公式(5),计算
Figure BDA0002273928420000119
的值,循环执行本步骤,直至迭代结束,(循环执行时本步骤,使i从1开始,每自加1,直至i=I)。
在步骤S23中,在全部迭代结束后,确定深度卷积神经网络中各个滤波器的性能参数。
具体实施时,可以通过求滤波器
Figure BDA00022739284200001110
每次迭代的归一化处理后的性能因子
Figure BDA00022739284200001111
的累加和,确定滤波器
Figure BDA00022739284200001112
的性能参数
Figure BDA00022739284200001113
可以通过上述公式(4)计算各个滤波器的性能参数。
在步骤S24中,确定深度卷积神经网络中各个滤波器的掩膜值。
具体实施时,对深度卷积神经网络内所有滤波器
Figure BDA00022739284200001114
的性能参数排序(例如,升序排序),可以得到深度卷积神经网络的性能参数序列
Figure BDA00022739284200001115
根据剪枝率
Figure BDA00022739284200001123
将序列中次序小于深度卷积神经网络中滤波器总数
Figure BDA00022739284200001116
与剪枝率
Figure BDA00022739284200001117
乘积的滤波器的掩膜值设置为0,其他滤波器的掩膜值设置为1,并生成深度卷积神经网络的滤波器掩膜值集合
Figure BDA00022739284200001118
其中,各元素的次序与滤波器
Figure BDA00022739284200001119
中的次序一致,也即掩膜值集合
Figure BDA00022739284200001120
中元素的次序与滤波器为一一对应关系。
在步骤S25中,在深度卷积神经网络中,去除被剪掉的滤波器与上层网络和下层网络之间的连接关系。
具体实施时,可以通过
Figure BDA00022739284200001121
实现深度卷积神经网络中滤波器的性能参数小于剪枝参数的所有滤波器,与上层网络和下层网络之间的联系,其中
Figure BDA00022739284200001122
为剪枝后的深度卷积神经网络。
执行步骤S22至步骤S25中的过程,为一期训练的过程,可以循环执行步骤S22至步骤S25中的过程,直至第E次训练过程结束,也即深度卷积神经网络每一期训练时进行一次剪枝操作,并将更新深度卷积神经网络。
一个示例中,实施本公开实施例中方法时,采用60000张图片作为训练集训练深度卷积神经网络,并使用10000张图片作为检测集,深度卷积神经网络包括2层卷积,并且两层卷积神经网络为全连接。第一层卷积神经网络由20个滤波器组成,通道数为1,第二层卷积神经网络由50个滤波器组成,通道数为20。如下表1所示,为不同预设剪枝率时,剪枝后滤波器的数量Filters、通道数Channel、每秒浮点运算次数FLOPs、错误率Error,而现有技术1进行相同测试时,剪枝后滤波器的数量为5-19、通道数1-4、每秒浮点运算次数25%-7.6%、错误率0.8%,现有技术2进行相同测试时,剪枝后滤波器的数量为3-12、通道数1-3、每秒浮点运算次数15%-3.6%、错误率1.00%。
Figure BDA0002273928420000121
图3是根据一示例性实施例示出的一种深度卷积神经网络的剪枝装置的结构示意图,如图3所示,该装置包括:性能参数确定单元310,剪枝参数确定单元320,处理单元330。
该性能参数确定单元310,被配置为执行利用预先训练的深度卷积神经网络对样本数据进行识别,确定深度卷积神经网络内每层网络中各个滤波器的性能参数,其中,滤波器的性能参数用于表征深度卷积神经网络中有该滤波器和无该滤波器两种情况下对样本数据的识别结果的差异,样本数据用于记录采集到的待识别对象的对象特征;
该剪枝参数确定单元320,被配置为执行根据预设剪枝率及深度卷积神经网络内各个滤波器的性能参数,确定深度卷积神经网络的剪枝参数;
该处理单元330,被配置为执行在深度卷积神经网络中,根据各滤波器的性能参数与剪枝参数,去除不符合预设条件的滤波器与上层网络和下层网络之间的联系,剪枝不符合预设条件的滤波器。
在一种可能的实施方式中,本公开实施例提供的上述深度卷积神经网络的剪枝装置中,处理单元330,具体被配置为执行:
去除性能参数小于剪枝参数的滤波器与上层网络和下层网络之间的联系。
在一种可能的实施方式中,本公开提供的装置中,剪枝参数确定单元320,具体被配置为执行:
对深度卷积神经网络内所有滤波器的性能参数排序,并根据预设剪枝率和排序结果,确定深度卷积神经网络的剪枝参数。
在一种可能的实施方式中,本公开实施例提供的上述深度卷积神经网络的剪枝装置中,处理单元330,具体被配置为执行:
将深度卷积神经网络中,性能参数小于剪枝参数的滤波器的掩膜设置为0,其它滤波器的掩膜设置为1。
在一种可能的实施方式中,本公开实施例提供的上述深度卷积神经网络的剪枝装置中,性能参数确定单元310,具体被配置为执行:
针对每层网络中的每个滤波器:
基于该滤波器的梯度向量和滤波矩阵,确定该滤波器单次迭代的性能因子;
对每层网络中所有滤波器单次迭代的性能因子进行归一化处理;
将该滤波器多次迭代的归一化处理后的性能因子的累加和作为该滤波器的性能参数。
关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
基于上述本公开实施例相同构思,图4是根据一示例性实施例示出的一种深度卷积神经网络的剪枝设备400的结构示意图,如图4所示,本公开实施例示出的深度卷积神经网络的剪枝设备400,包括:
处理器410;
用于存储处理器410可执行指令的存储器420;
其中,处理器410被配置为执行指令,以实现本公开实施例中深度卷积神经网络的剪枝方法。
在示例性实施例中,还提供了一种包括指令的存储介质,例如包括指令的存储器420,上述指令可由深度卷积神经网络的剪枝设备的处理器410执行以完成上述方法。可选地,存储介质可以是非临时性计算机可读存储介质,例如,非临时性计算机可读存储介质可以是ROM、随机存取存储器(RAM)、CD-ROM、磁带、软盘和光数据存储设备等。
在本公开实施例中,如图5所示,本公开实施例给出一种应用本公开实施例提供的深度卷积神经网络的剪枝方法的终端500,包括:射频(Radio Frequency,RF)电路510、电源520、处理器530、存储器540、输入单元550、显示单元560、摄像头570、通信接口580、以及无线保真(Wireless Fidelity,Wi-Fi)模块590等部件。本领域技术人员可以理解,图5中示出的终端的结构并不构成对终端的限定,本申请实施例提供的终端可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
下面结合图5对终端500的各个构成部件进行具体的介绍:
RF电路510可用于通信或通话过程中,数据的接收和发送。特别地,RF电路510在接收到基站的下行数据后,发送给处理器530处理;另外,将待发送的上行数据发送给基站。通常,RF电路510包括但不限于天线、至少一个放大器、收发信机、耦合器、低噪声放大器(LowNoise Amplifier,LNA)、双工器等。
此外,RF电路510还可以通过无线通信与网络和其他终端通信。无线通信可以使用任一通信标准或协议,包括但不限于全球移动通讯系统(Global System of Mobilecommunication,GSM)、通用分组无线服务(General Packet Radio Service,GPRS)、码分多址(Code Division Multiple Access,CDMA)、宽带码分多址(Wideband Code DivisionMultiple Access,WCDMA)、长期演进(Long Term Evolution,LTE)、电子邮件、短消息服务(Short Messaging Service,SMS)等。
Wi-Fi技术属于短距离无线传输技术,终端500通过Wi-Fi模块590可以连接接入点(Access Point,AP),从而实现数据网络的访问。Wi-Fi模块590可用于通信过程中,数据的接收和发送。
终端500可以通过通信接口580与其他终端实现物理连接。可选的,通信接口580与其他终端的通信接口通过电缆连接,实现终端500和其他终端之间的数据传输。
由于在本申请实施例中,终端500能够实现通信业务,向其他联系人发送信息,因此终端500需要具有数据传输功能,即终端500内部需要包含通信模块。虽然图5示出了RF电路510、Wi-Fi模块590、和通信接口580等通信模块,但是可以理解的是,终端500中存在上述部件中的至少一个或者其他用于实现通信的通信模块(如蓝牙模块),以进行数据传输。
例如,当终端500为手机时,终端500可以包含RF电路510,还可以包含Wi-Fi模块590;当终端500为计算机时,终端500可以包含通信接口580,还可以包含Wi-Fi模块590;当终端500为平板电脑时,终端500可以包含Wi-Fi模块。
存储器540可用于存储软件程序以及模块。处理器530通过运行存储在存储器540的软件程序以及模块,从而执行终端500的各种功能应用以及数据处理,并且当处理器530执行存储器540中的程序代码后,可以实现本公开实施例图1、图2中的部分或全部过程。
可选的,存储器540可以主要包括存储程序区和存储数据区。其中,存储程序区可存储操作系统、各种应用程序(比如通信应用)以及人脸识别模块等;存储数据区可存储根据终端的使用所创建的数据(比如各种图片、视频文件等多媒体文件,以及人脸信息模板)等。
此外,存储器540可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。
输入单元550可用于接收用户输入的数字或字符信息,以及产生与终端500的用户设置以及功能控制有关的键信号输入。
可选的,输入单元550可包括触控面板551以及其他输入终端552。
其中,触控面板551,也称为触摸屏,可收集用户在其上或附近的触摸操作(比如用户使用手指、触笔等任何适合的物体或附件在触控面板551上或在触控面板551附近的操作),并根据预先设定的程式驱动相应的连接装置。可选的,触控面板551可以包括触摸检测装置和触摸控制器两个部分。其中,触摸检测装置检测用户的触摸方位,并检测触摸操作带来的信号,将信号传送给触摸控制器;触摸控制器从触摸检测装置上接收触摸信息,并将它转换成触点坐标,再送给处理器530,并能接收处理器530发来的命令并加以执行。此外,可以采用电阻式、电容式、红外线以及表面声波等多种类型实现触控面板551。
可选的,其他输入终端552可以包括但不限于物理键盘、功能键(比如音量控制按键、开关按键等)、轨迹球、鼠标、操作杆等中的一种或多种。
显示单元560可用于显示由用户输入的信息或提供给用户的信息以及终端500的各种菜单。显示单元560即为终端500的显示系统,用于呈现界面,实现人机交互。
显示单元560可以包括显示面板561。可选的,显示面板561可以采用液晶显示屏(Liquid Crystal Display,LCD)、有机发光二极管(Organic Light-Emitting Diode,OLED)等形式来配置。
进一步的,触控面板551可覆盖显示面板561,当触控面板551检测到在其上或附近的触摸操作后,传送给处理器530以确定触摸事件的类型,随后处理器530根据触摸事件的类型在显示面板561上提供相应的视觉输出。
虽然在图5中,触控面板551与显示面板561是作为两个独立的部件来实现终端500的输入和输入功能,但是在某些实施例中,可以将触控面板551与显示面板561集成而实现终端500的输入和输出功能。
处理器530是终端500的控制中心,利用各种接口和线路连接各个部件,通过运行或执行存储在存储器540内的软件程序和/或模块,以及调用存储在存储器540内的数据,执行终端500的各种功能和处理数据,从而实现基于终端的多种业务。
可选的,处理器530可包括一个或多个处理单元。可选的,处理器530可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器530中。
摄像头570,用于实现终端500的拍摄功能,拍摄图片或视频。摄像头570还可以用于实现终端500的扫描功能,对扫描对象(二维码/条形码)进行扫描。
终端500还包括用于给各个部件供电的电源520(比如电池)。可选的,电源520可以通过电源管理系统与处理器530逻辑相连,从而通过电源管理系统实现管理充电、放电、以及功耗等功能。
需要说明的是,本公开实施例处理器530可以执行图4中处理器410的功能,存储器540存储处理器410中的内容。
另外,在示例性实施例中,本公开还提供了一种存储介质,当存储介质中的指令由上述深度卷积神经网络的剪枝设备的处理器执行时,使得上述深度卷积神经网络的剪枝设备能够实现本公开实施例中的深度卷积神经网络的剪枝方法。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本公开的其它实施方案。本申请旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由下面的权利要求指出。
应当理解的是,本公开并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本公开的范围仅由所附的权利要求来限制。

Claims (10)

1.一种深度卷积神经网络的剪枝方法,其特征在于,所述方法包括:
利用预先训练的深度卷积神经网络对样本数据进行识别,确定所述深度卷积神经网络内每层网络中各个滤波器的性能参数,其中,滤波器的性能参数用于表征所述深度卷积神经网络中有该滤波器和无该滤波器两种情况下对样本数据的识别结果的差异,所述样本数据用于记录采集到的待识别对象的对象特征;
根据预设剪枝率及所述深度卷积神经网络内各个滤波器的性能参数,确定所述深度卷积神经网络的剪枝参数;
在所述深度卷积神经网络中,根据各滤波器的性能参数与所述剪枝参数,去除不符合预设条件的滤波器与上层网络和下层网络之间的联系。
2.根据权利要求1所述的方法,其特征在于,所述根据各滤波器的性能参数与所述剪枝参数,去除不符合预设条件的滤波器与上层网络和下层网络之间的联系,包括:
去除性能参数小于所述剪枝参数的滤波器与上层网络和下层网络之间的联系。
3.根据权利要求1所述的方法,其特征在于,所述根据预设剪枝率及所述深度卷积神经网络内各个滤波器的性能参数,确定所述深度卷积神经网络的剪枝参数,包括:
对所述深度卷积神经网络内所有滤波器的性能参数排序,并根据预设剪枝率和所述排序结果,确定所述深度卷积神经网络的剪枝参数。
4.根据权利要求1所述的方法,其特征在于,所述去除不符合预设条件的滤波器与上层网络和下层网络之间的联系,包括:
将所述深度卷积神经网络中,性能参数小于所述剪枝参数的滤波器的掩膜设置为0,其它滤波器的掩膜设置为1。
5.根据权利要求1所述的方法,其特征在于,所述确定所述深度卷积神经网络内每层网络中各个滤波器的性能参数,包括:
针对每层网络中的每个滤波器:
基于该滤波器的梯度向量和滤波矩阵,确定该滤波器单次迭代的性能因子;
对每层网络中所有滤波器单次迭代的性能因子进行归一化处理;
将该滤波器多次迭代的归一化处理后的性能因子的累加和作为该滤波器的性能参数。
6.一种深度卷积神经网络的剪枝装置,其特征在于,所述装置包括:
性能参数确定单元,被配置为执行利用预先训练的深度卷积神经网络对样本数据进行识别,确定所述深度卷积神经网络内每层网络中各个滤波器的性能参数,其中,滤波器的性能参数用于表征所述深度卷积神经网络中有该滤波器和无该滤波器两种情况下对样本数据的识别结果的差异,所述样本数据用于记录采集到的待识别对象的对象特征;
剪枝参数确定单元,被配置为执行根据预设剪枝率及所述深度卷积神经网络内各个滤波器的性能参数,确定所述深度卷积神经网络的剪枝参数;
处理单元,被配置为执行在所述深度卷积神经网络中,根据各滤波器的性能参数与所述剪枝参数,去除不符合预设条件的滤波器与上层网络和下层网络之间的联系。
7.根据权利要求6所述的装置,其特征在于,所述处理单元,具体被配置为执行:
去除性能参数小于所述剪枝参数的滤波器与上层网络和下层网络之间的联系。
8.根据权利要求6所述的装置,其特征在于,所述剪枝参数确定单元具体被配置为执行:
对所述深度卷积神经网络内所有滤波器的性能参数排序,并根据预设剪枝率和所述排序结果,确定所述深度卷积神经网络的剪枝参数。
9.一种深度卷积神经网络的剪枝设备,其特征在于,包括:
处理器;
用于存储所述处理器可执行指令的存储器;
其中,所述处理器被配置为执行所述指令以实现如权利要求1至5中任一项所述的深度卷积神经网络的剪枝方法。
10.一种存储介质,其特征在于,当所述存储介质中的指令由深度卷积神经网络的剪枝设备的处理器执行时,使得所述深度卷积神经网络的剪枝设备能够执行如权利要求1至5中任一项所述的深度卷积神经网络的剪枝方法。
CN201911115521.0A 2019-11-14 2019-11-14 一种深度卷积神经网络的剪枝方法、装置、设备及介质 Active CN110969240B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201911115521.0A CN110969240B (zh) 2019-11-14 2019-11-14 一种深度卷积神经网络的剪枝方法、装置、设备及介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201911115521.0A CN110969240B (zh) 2019-11-14 2019-11-14 一种深度卷积神经网络的剪枝方法、装置、设备及介质

Publications (2)

Publication Number Publication Date
CN110969240A true CN110969240A (zh) 2020-04-07
CN110969240B CN110969240B (zh) 2022-12-09

Family

ID=70030753

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201911115521.0A Active CN110969240B (zh) 2019-11-14 2019-11-14 一种深度卷积神经网络的剪枝方法、装置、设备及介质

Country Status (1)

Country Link
CN (1) CN110969240B (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111814953A (zh) * 2020-06-16 2020-10-23 上海瀚讯信息技术股份有限公司 一种基于通道剪枝的深度卷积神经网络模型的定位方法
CN113610215A (zh) * 2021-07-09 2021-11-05 北京达佳互联信息技术有限公司 任务处理网络生成、任务处理方法、装置、电子设备及存储介质

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102195866A (zh) * 2010-03-03 2011-09-21 梨花女子大学校产学协力团 利用布隆滤波器的数据包分类方法及数据包分类装置
CN106919942A (zh) * 2017-01-18 2017-07-04 华南理工大学 用于手写汉字识别的深度卷积神经网络的加速压缩方法
CN108764471A (zh) * 2018-05-17 2018-11-06 西安电子科技大学 基于特征冗余分析的神经网络跨层剪枝方法
CN109858613A (zh) * 2019-01-22 2019-06-07 鹏城实验室 一种深度神经网络的压缩方法、系统及终端设备
CN109886397A (zh) * 2019-03-21 2019-06-14 西安交通大学 一种针对卷积层的神经网络结构化剪枝压缩优化方法
CN110163342A (zh) * 2019-04-17 2019-08-23 腾讯科技(深圳)有限公司 一种模型压缩方法、装置、设备及存储介质

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102195866A (zh) * 2010-03-03 2011-09-21 梨花女子大学校产学协力团 利用布隆滤波器的数据包分类方法及数据包分类装置
CN106919942A (zh) * 2017-01-18 2017-07-04 华南理工大学 用于手写汉字识别的深度卷积神经网络的加速压缩方法
CN108764471A (zh) * 2018-05-17 2018-11-06 西安电子科技大学 基于特征冗余分析的神经网络跨层剪枝方法
CN109858613A (zh) * 2019-01-22 2019-06-07 鹏城实验室 一种深度神经网络的压缩方法、系统及终端设备
CN109886397A (zh) * 2019-03-21 2019-06-14 西安交通大学 一种针对卷积层的神经网络结构化剪枝压缩优化方法
CN110163342A (zh) * 2019-04-17 2019-08-23 腾讯科技(深圳)有限公司 一种模型压缩方法、装置、设备及存储介质

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111814953A (zh) * 2020-06-16 2020-10-23 上海瀚讯信息技术股份有限公司 一种基于通道剪枝的深度卷积神经网络模型的定位方法
CN111814953B (zh) * 2020-06-16 2024-02-13 上海瀚讯信息技术股份有限公司 一种基于通道剪枝的深度卷积神经网络模型的定位方法
CN113610215A (zh) * 2021-07-09 2021-11-05 北京达佳互联信息技术有限公司 任务处理网络生成、任务处理方法、装置、电子设备及存储介质
CN113610215B (zh) * 2021-07-09 2022-09-09 北京达佳互联信息技术有限公司 任务处理网络生成、任务处理方法、装置及电子设备

Also Published As

Publication number Publication date
CN110969240B (zh) 2022-12-09

Similar Documents

Publication Publication Date Title
CN107102941B (zh) 一种测试用例的生成方法及装置
CN110163367B (zh) 一种终端部署方法和装置
CN103077718B (zh) 语音处理方法、系统和终端
CN108664957B (zh) 车牌号码匹配方法及装置、字符信息匹配方法及装置
EP3418906A1 (en) Text information processing method and device
CN107547154B (zh) 一种建立视频流量预测模型的方法及装置
CN108230232B (zh) 一种图像处理的方法以及相关装置
CN110163342B (zh) 一种模型压缩方法、装置、设备及存储介质
CN103761968A (zh) 具有并行识别任务的语音识别
JP2023512692A (ja) 作品の推奨方法及びサーバー
CN111294819B (zh) 一种网络优化方法及装置
CN108846767B (zh) 社交群组的特征获取方法及装置
CN111027528A (zh) 语种识别方法、装置、终端设备及计算机可读存储介质
CN110969240B (zh) 一种深度卷积神经网络的剪枝方法、装置、设备及介质
CN109145809A (zh) 一种记谱处理方法和装置以及计算机可读存储介质
CN105447583A (zh) 一种预测用户离网的方法及装置
CN107943571B (zh) 后台应用管控方法、装置、存储介质及电子设备
CN113254862B (zh) 一种流体输出参数预测方法、装置、电子设备及存储介质
CN110334124A (zh) 压缩算法选择方法、装置以及设备
CN110276404B (zh) 模型训练方法、装置及存储介质
CN107728772B (zh) 应用程序的处理方法、装置、存储介质及电子设备
CN107306419A (zh) 一种端到端质量评估方法和装置
CN109429282B (zh) 一种频点配置方法及装置
CN108632054B (zh) 信息传播量的预测方法及装置
CN112948763B (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
TR01 Transfer of patent right

Effective date of registration: 20240404

Address after: Room 101, 7th Floor, Building 11, No.16 West Erqi Road, Haidian District, Beijing, 100085

Patentee after: Beijing Lingchuan Technology Co.,Ltd.

Country or region after: China

Address before: 101d1-7, 1st floor, building 1, No. 6, Shangdi West Road, Haidian District, Beijing 100085

Patentee before: Beijing Dajia Internet Information Technology Co.,Ltd.

Country or region before: China