一种滤波器剪枝方法、系统及电子设备

文档序号:34740815发布日期:2023-07-12 22:31阅读:27来源:国知局
一种滤波器剪枝方法、系统及电子设备

本发明涉及神经网络剪枝,尤其是指一种滤波器剪枝方法、系统及电子设备。


背景技术:

1、现有的剪枝策略过于单一,忽略了卷积网络模型层与层之间的结构整体性和网络全局信息的关联性,采用统一设定的剪枝率逐层剪枝,这样可能会导致有些层过度剪枝,有些层仍存在结构冗余,无法获得最优的网络模型结构。此外,这种固定剪枝率的剪枝策略依赖于人工经验并需要反复测试才能找到较优的整体剪枝率。

2、虽然也有一些考虑剪枝敏感度的滤波器剪枝算法,但由于剪枝率组合空间庞大,现有方法均人为的对搜索空间进行了约束,只是实现了在有限空间内查找剪枝率组合。

3、深度神经网络剪枝是深度神经网络压缩和加速的重要方法之一,但现有的网络剪枝基本上可以分为两类:一类是根据人为设定的固定剪枝率,采用滤波器重要性或相似性评估方法对每层的滤波器进行评估,根据剪枝率保留重要的滤波器,删除不重要的滤波器。在滤波器重要性或相似性评估中,每个样本评估一次,没有考虑样本偏差对评估带来的影响。另一类是考虑剪枝敏感度,使得每层拥有不同剪枝率。由于深度模型各层剪枝率组合空间过大,当前很多方法都采用一定的手段对剪枝率组合空间进行限制或压缩,采用算法在一个子空间搜索最优剪枝率组合。

4、现有技术的缺点如下:

5、(1)现在深度网络模型剪枝策略中,在滤波器相似性评估中,没有考虑样本偏差对评估带来的影响,不能完全反映滤波器相似性。

6、(2)由于深度模型各层剪枝率组合空间过大,当前很多方法都采用一定的手段对剪枝率组合空间进行限制或压缩(例如剪枝率取值范围为0-0.5),采用算法在一个子空间搜索最优剪枝率组合。


技术实现思路

1、为此,本发明所要解决的技术问题在于克服现有技术中滤波器相似性评估不全面的问题、以及现有剪枝方法都对剪枝率组合空间进行限制的问题。

2、为解决上述技术问题,本发明提供了一种滤波器剪枝方法,包括:

3、步骤s1:初始化剪枝率向量集合,以所述剪枝率向量集合作为当前种群;

4、步骤s2:以所述当前种群中的剪枝率向量为参考对初始神经网络进行剪枝,得到剪枝模型;并计算当前种群中每个剪枝率向量所对应剪枝模型的适应度值;

5、步骤s3:以当前种群中每个剪枝率向量所对应剪枝模型的适应度值为基准,对所述当前种群进行选择、交叉和变异,并将变异后种群中适应度值最低若干剪枝模型对应的剪枝率向量进行替换,得到优化种群;

6、步骤s4:判断所述优化种群是否满足预设终止准则,若是,则执行步骤s5;若否,则返回至步骤s2,直至满足预设终止准则;

7、步骤s5:从所述优化种群中选择适应度值最高的剪枝模型对应的剪枝率向量,对待剪枝神经网络中的滤波器进行剪枝。

8、在本发明的一个实施例中,所述步骤s1中初始化剪枝率向量集合的方法为:

9、随机产生n/2个剪枝率向量,组成子种群p1;

10、根据所述子种群p1生成n/2个剪枝率向量,组成子种群p2;

11、将所述子种群p1和子种群p2构成初始种群p,所述初始种群p为剪枝率向量r的集合。

12、在本发明的一个实施例中,所述子种群p1和子种群p2满足公式:

13、

14、其中,[r1,r2,r3,...,rl]表示子种群p1中的个体ri对应的滤波器剪枝率向量,ri表示关于ri的神经网络第i层的滤波器剪枝率且ri∈[0,1),i=1,...,l,l表示神经网络中卷积层的层数,[r'1,r'2,r'3,...,r'l]表示子种群p2中的个体r'i对应的滤波器剪枝率向量,r'i表示关于r'i的神经网络第i层的滤波器剪枝率。

15、在本发明的一个实施例中,所述适应度值的计算公式为:

16、

17、

