本发明涉及深度神经网络的压缩领域,尤其涉及卷积神经网络的剪枝压缩的方法。
背景技术:
1、目前,随着深度卷积神经网络的发展,模型的计算量和规模变得越发庞大,在很大程度上制约了其在资源受限的终端设备上的部署,这时会采用一些方法对网络进行压缩,其中应用最广泛的方式为剪枝。结构化剪枝和非结构化剪枝是剪枝的两种类别,它们在剪枝粒度上有所不同。结构化剪枝的剪枝粒度比较粗,以卷积核为单位进行剪枝,又称为通道剪枝;非结构化剪枝的剪枝粒度比较细,以权重为单位进行剪枝。
2、传统的结构化剪枝,需要设定某一种标准来衡量通道的重要性,论文“learningefficient convolutional networks through network slimming”选择bn层(批归一化层)的缩放因子γ作为重要性衡量标准,也有人选择卷积核的权重绝对值之和即卷积核l1范数,来删除不重要的卷积核也就是通道,最后微调训练网络。然而,选择单一的一种衡量标准,可能会对不同的任务产生片面性影响,影响最终的剪枝效果。
3、传统的非结构化剪枝,需要设置一个剪枝阈值,然后剪除低于阈值的权重,然后重新微调训练网络,达到剪枝目的。论文“deep compression:compressing deep neuralnetworks with pruning,trained quantization and huffman coding”就是采用这种方法,这种方法通常经过一次剪枝就可以得到最后的网络,然而,如果阈值设置过大,可能会把一些重要的权重也删除,阈值设置过小,则网络达不到很好的剪枝比例,所以这种方法只能通过不断设置阈值,找到结果最好的那一次。
技术实现思路
1、本发明的目的是针对上述神经网络的传统剪枝方法的缺陷,对于非结构化剪枝和结构化剪枝,分别进行改进,得到一种神经网络的权重压缩和集成标准剪枝方法。对于非结构化剪枝,针对传统的一次性剪枝得到压缩网络,可能会因为剪枝阈值设置过大而导致精度难以恢复的缺陷,提出了权重压缩剪枝方法,通过设置较低的阈值,多次对权重进行压缩再剪枝,使得在有效保持精度的情况下获得比传统方案更高的剪枝比例。对于结构化剪枝,针对使用单一一种卷积核重要性度量标准,可能对具体任务产生片面性影响的缺陷,提出了集成标准的剪枝方案,通过结合多种重要性度量标准,来使用最后的集成标准进行剪枝
2、一种神经网络的权重压缩和集成标准剪枝方法,包括对于非结构化剪枝的权重压缩剪枝方法和对于结构化剪枝的集成标准剪枝方法;
3、权重压缩剪枝方法,包含以下步骤:
4、步骤1):稀疏训练原始神经网络,设定剪枝阈值;
5、步骤2):根据阈值进行剪枝;
6、步骤3):对网络微调训练;
7、步骤4):把权重全部压缩10%;
8、步骤5):重复进行步骤2至4,直到达到理想的目标网络;
9、集成标准剪枝方法,包含以下步骤:
10、步骤1):测量神经网络的原始检测精度map0;
11、步骤2):基于卷积核权重绝对值之和l1以及缩放因子γ两种度量标准,分别进行剪枝和微调训练,得到相应的检测精度,并进行处理得到相应的重要性标准δmapl1和δmapγ及其比例值和λγ:
12、步骤3):稀疏训练原始神经网络;
13、步骤4):计算所有要剪枝的层里卷积核的绝对值之和l1,然后计算平均值avel1;
14、步骤5):收集每一个通道的缩放因子γ;
15、步骤6):通过λγ、avel1和γ计算得到重要性度量标准final;
16、步骤7):使用final重要性度量标准来判断通道重要性,对网络进行剪枝;
17、步骤8):微调训练网络,得到最后的剪枝网络。
18、本发明采用以上技术方案与现有技术相比,具有以下技术效果:
19、(1)跟一次性剪枝方法对比,权重压缩剪枝通过每次小规模压缩权重的方式慢慢增大剪枝比例,在达到与一次性剪枝相同或更高的剪枝比例时,权重压缩剪枝得到的模型的精确度map要高于一次性剪枝,平均高出1%左右。
20、(2)在相同的剪枝比例下,使用集成标准剪枝方法的网络微调后精度可以恢复得更高;在保持相等的精度条件下,使用集成标准剪枝方法的剪枝比例更高。
21、(3)综上,通过实验结果可以判断,相比于传统的剪枝方法,本方法具有剪枝比例更大,剪枝后模型精度恢复更高的特点。
1.一种神经网络的权重压缩和集成标准剪枝方法,其特征在于:
2.根据权利要求1所述的一种神经网络的权重压缩和集成标准剪枝方法,其特征在于:权重压缩剪枝方法的步骤1)中,稀疏训练为,在损失函数中加入权重wi的l2正则化项在数据集上进行预训练,训练得到的网络中的权重偏向于0附近,使得网络具有稀疏性;设定剪枝阈值为0.01,即要删去绝对值小于0.01的权重。
3.根据权利要求1所述的一种神经网络的权重压缩和集成标准剪枝方法,其特征在于:权重压缩剪枝方法的步骤5)中,在最后一次压缩剪枝之后,如果模型精度与原本的精度相差超过1%以上,则停止剪枝,未进行最后一次剪枝的模型即为理想的目标网络。
4.根据权利要求1所述的一种神经网络的权重压缩和集成标准剪枝方法,其特征在于:集成标准剪枝方法的步骤2)中,包括如下分步骤:
5.根据权利要求4所述的一种神经网络的权重压缩和集成标准剪枝方法,其特征在于:步骤2.3)中,δmapl1和δmapγ的计算如公式1和公式2所示:
6.根据权利要求5所述的一种神经网络的权重压缩和集成标准剪枝方法,其特征在于:步骤2.4)中,计算两种重要性标准在最终重要性标准final中的所占比例和λγ,如公式3和公式4所示:
7.根据权利要求6所述的一种神经网络的权重压缩和集成标准剪枝方法,其特征在于:集成标准剪枝方法的步骤6)中,重要性度量标准final的计算如公式5所示: