CN112884149B - 一种基于随机敏感度st-sm的深度神经网络剪枝方法及系统 - Google Patents
一种基于随机敏感度st-sm的深度神经网络剪枝方法及系统 Download PDFInfo
- Publication number
- CN112884149B CN112884149B CN202110294928.5A CN202110294928A CN112884149B CN 112884149 B CN112884149 B CN 112884149B CN 202110294928 A CN202110294928 A CN 202110294928A CN 112884149 B CN112884149 B CN 112884149B
- Authority
- CN
- China
- Prior art keywords
- layer
- weight
- output
- nodes
- pruning
- 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
- 238000000034 method Methods 0.000 title claims abstract description 109
- 238000013138 pruning Methods 0.000 title claims abstract description 96
- 230000035945 sensitivity Effects 0.000 title claims abstract description 51
- 238000013528 artificial neural network Methods 0.000 title claims abstract description 33
- 230000008569 process Effects 0.000 claims abstract description 35
- 238000012549 training Methods 0.000 claims abstract description 33
- 238000003062 neural network model Methods 0.000 claims abstract description 20
- 238000007781 pre-processing Methods 0.000 claims abstract description 9
- 230000015556 catabolic process Effects 0.000 claims abstract description 7
- 238000006731 degradation reaction Methods 0.000 claims abstract description 7
- 239000013598 vector Substances 0.000 claims description 53
- 238000005070 sampling Methods 0.000 claims description 10
- 239000011159 matrix material Substances 0.000 claims description 4
- 238000009827 uniform distribution Methods 0.000 claims description 4
- 244000141353 Prunus domestica Species 0.000 claims description 3
- 238000001514 detection method Methods 0.000 claims description 3
- 238000005259 measurement Methods 0.000 claims 3
- 238000010008 shearing Methods 0.000 claims 1
- 238000006467 substitution reaction Methods 0.000 claims 1
- 230000006835 compression Effects 0.000 description 12
- 238000007906 compression Methods 0.000 description 12
- 230000001133 acceleration Effects 0.000 description 8
- 238000013527 convolutional neural network Methods 0.000 description 8
- 230000000694 effects Effects 0.000 description 6
- 230000006870 function Effects 0.000 description 6
- 230000004913 activation Effects 0.000 description 4
- 238000012217 deletion Methods 0.000 description 3
- 230000037430 deletion Effects 0.000 description 3
- 238000010586 diagram Methods 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 230000009467 reduction Effects 0.000 description 3
- 238000004422 calculation algorithm Methods 0.000 description 2
- 238000004590 computer program Methods 0.000 description 2
- 238000002474 experimental method Methods 0.000 description 2
- 238000010801 machine learning Methods 0.000 description 2
- 238000013473 artificial intelligence Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000000354 decomposition reaction Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 238000013139 quantization Methods 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 230000000946 synaptic effect Effects 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
-
- 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/045—Combinations of networks
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02T—CLIMATE CHANGE MITIGATION TECHNOLOGIES RELATED TO TRANSPORTATION
- Y02T10/00—Road transport of goods or passengers
- Y02T10/10—Internal combustion engine [ICE] based vehicles
- Y02T10/40—Engine management systems
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
本发明公开了一种基于随机敏感度ST‑SM的深度神经网络剪枝方法及系统,利用随机敏感度衡量剪除节点对后继层输出的影响,以此为依据挑选需要剪除的节点,有效减少剪枝过程对网络性能的损害;利用权重补偿重建被剪枝层的节点输出,以减少剪枝过程中的模型性能退化,用训练集样本构造补偿权重需满足的方程组,通过共轭梯度预处理正则方程CGPCNE方法解出补偿权重值,并对剩余节点权重进行补偿;利用重训练改善剪枝后模型的性能,该方法能在维持模型原有性能的前提下,利用剪枝移除深度神经网络中的节点,对深度神经网络模型进行压缩与加速,有效减少模型空间开销,提升运行效率。
Description
技术领域
本发明涉及机器学习领域,尤其涉及一种基于随机敏感度ST-SM的深度神经网络剪枝方法及系统。
背景技术
深度神经网络(Deep Neural Network,DNN)在机器学习、人工智能领域具有重要意义,其广泛应用于图像分类、目标检测、语音识别等细分领域。然而,深度神经网络的应用受制于其高昂的空间和时间开销。由于深度神经网络由多个层堆叠而成,每个层又由多个节点组成,存储、运行深度神经网络模型需要占用大量硬盘、内存空间,且运算量大,需要依赖专门的硬件如GPU等才能满足响应时间要求。因此,本文提出一种基于随机敏感度的深度神经网络剪枝方法,该方法通过随机敏感度对深度神经网络中的节点进行评估,对较不敏感的节点作剪枝,减少节点参数数量,并对剪枝后的网络模型进行权重补偿和重训练,改善其性能,进而在不影响模型精度的前提下,实现较有效的深度神经网络压缩和加速。
目前,解决深度神经网络空间和时间开销过大问题的方法主要有:剪枝、权重量化和聚簇、张量分解、采用轻量化结构等。其中,基于剪枝的方法通过移除深度神经网络模型的组成成分,如连接、节点等来达到压缩和加速的目的。基于剪枝的方法主要分为非结构化剪枝和结构化剪枝两类。非结构化剪枝在剪枝时以连接为单位,被删除的连接权重被置为0,若一个节点的所有相关连接的权重都被置为0,则这个节点对网络无任何影响,此种情况下该节点会被删除。非结构化剪枝可实现较高的压缩率,但由于被置0的连接零散地分布在各个节点中,它们虽然已经被删除,却仍然占用存储空间,需要通过专门的稀疏编码方式来存储才能实现真正的压缩和加速效果。因此,非结构化剪枝的实际应用依赖于专门的软件和硬件,应用范围受到限制。与非结构化剪枝不同,结构化剪枝通过移除节点、卷积核、模块等更大的单元来实现压缩与加速。这一区别带来的好处是,经过结构化剪枝的深度神经网络模型仅在节点等单元数量上与原来不同,不需要依赖专门的软件和硬件,更容易为现有神经网络框架所支持。但由于每次移除的是整个的节点,结构化剪枝对深度神经网络模型的性能影响较大,实现的压缩率较非结构化剪枝低。
现有的剪枝方法中,如何选择要删除的节点,是一个重要的问题。现有的基于剪枝的深度神经网络模型压缩和加速方法主要是通过节点的权重范数来衡量节点的重要性,如通过节点的L1、L2范数判断节点重要性,并将范数较小的节点删除。Han等人通过连接的L1范数来衡量其重要性,并删除范数较小的连接。Li等人通过卷积核的L1范数来衡量卷积核。然而,Zhuang等人的研究表明,范数较小的连接或节点,对模型的最终输出可能会有重要意义。为解决这一问题,Guo等人提出一种基于剪枝-恢复的迭代方法,他们仍以L1范数为衡量标准,并在剪枝的过程中,寻找已被剪去的重要的连接,将其恢复。由于这些方法仍然是基于连接或节点的权重范数,它们并不能很好地反映连接或节点对网络的意义。
如何处理剪枝过程中带来的模型性能下降,是剪枝方法需要应对的另一个重要问题。Han、Luo等人的方法中利用重训练来恢复剪枝后模型的性能。但由于在剪枝过程中,由于节点的大量移除,模型的性能迅速下降,如在移除节点的过程中不断进行迭代式的重训练,则其耗费的时间极长;如在移除所有节点后才进行重训练,则由于大量节点被删除,这些被删除节点在初次训练时学到的信息已经丢失,无法在重训练时被剩余节点所利用,因此重训练后的模型性能较差。
发明内容
本发明旨在至少解决现有技术中存在的技术问题之一。为此,本发明公开了一种基于随机敏感度ST-SM的深度神经网络剪枝方法及系统,所述方法包括如下步骤:
步骤1,利用随机敏感度衡量剪除节点对后继层输出的影响、挑选需要剪除的节点,以减少剪枝过程对网络性能的损害;
步骤2,利用权重补偿重建被剪枝层的节点输出,以减少剪枝过程中的模型性能退化,用训练集样本构造补偿权重需满足的方程组,通过共轭梯度预处理正则方程CGPCNE方法解出该方程组,得到补偿权重值,并对剩余节点权重进行补偿;
步骤3,利用重训练改善剪枝后模型的性能。
更进一步地,所述步骤1进一步包括:所述步骤1进一步包括:采用随机敏感度衡量剪除该节点对后继层输出的影响。对深度神经网络模型进行权重扰动,设被剪枝层为深度神经网络中的第i层,则对后继层输出的影响可定义为扰动前后,第i+1层输出的变化量,即
ΔYi+1=Y′i+1-Yi+1#(1)
其中Yi+1表示进行扰动前第i+1层的输出向量,Y′i+1表示扰动后的输出向量;
随机敏感度定义为扰动前后,第i+1层输出变化量平方的期望在训练集的所有N个样本上的平均值,即
其中和/>分别表示代入训练集样本xb后,得到的扰动前和扰动后的输出向量,由于期望无法直接求得,需要通过随机采样的方式来估计随机敏感度ST-SM的值,构造权重扰动向量
其中Ni+1为第i+1层的节点数量,表示当中的Ni+1个分量,p表示要对第i层的第p个节点进行扰动,扰动向量的各个分量随机采样自同一个均值为0的均匀分布,将扰动向量加到原权重上
wp′=wp+Δwp#(4)
得到扰动后的权重wp′,随机采样共进行h次,h为预先定义的超参数,取h次的平均结果作为估计值
通过此种方法,即可求得第i层中每一个节点的随机敏感度ST-SM,将所有的点根据随机敏感度ST-SM值从小到大排序,随机敏感度ST-SM值小的节点被删除,直到该层的剪枝比例达到要求。
更进一步地,所述步骤2进一步包括:对经过剪枝的层,进行权重补偿以重新构建其原有输出,所述权重补偿的核心思想是,构造权重补偿向量,使得权重补偿向量带来的输出变化量,能够抵消被剪节点的原有输出,以保证后续各层接收到的输入不变。
对于全连接网络,设被剪枝的是第i层的第k个节点,对第i+1层,其接收到的原有输入为
Xi+1=YiWi#(6)
此处Yi表示第i层原有的输出向量,Wi表示第i层原有的权重矩阵。其中,被剪掉的节点k贡献的部分为
第i层剩余各节点共同贡献的部分为
此处Ni表示第i层原有节点的数量;则若要利用权重补偿,让第i+1层接收到的输出不变,第i层需满足
即需要令剩余各节点在经过补偿后,其输出与原来相同。表示加到原有权重上的权重补偿向量。等式(9)的左边为剪枝后,剩余各节点经过补偿后的输出之和;右边为剪枝前,第i层所有节点的输出之和。
由于剩余节点原有权重贡献的输出不变,且同时被等式两边所包含,上式可化简为
以上为一次仅剪去单个节点的情况。考虑多个节点被剪去的情况,设有K个节点被剪去,则该式可表示为
上式中,已知,/>和/>在给定输入样本时也可求得,进而可求得权重补偿向量/>因此可通过训练集样本构造方程组,用共轭梯度预处理正则方程法(CGPCNE)计算出拟合该方程组的权重补偿向量/>将计算出的/>加到剩余节点的权重上,即可完成补偿过程。
更进一步地,所述步骤3进一步包括:通过重训练,改善剪枝后模型的性能。重训练是指,在步骤1、步骤2完成后,对剪枝后的深度神经网络模型,利用训练集样本进行重训练,其中训练所采用的学习率应远小于初次训练模型时的学习率。重训练在每次剪枝、补偿完一个网络层后进行。
本发明进一步公开了一种基于随机敏感度ST-SM的深度神经网络剪枝系统,其特征在于,所述系统包括如下模块:
节点剪除模块,利用随机敏感度衡量剪除节点对后继层输出的影响、挑选需要剪除的节点,以减少剪枝过程对网络性能的损害;
权重补偿模块,利用权重补偿重建被剪枝层的节点输出,以减少剪枝过程中的模型性能退化,用训练集样本构造补偿权重需满足的方程组,通过共轭梯度预处理正则方程CGPCNE方法解出该方程组,得到补偿权重值,并对剩余节点权重进行补偿;
重训练模块,利用重训练改善剪枝后模型的性能。
随着深度神经网络模型在各领域的广泛应用,剪枝凭借可观的压缩率和简便的操作成为解决深度神经网络模型空间和时间开销过大问题的较常用方法。然而,现有的剪枝方法通常用L1、L2范数等来作为选择待移除节点的指标,而这些指标并不能很好反映节点对整个网络模型的重要性,以及移除该节点,对该层及后续各层输出的影响。此外,现有的用于恢复剪枝后模型性能的重训练手段通常受制于时间—性能权衡问题,迭代式的重训练会消耗大量时间,而一次性的重训练则会因为剪枝过程中节点信息的大量丢失,导致重训练后的模型性能不佳。因此,本专利针对深度神经网络剪枝中的待删节点选择与重训练问题,提出了一种高效的剪枝方法。该方法通过随机敏感度(ST-SM)来选取待移除的节点,更有效地反映出删除该节点对输出的影响;同时,通过权重补偿重构被剪枝层的输出,减少剪枝过程中的信息丢失,让重训练过程能更快地收敛,同时取得更好的模型性能。
采用本发明产生的有益效果在于:
1、本发明提供一种基于随机敏感度的深度神经网络剪枝方法。在剪枝过程中,利用随机敏感度(ST-SM)衡量剪除节点对后继层输出的影响、挑选需要剪除的节点,以减少剪枝过程对网络性能的损害;
2、在进行剪枝后,利用权重补偿重建被剪枝层的节点输出,以减少剪枝过程中的模型性能退化,用训练集样本构造补偿权重需满足的方程组,通过共轭梯度预处理正则方程(CGPCNE)方法解出该方程组,得到补偿权重值,并对剩余节点权重进行补偿,改善性能。
3、最后,利用重训练改善剪枝后模型的性能,该方法能在维持模型原有性能的前提下,通过剪枝减少深度神经网络模型的参数数量,对深度神经网络模型进行压缩与加速,有效减少模型空间开销,提升运行效率。
附图说明
从以下结合附图的描述可以进一步理解本发明。图中的部件不一定按比例绘制,而是将重点放在示出实施例的原理上。在图中,在不同的视图中,相同的附图标记指定对应的部分。
图1为本发明逻辑流程示意图。
图2为本发明所使用的全连接网络权重补偿过程示意图。
图3为本发明所使用的卷积神经网络权重补偿过程示意图。
具体实施方式
实施例一
本发明提出的基于随机敏感度(Stochastic Sensitivity Measure,ST-SM)的深度神经网络剪枝(Deep Neural Network,DNN)方法是一种结构化剪枝方法,它通过剪枝来达到压缩深度神经网络、减少其空间和时间开销的目的。在剪枝过程中,首先计算该层每个节点的随机敏感度ST-SM,并根据ST-SM进行排序,将ST-SM最小的那部分节点删除,然后进行权重补偿,通过往原有权重上添加计算出的补偿权重向量,重构该层的输出,使后继层接收到的输入保持不变,进而维护模型的性能。最后,对剪枝和补偿完的模型进行重训练,进一步改善被剪枝模型的性能。图1显示了该方法的算法流程图。
在本发明方法中,我们需要首先对被剪枝的层进行节点挑选,选出要被删除的节点。假如采用以往的基于范数的方法,这些方法通过计算节点的权重范数来决定它们的重要性,将范数较小的节点删除。然而,已有研究表明,范数较小的节点对模型的输出也会有重要影响,因此,这些基于范数的方法并不能很好地体现节点的重要性,以及删除该节点对模型带来的影响。本发明基于随机敏感度ST-SM的方法来挑选待删除的节点。这一方法通过计算节点的ST-SM来衡量删除该节点后,后继层输出的变化量。该方法能更有效的反映出删除这一节点对模型的影响,尽量选取对模型影响小的节点进行删除,减少了剪枝过程对模型性能的损害。对深度神经网络模型进行权重扰动,设被剪枝层为深度神经网络中的第i层,则对后继层输出的影响可定义为扰动前后,第i+1层输出的变化量,即
ΔYi+1=Y′i+1-Yi+1#(1)
其中Yi+1表示进行扰动前第i+1层的输出向量,Y′i+1表示扰动后的输出向量;
随机敏感度定义为扰动前后,第i+1层输出变化量平方的期望在训练集的所有N个样本上的平均值,即
其中和/>分别表示代入训练集样本xb后,得到的扰动前和扰动后的输出向量,由于期望无法直接求得,需要通过随机采样的方式来估计随机敏感度ST-SM的值,构造权重扰动向量
其中Ni+1为第i+1层的节点数量,表示当中的Ni+1个分量,p表示要对第i层的第p个节点进行扰动,扰动向量的各个分量随机采样自同一个均值为0的均匀分布,将扰动向量加到原权重上
wp′=wp+Δwp#(4)
得到扰动后的权重wp′,随机采样共进行h次,h为预先定义的超参数,取h次的平均结果作为估计值
通过此种方法,即可求得第i层中每一个节点的随机敏感度ST-SM,将所有的点根据随机敏感度ST-SM值从小到大排序,随机敏感度ST-SM值小的节点被删除,直到该层的剪枝比例达到要求。
对经过剪枝的层,进行权重补偿以重新构建其原有输出,所述权重补偿的核心思想是,构造权重补偿向量,使得权重补偿向量带来的输出变化量,能够抵消被剪节点的原有输出,以保证后续各层接收到的输入不变。
对于全连接网络,设被剪枝的是第i层的第k个节点,对第i+1层,其接收到的原有输入为
Xi+1=YiWi#(6)
此处Yi表示第i层原有的输出向量,Wi表示第i层原有的权重矩阵。其中,被剪掉的节点k贡献的部分为
第i层剩余各节点共同贡献的部分为
此处Ni表示第i层原有节点的数量;则若要利用权重补偿,让第i+1层接收到的输出不变,第i层需满足
即需要令剩余各节点在经过补偿后,其输出与原来相同。表示加到原有权重上的权重补偿向量。等式(9)的左边为剪枝后,剩余各节点经过补偿后的输出之和;右边为剪枝前,第i层所有节点的输出之和。
由于剩余节点原有权重贡献的输出不变,且同时被等式两边所包含,上式可化简为
以上为一次仅剪去单个节点的情况。考虑多个节点被剪去的情况,设有K个节点被剪去,则该式可表示为
上式中,已知,/>和/>在给定输入样本时也可求得,进而可求得权重补偿向量/>因此可通过训练集样本构造方程组,用共轭梯度预处理正则方程法(ConjugateGradient Precondition Normal Equation,CGPCNE)计算出拟合多个方程的权重补偿向量将计算出的/>加到剩余节点的权重上,即可完成补偿过程。
对于卷积神经网络(Convolutional Neural Network,CNN),网络节点以卷积核的形式出现。由于第i+1层中接收到的各个输入通道系由第i层中的各卷积核独立产生,互不影响,因此对第i层作补偿无法维持第i+1层的输入不变,应对第i+1层的卷积核作补偿,以保证第i+1层的输出不变,进而保持第i+2层及后续各层接收到的输入不变。
对于第i+1层的第k个卷积核,其输出可表示为
其中f()为激活函数。补偿的目标是使得经过剪枝和补偿后第i+1层的输出与剪枝前的相同,即
其中等式左边为第i+1层在剪枝前的原有输出,右边为进行剪枝和补偿后,第i+1层的输出。由于两边的激活函数相同,且激活函数为线性,函数值相同的情况下必然满足函数的输入也相同,因此可对等式两边去掉激活函数,即
对于剩余的卷积核,其原有权重前后不变,贡献的输出相同,因此可从等式两边减去,上式化简为
考虑剪除多个卷积核的情况,上式可表示为
其中,已知,/>和/>在给定输入样本的情况下可计算得出。因此可通过对训练集中的输入样本取样,构建方程组,方程组的解即为所求的补偿权重向量/>
最后,通过重训练,改善剪枝后模型的性能。重训练是指,在步骤1、步骤2完成后,对剪枝后的深度神经网络模型,用训练集样本进行重训练,其中训练所采用的学习率应远小于初次训练模型时的学习率。重训练在每次剪枝、补偿完一个网络层后进行。
本方法可以实现对深度神经网络模型的良好压缩和加速效果,有效减少深度神经网络模型的空间和时间开销。本实例所提出的方法和现有相关剪枝算法在模型和数据集VGG16+CIFAR-10,AlexNet+ILSVRC2012上的压缩和加速效果如表1、表2所示,表格中所对比的方法均为近年模型压缩领域的领先方法。在VGG16+CIFAR-10实验上,本专利所述方法在保持模型准确率不下降(且略有提升)的前提下,将模型的参数量减少了63.9%,远高于Synaptic Strength的51.8%,与PFEC相当,仅次于VariationalPruning;但其浮点运算减少量高于VariationalPruning与PFEC,仅次于Sypnatic Strength。在AlexNet+ILSVRC2012实验中,本专利所述方法在同样保持准确率基本不变(仅下降0.07%),仍实现了61.2%的参数减少量和49.7%的浮点运算减少量,高于NISP-D;该压缩和加速效果虽次于EfficientPruning,但模型准确率的下降值较EfficientPruning减少了3.67%。由以上数据对比可见本实例所发明方法的有效性。
表1
表2
图2对本专利所述方法在全连接网络上的实施过程进行了展示。图2(左)展示了原有的部分网络结构;图2(中)展示了对全连接网络进行剪枝的过程,通过随机敏感度(ST-SM)对节点进行评价,挑选出敏感度较小的节点进行删除,被删除的节点(虚线圆形)及其相关的连接(虚线箭头)均被移除;图2(右)展示了对全连接网络进行补偿的过程,计算出补偿向量后,将其加到原有权重上,起到重构输出的作用。
图3对本专利所述方法在卷积神经网络(CNN)上的实施过程进行了展示。图3第一行展示了原有的部分网络结构,每一层的输出经过卷积,作为后一层的输入;第二行展示了对卷积神经网络进行剪枝的过程,利用随机敏感度对节点(卷积核)进行评价,挑选出敏感度较小的卷积核进行删除,被删除的卷积核(第i层权重的虚线框)、第i+1层的对应输入通道(输入部分的虚线框)、第i+1层的对应权重通道(权重部分的虚线框)均被移除;第三行展示了对剪枝后的卷积神经网络进行补偿的过程,由于直接对第i层作补偿无法保证后面的层接收到的输入不变,对此做出调整,改为对第i+1层进行补偿,以保证第i+2层接收到的输入不变。除因网络结构不同而做出的调整导致补偿的层不同以外,整个过程的原理、计算过程、效果仍与本专利所述方法相同。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。
本领域技术人员应明白,本申请的实施例可提供为方法、系统或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
虽然上面已经参考各种实施例描述了本发明,但是应当理解,在不脱离本发明的范围的情况下,可以进行许多改变和修改。因此,其旨在上述详细描述被认为是例示性的而非限制性的,并且应当理解,以下权利要求(包括所有等同物)旨在限定本发明的精神和范围。以上这些实施例应理解为仅用于说明本发明而不用于限制本发明的保护范围。在阅读了本发明的记载的内容之后,技术人员可以对本发明作各种改动或修改,这些等效变化和修饰同样落入本发明权利要求所限定的范围。
Claims (6)
1.一种基于随机敏感度ST-SM的深度神经网络剪枝方法,所述深度神经网络应用于图像分类、目标检测或语音识别领域,其特征在于,所述方法包括如下步骤:
步骤1,利用随机敏感度衡量剪除节点对后继层输出的影响、挑选需要剪除的节点,以减少剪枝过程对网络性能的损害,所述步骤1进一步包括:采用随机敏感度衡量剪除该节点对后继层输出的影响;
对深度神经网络模型进行权重扰动,设被剪枝层为深度神经网络中的第i层,则对后继层输出的影响定义为扰动前后,第i+1层输出的变化量,即其中Yi+1表示进行扰动前第i+1层的输出向量,Y′i+1表示扰动后的输出向量;
随机敏感度定义为扰动前后,第i+1层输出变化量平方的期望在训练集的所有N个样本上的平均值,即其中/>和/>分别表示代入训练集样本/>后,得到的扰动前和扰动后的输出向量,由于期望无法直接求得,需要通过随机采样的方式来估计随机敏感度ST-SM的值,构造权重扰动向量其中Ni+1为第i+1层的节点数量,/>表示当中的Ni+1个分量,p表示要对第i层的第p个节点进行扰动,扰动向量的各个分量随机采样自同一个均值为0的均匀分布,将扰动向量加到原权重上/>得到扰动后的权重wp′,随机采样共进行h次,h为预先定义的超参数,取h次的平均结果作为估计值/>通过此种方法,即求得第i层中每一个节点的随机敏感度ST-SM,将所有的节点根据随机敏感度ST-SM值从小到大排序,随机敏感度ST-SM值小的节点被删除,直到该层的剪枝比例达到要求;
步骤2,利用权重补偿重建被剪枝层的节点输出,以减少剪枝过程中的模型性能退化,用训练集样本构造补偿权重需满足的方程组,通过共轭梯度预处理正则方程CGPCNE方法解出该方程组,得到补偿权重值,并对剩余节点权重进行补偿;
步骤3,利用重训练改善剪枝后模型的性能。
2.根据权利要求1所述的一种基于随机敏感度的深度神经网络剪枝方法,其特征在于,
所述步骤2进一步包括:对经过剪枝的层,进行权重补偿以重新构建其原有输出,所述权重补偿的核心思想是,构造权重补偿向量,使得权重补偿向量带来的输出变化量,能够抵消被剪节点的原有输出,以保证后续各层接收到的输入不变;
对于全连接网络,设被剪枝的是第i层的第k个节点,对第i+1层,其接收到的原有输入为此处Yi表示第i层原有的输出向量,Wi表示第i层原有的权重矩阵,其中,被剪掉的节点k贡献的部分为/>第i层剩余各节点共同贡献的部分为此处Ni表示第i层原有节点的数量;则若要利用权重补偿,让第i+1层接收到的输出不变,第i层需满足/>即需要令剩余各节点在经过补偿后,其输出与原来相同,/>表示加到原有权重上的权重补偿向量,等式(9)的左边为剪枝后,剩余各节点经过补偿后的输出之和;右边为剪枝前,第i层所有节点的输出之和,
由于剩余节点原有权重贡献的输出不变,且同时被等式两边所包含,上式化简为:以上为一次仅剪去单个节点的情况,考虑多个节点被剪去的情况,设有K个节点被剪去,则该式表示为:/>上式中,/>已知,和/>在给定输入样本时也可求得,进而求得权重补偿向量/>,因此通过训练集样本构造方程组,用共轭梯度预处理正则方程法计算出拟合该方程组的权重补偿向量,将计算出的/>加到剩余节点的权重上,即完成补偿过程。
3.根据权利要求2所述的一种基于随机敏感度的深度神经网络剪枝方法,其特征在于,
所述步骤3进一步包括:通过重训练,改善剪枝后模型的性能,所述重训练是指,在所述步骤1、所述步骤2完成后,对剪枝后的深度神经网络模型,用训练集样本进行重训练,其中训练所采用的学习率应小于初次训练模型时的学习率,重训练在每次剪枝、补偿完一个网络层后进行。
4.一种基于随机敏感度ST-SM的深度神经网络剪枝系统,所述深度神经网络应用于图像分类、目标检测或语音识别领域,其特征在于,所述系统包括如下模块:
节点剪除模块,利用随机敏感度衡量剪除节点对后继层输出的影响、挑选需要剪除的节点,以减少剪枝过程对网络性能的损害,所述节点剪除模块采用随机敏感度衡量剪除该节点对后继层输出的影响,对深度神经网络模型进行权重扰动,设被剪枝层为深度神经网络中的第i层,则对后继层输出的影响定义为扰动前后,第i+1层输出的变化量,即其中Yi+1表示进行扰动前第i+1层的输出向量,Y′i+1表示扰动后的输出向量;
随机敏感度定义为扰动前后,第i+1层输出变化量平方的期望在训练集的所有N个样本上的平均值,即其中/>和/>分别表示代入训练集样本xb后,得到的扰动前和扰动后的输出向量,由于期望无法直接求得,需要通过随机采样的方式来估计随机敏感度ST-SM的值,构造权重扰动向量/>其中Ni+1为第i+1层的节点数量,/>表示当中的Ni+1个分量,p表示要对第i层的第p个节点进行扰动,扰动向量的各个分量随机采样自同一个均值为0的均匀分布,将扰动向量加到原权重上/>得到扰动后的权重wp′,随机采样共进行h次,h为预先定义的超参数,取h次的平均结果作为估计值通过此种方法,即求得第i层中每一个节点的随机敏感度ST-SM,将所有的节点根据随机敏感度ST-SM值从小到大排序,随机敏感度ST-SM值小的节点被删除,直到该层的剪枝比例达到要求;
权重补偿模块,利用权重补偿重建被剪枝层的节点输出,以减少剪枝过程中的模型性能退化,用训练集样本构造补偿权重需满足的方程组,通过共轭梯度预处理正则方程CGPCNE方法解出该方程组,得到补偿权重值,并对剩余节点权重进行补偿;
重训练模块,利用重训练改善剪枝后模型的性能。
5.根据权利要求4所述的一种基于随机敏感度ST-SM的深度神经网络剪枝系统,其特征在于,所述权重补偿模块进一步包括:对经过剪枝的层,进行权重补偿以重新构建其原有输出,所述权重补偿的核心思想是,构造权重补偿向量,使得权重补偿向量带来的输出变化量,能够抵消被剪节点的原有输出,以保证后续各层接收到的输入不变;
对于全连接网络,设被剪枝的是第i层的第k个节点,对第i+1层,其接收到的原有输入为此处Yi表示第i层原有的输出向量,Wi表示第i层原有的权重矩阵,其中,被剪掉的节点k贡献的部分为/>第i层剩余各节点共同贡献的部分为此处Ni表示第i层原有节点的数量;则若要利用权重补偿,让第i+1层接收到的输出不变,第i层需满足/>即需要令剩余各节点在经过补偿后,其输出与原来相同,/>表示加到原有权重上的权重补偿向量,等式(9)的左边为剪枝后,剩余各节点经过补偿后的输出之和;右边为剪枝前,第i层所有节点的输出之和;
由于剩余节点原有权重贡献的输出不变,且同时被等式两边所包含,上式化简为以上为一次仅剪去单个节点的情况,考虑多个节点被剪去的情况,设有K个节点被剪去,则该式表示为/>上式中,/>已知,/>和/>在给定输入样本时也可求得,进而求得权重补偿向量/>,因此通过训练集样本构造方程组,用共轭梯度预处理正则方程法(CGPCNE)计算出拟合该方程组的权重补偿向量/>,将计算出的/>加到剩余节点的权重上,即完成补偿过程。
6.根据权利要求5所述的一种基于随机敏感度ST-SM的深度神经网络剪枝系统,其特征在于,所述重训练模块进一步包括:通过重训练,改善剪枝后模型的性能,所述重训练是指,在所述节点剪除模块、所述权重补偿模块完成工作后,对剪枝后的深度神经网络模型,用训练集样本进行重训练,其中训练所采用的学习率应小于初次训练模型时的学习率,重训练在每次剪枝、补偿完一个网络层后进行。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110294928.5A CN112884149B (zh) | 2021-03-19 | 2021-03-19 | 一种基于随机敏感度st-sm的深度神经网络剪枝方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110294928.5A CN112884149B (zh) | 2021-03-19 | 2021-03-19 | 一种基于随机敏感度st-sm的深度神经网络剪枝方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112884149A CN112884149A (zh) | 2021-06-01 |
CN112884149B true CN112884149B (zh) | 2024-03-22 |
Family
ID=76041371
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110294928.5A Active CN112884149B (zh) | 2021-03-19 | 2021-03-19 | 一种基于随机敏感度st-sm的深度神经网络剪枝方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112884149B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113408724A (zh) * | 2021-06-17 | 2021-09-17 | 博众精工科技股份有限公司 | 模型压缩方法及装置 |
CN113822414A (zh) * | 2021-07-22 | 2021-12-21 | 深圳信息职业技术学院 | 口罩检测模型的训练方法、口罩检测方法及相关设备 |
CN113807517B (zh) * | 2021-09-18 | 2024-02-02 | 成都数联云算科技有限公司 | 剪枝参数搜索方法及剪枝方法、装置、设备、介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110619385A (zh) * | 2019-08-31 | 2019-12-27 | 电子科技大学 | 基于多级剪枝的结构化网络模型压缩加速方法 |
CN111222640A (zh) * | 2020-01-11 | 2020-06-02 | 电子科技大学 | 一种信号识别卷积神经网络卷积核分区剪枝方法 |
CN111461322A (zh) * | 2020-03-13 | 2020-07-28 | 中国科学院计算技术研究所 | 一种深度神经网络模型压缩方法 |
CN112396179A (zh) * | 2020-11-20 | 2021-02-23 | 浙江工业大学 | 一种基于通道梯度剪枝的柔性深度学习网络模型压缩方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11315012B2 (en) * | 2018-01-12 | 2022-04-26 | Intel Corporation | Neural network training using generated random unit vector |
-
2021
- 2021-03-19 CN CN202110294928.5A patent/CN112884149B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110619385A (zh) * | 2019-08-31 | 2019-12-27 | 电子科技大学 | 基于多级剪枝的结构化网络模型压缩加速方法 |
CN111222640A (zh) * | 2020-01-11 | 2020-06-02 | 电子科技大学 | 一种信号识别卷积神经网络卷积核分区剪枝方法 |
CN111461322A (zh) * | 2020-03-13 | 2020-07-28 | 中国科学院计算技术研究所 | 一种深度神经网络模型压缩方法 |
CN112396179A (zh) * | 2020-11-20 | 2021-02-23 | 浙江工业大学 | 一种基于通道梯度剪枝的柔性深度学习网络模型压缩方法 |
Non-Patent Citations (1)
Title |
---|
基于GoogLeNet模型的剪枝算法;彭冬亮;王天兴;;控制与决策(06);第141-146页 * |
Also Published As
Publication number | Publication date |
---|---|
CN112884149A (zh) | 2021-06-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112884149B (zh) | 一种基于随机敏感度st-sm的深度神经网络剪枝方法及系统 | |
Kalchbrenner et al. | Efficient neural audio synthesis | |
Shen et al. | When to prune? a policy towards early structural pruning | |
CN109884419B (zh) | 一种智慧电网电能质量在线故障诊断方法 | |
CN111861013B (zh) | 一种电力负荷预测方法及装置 | |
CN111027619B (zh) | 一种基于忆阻器阵列的K-means分类器及其分类方法 | |
CN110751108A (zh) | 一种地铁分布式振动信号相似度确定方法 | |
CN114120041A (zh) | 一种基于双对抗变分自编码器的小样本分类方法 | |
Zhou et al. | Online filter clustering and pruning for efficient convnets | |
CN115510042A (zh) | 基于生成对抗网络的电力系统负荷数据填补方法及装置 | |
CN114970853A (zh) | 一种跨范围量化的卷积神经网络压缩方法 | |
CN115102867B (zh) | 结合深度强化学习的区块链分片系统性能优化方法 | |
CN115597869A (zh) | 基于MTF-SDAE-LightGBM的轴承故障诊断方法 | |
CN115600137A (zh) | 面向不完备类别数据的多源域变工况机械故障诊断方法 | |
Chen et al. | A layer decomposition-recomposition framework for neuron pruning towards accurate lightweight networks | |
CN116975778A (zh) | 一种基于信息级联的社交网络信息传播影响力预测方法 | |
Phan et al. | Efficiency enhancement of evolutionary neural architecture search via training-free initialization | |
CN111400964B (zh) | 一种故障发生时间预测方法及装置 | |
CN111831955A (zh) | 一种锂离子电池剩余寿命预测方法及系统 | |
CN108388942A (zh) | 基于大数据的信息智能处理方法 | |
CN108417204A (zh) | 基于大数据的信息安全处理方法 | |
CN115375966A (zh) | 一种基于联合损失函数的图像对抗样本生成方法及系统 | |
CN114781639A (zh) | 面向边缘设备多层共享码本向量量化的深度模型压缩方法 | |
Sharifi et al. | Prunedcaps: A case for primary capsules discrimination | |
CN114630207A (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 |