基于滤波器聚类与缩放系数的融合剪枝算法研究

2022-07-02 12:23谭俊波赵鸣李杰
电脑知识与技术 2022年15期
关键词:聚类神经网络

谭俊波 赵鸣 李杰

摘要:為了进一步压缩神经网络模型大小,使网络能部署到移动设备上运行,该文提出了一种基于滤波器聚类与缩放系数的融合剪枝算法。该方法首先通过近邻传播聚类方法,找出相似滤波器,并删除冗余部分,其次BN层缩放系数进一步对通道进行剪枝,最后,通过微调进行恢复精度训练,达到在不损失网络精度的前提下,减小网络模型大小。在VGG16网络上使用CIFAR-10数据集进行实验,结果表明,在保持较高网络精度的前提下,与原模型相比,该文提出的算法参数量减少了90.56%,计算量缩减为原来的74.58%,新模型的内存占用和计算速度都优于原模型,与同类算法比较,该算法在计算速度和模型大小等维度有明显优势。

关键词:BN层缩放系数;聚类;模型压缩;网络剪枝;神经网络

中图分类号:TP18      文献标识码:A

文章编号:1009-3044(2022)15-0085-03

1 概述

神经网络近年来迅速发展,从VGG[1]、GoogLeNet[2]、ResNet[3]和DenseNet[4],到新型网络SqueezeNet[5]、MobileNet[6]和ShuffleNet[7],都取得了非常不错的效果。伴随着算法模型需要实现的功能越来越复杂,神经网络层数越来越多,参数量和计算量也随之变大。然而,由于嵌入式设备硬件条件的限制,为了能将这种大型网络模型成功部署在这类移动设备,模型压缩算法因此得以发展。He等[8]提出新的滤波器剪枝,基于几何中心标准而不是基于范数,修剪冗余的卷积核,实现网络的加速;ZHANG等人[9]提出了一种基于LASSO的滤波器选择策略,识别有代表性的滤波器和一个最小二乘重建误差,重建输出;上述方法对神经网络模型精简等相关维度在一定程度上都取得了进展,但是模型压缩程度以及加速计算程度不够,不一定适合部署到移动终端设备上。基于此,本文提出了一种融合剪枝算法。本文剩余部分内容安排如下:

第二章:详细描述本文算法的步骤及细节;第三章:陈述实验结果并对结果进行分析解释;第四章:对算法综合性能进行总结及展望。

2  融合剪枝算法

网络剪枝的核心思想就是在保证模型性能的前提下,最大程度减少参数、压缩网络模型、实现模型加速。本文提出了基于滤波器聚类与缩放系数的融合剪枝算法,其流程示意图如图1所示。

2.1基于近邻传播聚类的滤波器剪枝

Affinity Propagation算法[10]是一个迭代过程,在这个过程中,每一个点有两种属性值(吸引度和归属度值)不断地更新,最后,直到产生若干个高质量的中心(类似于质心),此时,将其余的数据分配到相应的聚类中。

如图2所示,提出将每个滤波器作为一个高维数据点,将其重新格式化为向量形式,即:对于任意两个滤波器,近邻传播将它们的相似图作为输入,反映了滤波器适合作为滤波器范例的程度。欧几里得距离为:

[ski,j=-wki-wkj2s.t.  1≦i,j≦ck, i≠j] (1)

当[i=j]时,表示滤波器对自身样本的适应性(自相似性)。可以定义为:

[ski,i=medianwk]                          (2)

median(·)返回输入的中值。

更大的[sk(i,i)]导致更多的范例滤波器,然而,这将减少更少的复杂性。使用公式(2)中第k层整体权重的中值,可以得到中等数量的样本。为求解,将公式(2)重新表述如下:

[ski,i=β*medianwki]                 (3)

其中[β]是一个预先给定的超参数。公式(3)与公式(2)有两个不同之处:首先,中值是在第i个滤波器上获得的,而不是整个权值。因此,相似度可以更适应滤波器。其次,引入的β提供了一个可调的模型复杂度降低,较大的[β]降低很高的复杂性,反之亦然。

除了相似度以外,在滤波器之间传递的消息还有两种,即吸引度和归属度,以决定哪些滤波器是范例,以及对于每个其他滤波器,它属于哪个范例。

