模型压缩和剪枝

为什么要压缩网络?

做过深度学习的应该都知道,NN大法确实效果很赞,在各个领域轻松碾压传统算法,不过真正用到实际项目中却会有很大的问题:

计算量非常巨大;
模型特别吃内存;
这两个原因,使得很难把NN大法应用到嵌入式系统中去,因为嵌入式系统资源有限,而NN模型动不动就好几百兆。所以,计算量和内存的问题是作者的motivation;

如何压缩?

论文题目已经一句话概括了:

Prunes the network:只保留一些重要的连接;
Quantize the weights:通过权值量化来共享一些weights;
Huffman coding:通过霍夫曼编码进一步压缩;
效果如何?

Pruning:把连接数减少到原来的 1/13~1/9; 
Quantization:每一个连接从原来的 32bits 减少到 5bits;

最终效果: 
- 把AlextNet压缩了35倍,从 240MB,减小到 6.9MB; 
- 把VGG-16压缩了49北,从 552MB 减小到 11.3MB; 
- 计算速度是原来的3~4倍,能源消耗是原来的3~7倍;

优化模型以减小尺寸,降低延迟和功耗,同时使精度损失可以忽略不计

通过量化模型,开发人员还将获得降低功耗的额外好处。这对于将模型部署到手机之外的终端设备是非常有用的。

下文是优必选悉尼AI研究院对其入选CVPR 2017的两篇论文《基于低秩稀疏分解的深度模型压缩算法》和《利用奇异值界定提升深度神经网络训练效果和识别精度》进行的解读,除此之外他们还对会上Workshop竞赛的进行了相关介绍。

基于低秩稀疏分解的深度模型压缩算法——On Compressing Deep Models by http://www.sohu.com/a/161477815_114877Low

你可能感兴趣的:(Deep,Learning)