论文部分内容阅读
近年来,卷积神经网络CNN(Convolutional Neural Network)被广泛地应用到各个领域。但由于其结构复杂,很难部署到移动端等设备中。要实现深度模型无损应用到移动端设备、提升智能软件用户体验,需要对深度卷积模型进行裁剪。目前出现的一些模型裁剪方法,如Han et al.通过设定相应阈值对网络参数进行裁剪的方法,需要对裁剪后的模型进行大量迭代微调,因此会浪费很多时间。与此同时在这类模型裁剪方法的后期,由于裁剪的粒度难以控制,导致很多参数被错误裁剪。参数在被裁剪之后将不会恢复,使得模型的预测精度下降。Guo et al.提出了一种模型的动态裁剪方式,但是这种裁剪方法需要设置很多超参数以保证裁剪策略的有效性。本文中,我们提出一种基于移动端的主动逐步裁剪方法ASP(Active Stepwise Pruning)以解决目前一些裁剪方法中遇到的问题。方法中使用Log函数控制整个裁剪的过程,该过程实现了对网络模型的主动逐步裁剪,达到对网络模型的边裁剪边微调,从而在根本上减少了模型的迭代微调次数。且在控制模型裁剪的后期,稀疏度变化逐渐减慢,以保证对模型剩余参数的谨慎裁剪,并最终提升了模型的预测精度。不同于其他方法需要设置很多的超参数,我们的方法仅需要设置三个超参数即可以对模型进行有效的裁剪。同时,为避免在模型裁剪过程中由于一些错误裁剪而丢失的重要参数,我们提出一种模型参数修复方法。针对我们提出的方法,裁剪策略和参数修复策略构成一个交替循环的过程,通过不断地更新网络模型不同层中的参数,最终提升了裁剪后深度网络模型的预测准确率。实验证明,我们的方法可以做到对一些深度网络模型进行有效地裁剪。论文中,我们分别对MobileNet、AlexNet、VGG-16以及ZFNet等深度网络模型进行实验,实验结果表明我们的方法在这些模型上分别达到了5.6X、19.4X、20.0X和15.2X倍的裁剪效果,网络的计算速度也因此有了很大的提升,并且深度网络模型的预测精度几乎没有任何的损失。和现有的网络模型压缩方法相比,我们的方法在这些模型上的压缩率分别提升约0.7%、3.2%、2.5%、4.7%。