吸引度通过考虑滤波器[wki]的其他潜在范例,表明滤波器[wkj]是否适合作为滤波器[wki]的范例。[r(i,j)]的更新如下:

[ri,j←si,j-maxj's.t.  j'≠jai,j'+si,j's.t.  1≦i,j≦ck, i≠j]   (4)

其中[a(i,j)]是下面的归属度,并初始化为零。最初,[r(i,j)]被设置为[s(i,i)]减去滤波器和其他滤波器之间的最大相似点。之后,如果将一个滤波器分配给其他样本,其归属度在下面的公式(6)中都小于零,这进一步降低了公式(4)中[s(i, j’)]的有效性,从而将从候选样本中去除。

对于[i=j],“自我吸引度”给出如下定义:

[ri,i←si,i-maxi's.t.  i'≠isi,i']              (5)

它被设置为[s(i,i)]减去滤波器和其他滤波器之间的最大相似点。它反映了滤波器是一个范例的可能性。

至于归属度,首先给出它的更新规则: [ai,j←min0,ri,j+i's.t.  i'≠i,j'max0,ri,j's.t.  1≦i,j≦ck, i≠j](6)

归属度[a(i,j)]被设置为[r(j,j)]加上滤波器的其他吸引度之和。max()排除了消极的吸引度,因为只需要关注好的滤波器(积极的吸引度)。[r(j,j)<0]表示滤波器更适合于属于另一个范例而不是范例本身。可以看出,如果其他一些滤波器对负有积极的吸引度,那么作为范例的滤波器的可用性就会增加。因此,归属度反映了选择作为其范例的合适程度,因为它考虑了应该作为范例的其他滤波器的支持。最后,min函数限制了强大积极吸引度的影响,这样总和不能超过零。

对于[i=j],“自我归属度”定义为:

[ai,i←i's.t.  i'≠i,imax0,ri,i']               (7)

这反映了基于其他滤波器的积极吸引度,滤波器[wki]是一个范例。

吸引度和归属度的更新是迭代的。为了避免数值振荡,考虑每条消息在第t更新阶段的加权和:

[rti,j=λ*rt-1i,j+1-λ*rti,j]               (8)

[αti,j=λ*αt-1i,j+1-λ*αti,j] (9)

其中[0≦λ≦1]為加权因子。

经过固定的迭代次数后,滤波器作为它的范例,满足:

[argmaxjri,j+αi,js.t.  1≦j≦ck] (10)

当[i=j]时,滤波器选择自身作为范例。所有选中的过滤器组成了示例。因此,样本的数量是自适应的,没有人为标识。

2.2基于BN层缩放因子的通道剪枝

由于BN层能加速网络收敛,已经在神经网络之中广泛使用。在BN层中,两个优化参数(缩放系数和偏移系数)能使网络能够学习到原网络所要学习的特征分布。

[μB]是输入的均值,[σ2β]是方差。在进行卷积操作时,每一个滤波器都会产生一个对应的特征图,而在进行归一化操作时,对于每个特征图来说,有唯一对应的[γ]。因此,可以通过[γ]确定特征图,再利用特征图确定与其相对应的滤波器,由此判断该滤波器的重要程度。

2.3融合剪枝

融合剪枝方法是结合滤波器AP聚类和BN层缩放因子通道剪枝两种剪枝方法,去除掉冗余滤波器和通道,以此达到最精简化的网络模型结构。本文通过上述融合剪枝方法对VGG16网络进行剪枝,以尽可能达到最大比例压缩的网络模型。表2是融合剪枝算法具体过程:

3  实验

为了验证模型剪枝算法的效果,本文实验环节将基于Pytorch框架,在VGG模型上进行。本文使用的实验设备基于Windows 10系统,采用处理器 Intel(R) Core(TM) i5-10300H CPU @ 2.50GHz,显卡NVIDIA GeForce GTX 1650,在虚拟环境PyCharm 2020.1.2 (Professional Edition),pytorch 1.8.0,torchversion 0.9.0,CUDA version 10.2.89下进行实验。

首先,实验针对包含10种常见物体的数据集CIFAR-10进行剪枝测试。选用文献[11]和FPGM两种网络剪枝算法与本文提出算法对比,在准确率、参数量减少等各方面进行比较,验证本文融合剪枝算法的优劣。

经过剪枝与微调后,几种不同算法准确率变化如图3所示,可以发现,最后收敛值相差不大。所提出的剪枝方法准确率相比其他算法,准确率并未损失很多,这是符合实验预期的。与其他算法相比,极大的压缩参数量以及计算量,达到精简和加速网络模型的目的。

4 结论

为了保持模型精度得到一个更加精简紧凑的网络模型,本文提出了融合剪枝方法,首先采用滤波器聚类剪枝,去除冗余滤波器,然后根据基于BN层缩放系数剪枝去除不重要通道,两种相结合以达到最大压缩。实验结果表明,与PF和FPGM相比,该算法在保持精度的前提下,使得计算量压缩了3.9倍,参数量压缩了10.6倍。下一步可以考虑对量化进行研究,进一步加速网络模型计算速度。

参考文献:

[1] Simonyan K, Zisserman A. Very deep convolutional networks for large-scale image recognition [EB/OL]. https://arxiv.org/abs/1409.CoRR, 2014,1409(15):1556-1563.

[2] Szegedy C,Liu W,Jia Y Q,et al.Going deeper with convolutions[C]//2015 IEEE Conference on Computer Vision and Pattern Recognition.June 7-12,2015,Boston,MA.IEEE,2015:1-9.

[3] He K M,Zhang X Y,Ren S Q,et al.Deep residual learning for image recognition[C]//2016 IEEE Conference on Computer Vision and Pattern Recognition.June 27-30,2016,Las Vegas,NV,USA.IEEE,2016:770-778.

[4] Huang G,Liu Z,van der Maaten L,et al.Densely connected convolutional networks[C]//2017 IEEE Conference on Computer Vision and Pattern Recognition.July 21-26,2017,Honolulu,HI,USA.IEEE,2017:2261-2269.

[5] Iandola F N, Han S, Moskewicz M W, et al. Squeeze Net: Alex Net-level accuracy with 50x fewer parameters and < 0.5 MB model size[J/OL].ArXiv Preprint .(2016-11-04).[2020-04-20]. https://arxiv.org/abs/1602.07360.

[6] Howard A G, Zhu M, Chen B, et al. Mobilenets: Efficient convolutional neural networks for mobile vision applications[J]. arXiv preprint arXiv:1704.04861, 2017.

[7] Zhang X Y,Zhou X Y,Lin M X,et al.ShuffleNet:an extremely efficient convolutional neural network for mobile devices[C]//2018 IEEE/CVF Conference on Computer Vision and Pattern Recognition.June 18-23,2018,Salt Lake City,UT,USA.IEEE,2018:6848-6856.

[8] He Y,Liu P,Wang Z W,et al.Filter pruning via geometric Median for deep convolutional neural networks acceleration[C]//2019 IEEE/CVF Conference on Computer Vision and Pattern Recognition (CVPR).June 15-20,2019,Long Beach,CA,USA.IEEE,2019:4335-4344.

[9] He Y H,Zhang X Y,Sun J.Channel pruning for accelerating very deep neural networks[C]//2017 IEEE International Conference on Computer Vision.October 22-29,2017,Venice,Italy.IEEE,2017:1398-1406.

[10] Lin M,Ji R,Li S,et al.Network pruning using adaptive exemplar filters[J].IEEE Transactions on Neural Networks and Learning Systems,2021.

[11] Liu Z,Li J G,Shen Z Q,et al.Learning efficient convolutional networks through network slimming[C]//2017 IEEE International Conference on Computer Vision.October 22-29,2017,Venice,Italy.IEEE,2017:2755-2763.

【通聯编辑:唐一东】

猜你喜欢
聚类神经网络
神经网络抑制无线通信干扰探究
基于DBSACN聚类算法的XML文档聚类
条纹颜色分离与聚类
基于Spark平台的K-means聚类算法改进及并行化实现
基于神经网络的拉矫机控制模型建立
基于改进的遗传算法的模糊聚类算法
复数神经网络在基于WiFi的室内LBS应用
基于支持向量机回归和RBF神经网络的PID整定
一种层次初始的聚类个数自适应的聚类方法研究
基于神经网络分数阶控制的逆变电源