论文部分内容阅读
随着技术的发展,深度神经网络所代表的AI,是被大家所公认的技术。目前,深度卷积神经网络已被广泛的在计算机视觉、语音、自然语言等各大领域应用,并获得很好的效果和巨大的成功。而深度卷积神经网络则是深度学习不可缺少的一部分,但是深度卷积神经网络模型参数巨大,迁移学习困难,硬件需求条件巨大,在较小的硬件上更是无法训练,或者使用这些效果较好的模型。如何将深度卷积神经网络模型压缩的更小,使得模型能够在较小的硬件设备上运行,其好处是显而易见的。因此,本文提出的一种深度网络模型的压缩方法,主要包括以下三大步骤:第一步,提出一个自适应重复剪枝算法(Adaptive repetitive Pruning),对网络的权重进行逐层阈值修剪,通过阈值递增来修剪,同时对网络进行恢复性训练,找到影响模型精度的连接,然后重复裁剪权值连接,留下重要连接,裁剪不重要的连接,同时保证网络的精度不变。完成对网络模型的第一步压缩,使得深度网络参数得到有效的减少。第二步,使用Mini Batch-K-means聚类算法对权重每层进行聚类,通过对每层权值进行聚类后,将所得的聚类中心来表示每层的权值,这样可以实现权值共享的效果,此时得到表示聚类中心的码书,然后对码书进行精度恢复训练,保持原先的精度。然后,对聚类中心进行量化过程减少表示权值需要的比特,从而降低网络参数需要的空间。进一步极大压缩了深度神经网络。第三步,对剪枝、权值共享量化后的参数,使用霍夫曼编码技术解决权值编码长短不一致,导致存储的时候会造成模型的索引冗余问题,再次对网络完成了有效的压缩,在进一步降低了网络所需的空间。本文在基于TensorFlow框架分别对Le-5网络、AlexNet网络和VGG-16网络进行实验。实验证明,本文提出的方法有效的压缩了网络模型的参数,减少的模型的复杂度的同时,模型的精度没有降低。同时,本文还在精度恢复训练的过程中不断的对参数调整进行对比实验,最后通过对比其它压缩方法,证明了本文压缩算法的有效性。最终,在精度不变的前提下,在Le-5网络上压缩了40倍,在AlexNet网络上压缩了37倍,在VGG-16网络上压缩了55倍。