论文《A Deep Neural Network Compression Pipeline: Pruning, Quantization, Huffman Encoding》

Pruning

  • by learning only the important connections.
  1. all connections with weights below a threshold are removed from the network.

  2. retrain the network to learn the final weights for the remaining sparse connections.

  3. store by compressed sparse row(CSR) or compressed sparse column(CSC) format
    • requires 2nnz + n + 1, nnz is the number of non-zero elements and n is the number of columns or rows.

    • store the index difference instead of the absolute position

  4. by 9× and 13× for AlexNet and VGG-16 model.

Quantization

  • quantize the weights to enforce weight sharing

Network quantization, further compresses the pruned network by reducing the number of bits required to represent each weight.

  1. Weight Sharing

    • k-means clustering
  2. Initialization of Shared Weights
    • Forgy(random).
      Since there are two peaks in the bimodal distribution, Forgy method tend to concentrate around those two peaks.
    • Density-based.
      This method makes the centroids denser around the two peaks, but more scatted than the Forgy method.
    • Linear initialization.
      Linear initialization linearly spaces the centroids between the [min, max] of the original weights.
  3. Feed-forward and Back-propagation

Huffman coding

  • Huffman coding

    Huffman code is a type of optimal prefix code that is commonly used for loss-less data compression.

总结

这篇论文的想法是比较好的,但是因为裁剪部分权值,会导致filter矩阵的稀疏性,所以需要特别的稀疏矩阵计算库才能支持以上的操作。

论文笔记——A Deep Neural Network Compression Pipeline: Pruning, Quantization, Huffman Encoding的更多相关文章

  1. Deep Learning 28:读论文“Multi Column Deep Neural Network for Traffic Sign Classification”-------MCDNN 简单理解

    读这篇论文“ Multi Column Deep Neural Network for Traffic Sign Classification”是为了更加理解,论文“Multi-column Deep ...

  2. ThiNet: A Filter Level Pruning Method for Deep Neural Network Compression笔记

    前言 致力于滤波器的剪枝,论文的方法不改变原始网络的结构.论文的方法是基于下一层的统计信息来进行剪枝,这是区别已有方法的. VGG-16上可以减少3.31FLOPs和16.63倍的压缩,top-5的准 ...

  3. 【论文笔记】Malware Detection with Deep Neural Network Using Process Behavior

    [论文笔记]Malware Detection with Deep Neural Network Using Process Behavior 论文基本信息 会议: IEEE(2016 IEEE 40 ...

  4. 论文笔记之:Decoupled Deep Neural Network for Semi-supervised Semantic Segmentation

    Decoupled Deep Neural Network for Semi-supervised Semantic Segmentation xx

  5. 论文阅读(XiangBai——【AAAI2017】TextBoxes_A Fast Text Detector with a Single Deep Neural Network)

    XiangBai——[AAAI2017]TextBoxes:A Fast Text Detector with a Single Deep Neural Network 目录 作者和相关链接 方法概括 ...

  6. A Survey of Model Compression and Acceleration for Deep Neural Network时s

    A Survey of Model Compression and Acceleration for Deep Neural Network时s 本文全面概述了深度神经网络的压缩方法,主要可分为参数修 ...

  7. 论文翻译:2022_PACDNN: A phase-aware composite deep neural network for speech enhancement

    论文地址:PACDNN:一种用于语音增强的相位感知复合深度神经网络 引用格式:Hasannezhad M,Yu H,Zhu W P,et al. PACDNN: A phase-aware compo ...

  8. XiangBai——【AAAI2017】TextBoxes_A Fast Text Detector with a Single Deep Neural Network

    XiangBai--[AAAI2017]TextBoxes:A Fast Text Detector with a Single Deep Neural Network 目录 作者和相关链接 方法概括 ...

  9. What are the advantages of ReLU over sigmoid function in deep neural network?

    The state of the art of non-linearity is to use ReLU instead of sigmoid function in deep neural netw ...

随机推荐

  1. 55、Android网络图片 加载缓存处理库的使用

         先来一个普通的加载图片的方法. import android.annotation.SuppressLint; import android.app.Activity; import and ...

  2. docker 中安装 FastDFS 总结

    如题,参考各资料后,安装FastDFS总结.基于已有docker镜像 https://hub.docker.com/r/luhuiguo/fastdfs/ docker pull luhuiguo/f ...

  3. The Thinking of AutomaticTest(有关自动化测试的思考)

    考虑因素: 容易维护 简洁易懂 代码重用性好 系统的稳定性强 UI自动化:   数据的获取:装载的数据文件类型.数据的形式.数据的解析方法定义. 1.利用Junit单元测试组织用例,明确输入数据.预期 ...

  4. MySQL中的注释(有三种)

    MysQL支持三种注释: .#... (推荐这种,具有通性) ."-- ..." (注意--后面有一个空格) ./*...*/

  5. JD-GUI

    JD-GUI http://jd.benow.ca/ JD-GUI可到官網直接下載.官網除了JD-GUI之外,另提供了Eclipse(JD-Eclipse)和IntelliJ(JD-IntelliJ) ...

  6. iOS之block,一点小心得

    作为一个iOS开发程序员,没用过block是不可能的.这次我探讨的是block原理,但是有些更深层次的东西,我也不是很清楚,以后随着更加了解block将会慢慢完善. 第一个问题,什么是block? 我 ...

  7. 关于CSDN 2016博客之星评选活动的感触

    一.前言 想想去年的这个时候还接到CSDN邀请,参加了"CSDN 2015博客之星"的评选活动, CSDN2015博客之星评选之拉票环节 而今年却没有接到CSDN的邀请,内心有点小 ...

  8. Dijkstra 算法初探

    一.Dijkstra 算法的介绍     Dijkstra 算法,又叫迪科斯彻算法(Dijkstra),算法解决的是有向图中单个源点到其他顶点的最短路径问题.举例来说,如果图中的顶点表示城市,而边上的 ...

  9. 吴超老师课程--Hive的介绍和安装

    1.Hive1.1在hadoop生态圈中属于数据仓库的角色.他能够管理hadoop中的数据,同时可以查询hadoop中的数据.  本质上讲,hive是一个SQL解析引擎.Hive可以把SQL查询转换为 ...

  10. appium API java

    原创内容,未经允许,禁止转载! driver.close();//关闭 driver.closeApp();//关闭应用,其实就是按home键把应用置于后台 driver.currentActivit ...