论文部分内容阅读
近年来,深度神经网络在计算机视觉、自然语言处理和文本数据等各个领域取得卓越成就。但随之而来的问题是深度神经网络随着模型加深和过度参数化,其网络规模、计算量、耗电量、存储量都在成倍增加,最终导致超大体系结构计算效率较低。尤其是对于具有受限计算和能力资源的应用程序,例如Web服务、移动和嵌入式设备。针对深度学习架构在计算上昂贵且占用大量内存,无法部署在内存资源低的设备(如手机)或移动端的问题,本文提出了一种基于剪枝与乘积量化组合使用对多种不同深度神经网络进行深度压缩的方法,解决深度神经网络中冗余参数过多,模型存储量大等问题。本文压缩网络的第一步是先正常搭建并训练好网络保存最佳参数模型。第二步即利用剪枝方法先阈值扫描确定阈值将网络权重矩阵中低于确定阈值的权重连接剪开减少深度神经网络中冗余参数,然后重新再训练网络补偿损失的性能,再利用乘积量化聚类实现权值共享,牺牲少部分精度,使得神经网络模型的参数量化为8bit,节省了网络的内存开销,提高了网络的压缩比和加速比。在基于GPU的Pytorch框架环境下,本文提出的方法在尽量不损失精度的前提下将LeNet-5、MLP、AlexNet、ResNet 和 VggNet-16 网络模型在 Mnist 或 CIFAR-10 等数据集实验下压缩至23至59倍,同时实现了 1.52至3.3倍的加速比,比单独剪枝压缩提高了至少一倍的压缩率,同时乘积量化相比Kmeans量化加速比提高了一倍以上。实验结果表明通过基于乘积量化结合剪枝的压缩方法,使得卷积神经网络在尽量不损失精度的要求下压缩比和加速比得到大幅度提升,从而让深度神经网络方法应用于嵌入式平台成为了可能。