System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本专利技术涉及基于空间相关性的两阶段滤波器剪枝方法,属于深度卷积神经网络模型压缩。
技术介绍
1、近年来,深度学习卷积神经网络在计算机视觉等领域不断地取得突破。然而卷积神经网络的优越性能通常是基于更深和更宽的网络结构,庞大的模型所需要的计算资源远远超出了现有移动设备的限制。如此大的计算资源消耗使得在低资源设备上部署深度神经网络模型成为一个难题。以往的技术中已经证明了网络模型中的参数是存在冗余的,如何在减小模型尺寸大小的同时保证模型仍然具有较高的准确率,已成为神经网络模型压缩领域的研究重点。
2、对深度神经网络进行剪枝是模型压缩的一个重要方向,剪枝方法可以分为权重剪枝和滤波器剪枝。其中权重剪枝是一种非结构化的剪枝方式,通过删除滤波器中的权重值来实现压缩模型的目的,这样的剪枝方式会导致滤波器出现非结构化稀疏的结果,产生的稀疏化结构需要专门设计相应的加速器来加速稀疏矩阵的计算。与之相比,滤波器剪枝是一种结构化的剪枝方式,可以直接删除整个滤波器,使得网络模型具有结构化稀疏性,能够充分利用现有的基础线性代数子程序库(basic linear algebra subprograms,blass)。
3、对于滤波器剪枝方法,针对不同的剪枝对象可以将滤波器剪枝方法分为滤波器剪枝和通道剪枝。无论是直接利用滤波器本身的信息进行剪枝还是利用特征图信息进行剪枝,都是在“衡量指标小,则衡量对象不重要”假设成立的前提下实现剪枝过程。如前一种剪枝方式将滤波器的范数值作为衡量指标,通过计算范数值从而将小范数值的滤波器删除,但这会使模型陷
4、除此之外,还有部分方法将近似的滤波器或特征通道视为冗余。如提出靠近几何中值附近的滤波器可以被其余的滤波器替代,认为对于同一个输入特征图而言,两个滤波器相似则两者的作用是相同的,因此存在冗余关系,可以安全地对其中一个滤波器删除。然而,这样“相似即冗余”准则的成立需要有两个前提条件,首先是相似指标之间的差距应该较大,才能将滤波器的差异性放大。其次是相似指标的极小值需要尽可能小,即趋近于0值。然而,大量的分析与实验观察表明,这种理想状况很难出现。
技术实现思路
1、本专利技术所要解决的技术问题是避免衡量指标小则衡量对象不重要以及相似即冗余两种假设不成立而导致剪枝效果不佳的问题,在保障更低的模型计算量的前提下,保证模型精度不会受到影响。
2、为了解决上述问题,本专利技术提供一种新的基于空间相关性的两阶段滤波器剪枝方法(sctfp);该方法将剪枝过程分成预剪枝和剪枝两个阶段,使用l范数和余弦距离,从已训练好的原始网络模型中找到高效的子网络。具体来说,首先不同于以往技术在“衡量指标小,则衡量对象不重要”假设成立的前提下,直接将小范数的滤波器删除,而是在预剪枝阶段找到最大范数值所对应的滤波器,本专利技术将其称为关键滤波器。其次在剪枝阶段引入余弦距离作为衡量滤波器间相关程度的指标,以此找到和关键滤波器空间相关性高的滤波器。本专利技术提供的两阶段滤波器剪枝方法避免了因衡量指标小则衡量对象不重要以及相似即冗余两种假设不成立而导致剪枝效果不佳的问题,并对于多种网络结构都具有较强的适应性。
3、第一方面,本专利技术提供了基于空间相关性的两阶段滤波器剪枝方法,包括:
4、步骤1:构建训练集和测试集,训练图像识别神经网络,得到初始网络并保存网络模型参数;
5、步骤2:加载已保存的网络模型参数,逐层计算每一层卷积层内滤波器的l1范数值,标记出关键滤波器;
6、步骤3:继续计算每一层卷积层内关键滤波器与当前层的其余滤波器之间的余弦距离;
7、步骤4:对所述步骤3所计算的余弦距离进行排序,移除与关键滤波器空间相关性小的k个滤波器;
8、步骤5:使用所述步骤3中得到的滤波器权重参数初始化剪枝后的模型;
9、步骤6:重新训练剪枝后的模型直到模型精度与所述步骤1中的初始网络的精度相当;
10、步骤7:若所述步骤6重新训练的模型尺寸没有达到预先设置的模型尺寸,则使用步骤6的模型转到所述步骤2继续剪枝,直至达到预先设置的模型尺寸。
11、在本专利技术一种实施方式中,所述步骤2中逐层计算每一层卷积层内滤波器的l1范数值包括:
12、步骤21:遍历每一层卷积层的每个滤波器;
13、步骤22:计算所述步骤21中每个滤波器的l1范数值;
14、步骤23:根据l1范数值对每一层卷积层的滤波器进行降序排序;
15、步骤24:找到最大l1范数值所代表的滤波器,标记为关键滤波器。
16、在本专利技术一种实施方式中,所述步骤4中移除与关键滤波器空间相关性小的k个滤波器包括:
17、步骤41:分别计算每一层关键滤波器和当前层其余滤波器的余弦距离;
18、步骤42:对当前层的滤波器按照余弦距离进行升序排序;
19、步骤43:移除前k个滤波器。
20、在本专利技术一种实施方式中,所述步骤2中的关键滤波器,如式(2)所示:
21、
22、
23、
24、其中,w(i)表示网络第i层的权重矩阵参数,ni和ni+1分别表示第i层卷积层的输入通道和输出通道,ki表示第i层滤波器的尺寸,l表示网络的卷积层数;
25、fi,j表示第i层的第j个滤波器,且p(·)表示滤波器的选择方式,di表示第i层需要保留的滤波器集合,|di|表示di集合中的滤波器数量,r表示预定义的剪枝率,s.t表示约束条件;
26、表示第i层中找到的关键滤波器。
27、在本专利技术一种实施方式中,还包括在剪枝阶段寻找和关键滤波器空间信息相关性高的滤波器,如式(3)所示:
28、
29、其中,fi,cor表示找到的和关键滤波器空间相关性高的滤波器,correlation(·)表示关键滤波器和其他滤波器之间的相关性。
30、在本专利技术一种实施方式中,所述步骤2中的l1范数的求取方法如式(4)所示,式(2)、式(4)进一步改写成式(5):
31、
32、
33、其中,k表示滤波器的尺寸大小,n表本文档来自技高网...
【技术保护点】
1.基于空间相关性的两阶段滤波器剪枝方法,其特征在于,包括:
2.根据权利要求1所述的基于空间相关性的两阶段滤波器剪枝方法,其特征在于,所述步骤2中逐层计算每一层卷积层内滤波器的L1范数值包括:
3.根据权利要求2所述的基于空间相关性的两阶段滤波器剪枝方法,其特征在于,所述步骤4中移除与关键滤波器空间相关性小的k个滤波器包括:
4.根据权利要求3所述的基于空间相关性的两阶段滤波器剪枝方法,其特征在于,所述步骤2中的关键滤波器,如式(2)所示:
5.根据权利要求4所述的基于空间相关性的两阶段滤波器剪枝方法,其特征在于,还包括在剪枝阶段寻找和关键滤波器空间信息相关性高的滤波器,如式(3)所示:
6.根据权利要求5所述的基于空间相关性的两阶段滤波器剪枝方法,其特征在于,所述步骤2中的L1范数的求取方法如式(4)所示,式(2)、式(4)进一步改写成式(5):
7.根据权利要求6所述的基于空间相关性的两阶段滤波器剪枝方法,其特征在于,所述步骤3中的余弦距离的计算公式如下:
8.根据权利要求7所述的基于空间相
9.一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,
...【技术特征摘要】
1.基于空间相关性的两阶段滤波器剪枝方法,其特征在于,包括:
2.根据权利要求1所述的基于空间相关性的两阶段滤波器剪枝方法,其特征在于,所述步骤2中逐层计算每一层卷积层内滤波器的l1范数值包括:
3.根据权利要求2所述的基于空间相关性的两阶段滤波器剪枝方法,其特征在于,所述步骤4中移除与关键滤波器空间相关性小的k个滤波器包括:
4.根据权利要求3所述的基于空间相关性的两阶段滤波器剪枝方法,其特征在于,所述步骤2中的关键滤波器,如式(2)所示:
5.根据权利要求4所述的基于空间相关性的两阶段滤波器剪枝方法,其特征在于,还包括在剪枝阶段寻找和关键滤波器空间信息相关性高的滤波器,如式(3)所示:
...
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。