深度压缩网络 | 较大程度减少了网络参数存储问题

2017 年 7 月 9 日 计算机视觉战队 Edison_G

神经网络是计算密集型和内存密集型,很难使它们用有限的硬件资源去部署在嵌入式系统中。为了解决这种限制,本文引入“深度压缩”,一共有三个阶段的流水线:剪枝量化霍夫编码,它们一起工作去减少神经网络的存储问题,并在没有影响精确度的情况下压缩了35倍到49倍。最后在ImageNet数据集上的实验结果,将AlexNet压缩了35倍(从240MB压缩到6.9MB)并没有精确度损失;将VGG-16压缩了49倍(从552MB压缩到11.3MB),也没有精确度损失。

训练主要步骤:

  • 剪枝神经网络,只学习重要的连接;

  • 量化权值去使权值共享;

  • 应用霍夫编码继续压缩。




主要框架

一、网络剪枝

        网络剪枝已经被广泛研究于压缩CNN模型。在早期工作中,网络剪枝已经被证明可以有效地降低网络的复杂度和过拟合。如图1所示,一开始通过正常的网络训练学习连接;然后剪枝小权重的连接(即所有权值连接低于一个阈值就从网络里移除);最后再训练最后剩下权值的网络为了保持稀疏连接。剪枝减少了AlexNet和VGG-16模型的参数分别为9倍和13倍。

      为了进一步压缩,本文存储不同索引而不是绝对的位置,然后进行编码,8 bits用于卷基层,5 bits用于全连接层。当需要的不同索引超过所需的范围,就用补零的方案解决,如图2中,索引出现8,用一个零填补。

二、Trained quantization and weight sharing

        网络量化权值共享会进一步压缩剪枝的网络,通过减少所需的bits数量去表示每一个权值。本文限制有效权值的数量,其中多个连接共享一个相同权值,并去存储,然后微调这些共享的权值。

        假设有4个输入神经元和4个输出神经元,权值就是一个矩阵。在图3的左上角是一个权值矩阵,在左下角是一个梯度矩阵。权值被量化到4 bits(用4种颜色表示),所有的权值在相同的通道共享着相同的值,因此对于每一个权值,只需要保存一个小的索引到一个共享权值表中。在更新过程中,所有的梯度被分组,相同的颜色求和,再与学习率相乘,最后迭代的时候用共享的质心减去该值。

        为了计算压缩率,给出个簇,本文只需要 bits去编码索引,通常对于一个神经网络有个连接且每个连接用 bits表达,限制连接只是用个连接共享权值将会导致一个压缩率:

        例如在图3中,有一个的初始权值,但只有4个共享权值。原始的需要存储16个权值,每个需要32bits,现在只需要存储4个有效权值(蓝色,绿色,红色和橙色),每个有32bits,一共有16个2-bits索引,得到的压缩率为16*32/(4*32+2*16)=3.2。

权值共享

         一个神经网络的每一层,本文使用K-Means聚类去确定共享权值,权值不跨层共享。分配个原始权值到个簇,,所以去最小化簇类离差平方和(WCSS):

共享的权值初始化

        质心初始化影响聚类的质量,因而会影响网络的预测精确度。本文实验了三种初始化方法:Forgy(random),density-based和linear初始化。

        较大的权值比较小的权值有着更重要的角色,但是较大的权值很少。因此,Forgy和density-based初始化很少有大的绝对值,这就导致较少的权值被微弱表达。但是Linear初始化没有遇到这个问题,实验部分比较了准确性,发现Linear初始化效果最好。

三、霍夫曼编码

        霍夫曼编码是一个最优的前缀码,通常被用于无损失数据压缩。它用可变长码字去编码源符号。通过每个符号的发生概率驱动,更常见的符号用较少的bits表达。

四、实验

        实验一共用了四个网络:2个在MNIST数据集,另2个在ImageNet数据集。该训练用Caffe框架运行,训练时,霍夫曼编码不需要训练,在所有微调结束后实现线下操作。

五、总结

        本文提出了“深度压缩”,在没有影响精确度的情况下进行神经网络的压缩。本文的方法使用了剪枝、量化网络权值共享和应用霍夫曼编码操作。本文强调了实验在AlexNet上,没有精确度损失的情况下减少了参数存储,压缩了35倍。相同的结果在VGG-16LeNET网络中,分别压缩了49倍和39倍。这种结果就会导致更小的存储要求并应用到手机APP中。本文的压缩方法有助于复杂的神经网络应用在移动程序中,解决了应用程序的大小和下载带宽限制。



登录查看更多
0

相关内容

[ICML-Google]先宽后窄:对深度薄网络的有效训练
专知会员服务
34+阅读 · 2020年7月5日
【CVPR 2020-商汤】8比特数值也能训练卷积神经网络模型
专知会员服务
25+阅读 · 2020年5月7日
【ACL2020-伯克利】预训练Transformer提高分布外鲁棒性
专知会员服务
19+阅读 · 2020年4月14日
专知会员服务
44+阅读 · 2020年3月6日
【ICLR-2020】网络反卷积,NETWORK DECONVOLUTION
专知会员服务
38+阅读 · 2020年2月21日
深度神经网络模型压缩与加速综述
专知会员服务
128+阅读 · 2019年10月12日
网络宽度对深度学习模型性能有什么影响?
极市平台
15+阅读 · 2019年7月7日
全连接网络到卷积神经网络逐步推导
炼数成金订阅号
7+阅读 · 2018年4月25日
CNN模型压缩与加速算法综述
微信AI
6+阅读 · 2017年10月11日
简单聊聊压缩网络
计算机视觉战队
3+阅读 · 2017年10月4日
CNN 模型压缩与加速算法综述
机器学习研究会
16+阅读 · 2017年8月25日
卷积神经网络(CNN)学习笔记1:基础入门
黑龙江大学自然语言处理实验室
14+阅读 · 2016年6月16日
A survey on deep hashing for image retrieval
Arxiv
14+阅读 · 2020年6月10日
Parsimonious Bayesian deep networks
Arxiv
5+阅读 · 2018年10月17日
Arxiv
7+阅读 · 2018年3月22日
Arxiv
22+阅读 · 2018年2月14日
Arxiv
6+阅读 · 2018年1月29日
VIP会员
相关VIP内容
相关资讯
网络宽度对深度学习模型性能有什么影响?
极市平台
15+阅读 · 2019年7月7日
全连接网络到卷积神经网络逐步推导
炼数成金订阅号
7+阅读 · 2018年4月25日
CNN模型压缩与加速算法综述
微信AI
6+阅读 · 2017年10月11日
简单聊聊压缩网络
计算机视觉战队
3+阅读 · 2017年10月4日
CNN 模型压缩与加速算法综述
机器学习研究会
16+阅读 · 2017年8月25日
卷积神经网络(CNN)学习笔记1:基础入门
黑龙江大学自然语言处理实验室
14+阅读 · 2016年6月16日
相关论文
A survey on deep hashing for image retrieval
Arxiv
14+阅读 · 2020年6月10日
Parsimonious Bayesian deep networks
Arxiv
5+阅读 · 2018年10月17日
Arxiv
7+阅读 · 2018年3月22日
Arxiv
22+阅读 · 2018年2月14日
Arxiv
6+阅读 · 2018年1月29日
Top
微信扫码咨询专知VIP会员