漫谈Deep Compression(一)简介与背景

作者: Efackw13 | 来源:发表于2017-03-24 23:03 被阅读507次

    Index

    系列文章结构如下:

    • 漫谈Deep Compression(一)简介与背景
    • 漫谈Deep Compression(二)剪枝
    • 漫谈Deep Compression(三)量化
    • 漫谈Deep Compression(四)哈夫曼编码
    • 漫谈Deep Compression(五)ICLR2017: DeepRebirth
    • 漫谈Deep Compression(六)关于硬件

    Introduction

    深度学习在CV, NLP, 医疗等方面都有显著成果. 毫无疑问, 将深度学习将应用到移动端, 嵌入式系统等是很有吸引力的. 然而, 深度学习模型的训练与应用涉及大量的矩阵运算:例如, 在CNN模型中存在大量的卷积运算. 这不仅代表着我们需要高效的矩阵运算能力, 同时代表我们要存储大量权值以及参数.
    从硬件上来说, 我们可以通过卷积核解构以及复用, 通过更低的存储位宽设计来加速卷积运算. 然而, 对于低廉的移动设备来说, 专用卷积加速核的成本是高昂的. 因此, 如何将模型从算法上压缩至移动设备可接受的程度是很有吸引力的.

    本系列文章主要基于ICLR2016 best paper* Deep Compression:Compressing Deep Neural Networks with Pruning, Trained Quantization and Huffman Coding*[1]中介绍了一种深度压缩的方法: 通过对模型进行剪枝, 量化以及编码, 在几乎不影响网络准确度的情况下, 将模型大学压缩至35~49倍(如下).

    表一

    Background

    深度压缩基于一个很重要的理论: 即神经网络模型通常是over-parametrized(过参数化)的[2]. 过参数化指的是, 我们通常不需要那么多参数就可以表达出模型特征, 例如, 为了拟合f(x)=kx+b, 我们的模型为f(x)=acx+b. 此时a, c参数是高度相关的, 因为他们本质上可以表达为c=k/a.
    有许多研究尝试消除冗余: Vanhoucker等[3]用定点数以及八位整数激活. Anwar[4]等通过L2误差最小化来量化网络, 并且在MNIST和CIFAR-10数据集达到了很好的精确度. Denton等[5]通过低秩矩阵来表示网络权重.
    此外, 还有Hash[5], 用全局平均池化代替全连接层[6], 剪枝[7]等方法.

    Architecture

    深度压缩过程

    本文中深度压缩过程主要包括了剪枝, 量化, 编码. 在接下来的文章中将详细解析各部分的原理以及实现.

    可以看出, Deep Compression并不算是太革新的模型压缩方法. 剪枝, 量化和哈夫曼编码都是各种压缩算法里常见的. 其亮点在于能在不损失精度的前提下将VGG, AlexNet等网络压缩几十倍. VGG和AlexNet在模型预训练以及迁移学习中十分重要. 今年2月份, 创业公司XNOR.AI通过另一种压缩方法:二值神经网络, 将模型运用到树莓派, 获得了260万美元的投资.

    Reference

    [1]Han S, Mao H, Dally W J. Deep Compression: Compressing Deep Neural Networks with Pruning, Trained Quantization and Huffman Coding[J]. Fiber, 2015, 56(4):3--7.
    [2]Denil, Misha, Shakibi, Babak, Dinh, Laurent, de Freitas, Nando, et al. Predicting parameters in deep
    learning. In Advances in Neural Information Processing Systems, pp. 2148–2156, 2013.
    [3]Vanhoucke, Vincent, Senior, Andrew, and Mao, Mark Z. Improving the speed of neural networks on
    cpus. In Proc. Deep Learning and Unsupervised Feature Learning NIPS Workshop, 2011.
    [4]Anwar, Sajid, Hwang, Kyuyeon, and Sung, Wonyong. Fixed point optimization of deep convolutional
    neural networks for object recognition. In Acoustics, Speech and Signal Processing (ICASSP),
    2015 IEEE International Conference on, pp. 1131–1135. IEEE, 2015
    [5]Chen, Wenlin, Wilson, James T., Tyree, Stephen, Weinberger, Kilian Q., and Chen, Yixin. Compressing neural networks with the hashing trick. arXiv preprint arXiv:1504.04788, 2015.

    相关文章

      网友评论

      • 亦珩:大神,background部分,参考文献6,7并未给出,请问是什么呢?
      • 亦珩:最近正在研究这个,一直很迷茫,大神的文章思路清晰,目前看到过最棒的解读!希望大神多多分享
      • hhxjzyr:您好,大神,前面的实现,我打算使用 tensorflow实现一下,但是没有看到 你说的这篇文章的 (四) (五)(六) 部分请问还会有更新嘛:joy:

      本文标题:漫谈Deep Compression(一)简介与背景

      本文链接:https://www.haomeiwen.com/subject/gesnnttx.html