18、其中,fitness表示适应度值,acc表示剪枝模型的分类精度,fo和po分别表示未剪枝的神经网络的计算量flops和参数量params,fk和pk分别表示根据剪枝率向量剪枝后的神经网路保留的计算量flops和参数量params,w1,w2,w3表示动态可调的第一参数、第二参数和第三参数。

19、在本发明的一个实施例中,所述步骤s3将变异后种群中适应度值最低若干剪枝模型对应的剪枝率向量进行替换,得到优化种群的方法为:

20、选择变异后的种群中适应度值最低的两个剪枝模型对应的剪枝率向量,通过100%分别减去适应度值最低的两个剪枝模型对应的剪枝率向量中的剪枝率,得到两组反向剪枝率,基于两组反向剪枝率生成两个对应的反向剪枝率向量;

21、利用两个反向剪枝率向量替换掉适应度值最低的两个剪枝模型对应的剪枝率向量,得到优化种群。

22、在本发明的一个实施例中,所述步骤s2中以所述当前种群中的剪枝率向量为参考对初始神经网络进行剪枝的方法包括:通过特征图平均距离来评估滤波器的相似度,基于所述滤波器的相似度删除滤波器;

23、所述特征图平均距离的公式为:

24、

25、

26、其中,是由第l层中的第t个图像生成的第i个特征图,是由第l层中的第t个图像生成的第j个特征图,s表示图像样本个数,flatten表示将特征图矩阵转换为向量,n表示特征图矩阵转换为向量后的维度,和分别表示网络第l层中的第t个图像生成的第i个特征图和第j个特征图转换后的特征图向量。

27、在本发明的一个实施例中,所述步骤s2中的剪枝模型满足公式:

28、min ltest(m*;w)

29、s.t.m*=argmin ltrain(r,w)

30、其中,m*表示剪枝模型,r=[r1,r2,...,rl]表示滤波器剪枝率向量,ri表示神经网络第i层的滤波器剪枝率,i=1,...,l,l表示神经网络卷积层的层数,w表示神经网络的权重参数,ltest表示剪枝后的神经网络的测试损失值,ltrain表示剪枝后的神经网络的训练损失值。

31、为解决上述技术问题,本发明提供了一种滤波器剪枝系统,包括:

32、初始化模块:用于初始化剪枝率向量集合,以所述剪枝率向量集合作为当前种群;

33、计算模块:用于以所述当前种群中的剪枝率向量为参考对初始神经网络进行剪枝,得到剪枝模型;并计算当前种群中每个剪枝率向量所对应剪枝模型的适应度值;

34、种群优化模块:用于以当前种群中每个剪枝率向量所对应剪枝模型的适应度值为基准,对所述当前种群进行选择、交叉和变异,并将变异后种群中适应度值最低若干剪枝模型对应的剪枝率向量进行替换,得到优化种群;

35、判断模块:用于判断所述优化种群是否满足预设终止准则,若是,则执行选择模块的执行过程;若否,则返回至计算模块的执行过程,直至满足预设终止准则;

36、剪枝模块:用于从所述优化种群中选择适应度值最高的剪枝模型对应的剪枝率向量,对待剪枝神经网络中的滤波器进行剪枝。

37、为解决上述技术问题,本发明提供了一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如上述滤波器剪枝方法的步骤。

38、为解决上述技术问题,本发明提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时,实现如上述滤波器剪枝方法的步骤。

39、本发明的上述技术方案相比现有技术具有以下优点:

40、本发明在初始化种群过程中进行“反向操作”;本发明在执行遗传算法的每次迭代后,对种群中适应度值最低若干剪枝率向量进行“反向操作”,得到优化种群,该反向操作从而增加了群体多样性,能在一定程度上避免算法早熟;

41、本发明使用反向搜索遗传算法优化滤波器的最优剪枝率组合问题,在优化过程中,不对剪枝率组合空间进行任何限制(即本发明的剪枝率取值范围设置为[0,1),没有限制),从而能获得真正的最优剪枝率组合;

42、本发明在滤波器剪枝策略上,对滤波器相似性评估中,采用多样本的滤波器特征图平均距离来评估滤波器的相似性,从而有效的避免了样本偏差为滤波器相似性带来的不利影响;

43、本发明能够在不影响神经网络精度的前提下对滤波器进行有效剪枝。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1