论文笔记——A Deep Neural Network Compression Pipeline: Pruning, Quantization, Huffman Encoding
论文《A Deep Neural Network Compression Pipeline: Pruning, Quantization, Huffman Encoding》
Pruning
- by learning only the important connections.
all connections with weights below a threshold are removed from the network.
retrain the network to learn the final weights for the remaining sparse connections.
- 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
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.
- Weight Sharing
- k-means clustering
- 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.
- Forgy(random).
- 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的更多相关文章
- 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 ...
- ThiNet: A Filter Level Pruning Method for Deep Neural Network Compression笔记
前言 致力于滤波器的剪枝,论文的方法不改变原始网络的结构.论文的方法是基于下一层的统计信息来进行剪枝,这是区别已有方法的. VGG-16上可以减少3.31FLOPs和16.63倍的压缩,top-5的准 ...
- 【论文笔记】Malware Detection with Deep Neural Network Using Process Behavior
[论文笔记]Malware Detection with Deep Neural Network Using Process Behavior 论文基本信息 会议: IEEE(2016 IEEE 40 ...
- 论文笔记之:Decoupled Deep Neural Network for Semi-supervised Semantic Segmentation
Decoupled Deep Neural Network for Semi-supervised Semantic Segmentation xx
- 论文阅读(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 目录 作者和相关链接 方法概括 ...
- A Survey of Model Compression and Acceleration for Deep Neural Network时s
A Survey of Model Compression and Acceleration for Deep Neural Network时s 本文全面概述了深度神经网络的压缩方法,主要可分为参数修 ...
- 论文翻译: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 ...
- 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 目录 作者和相关链接 方法概括 ...
- 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 ...
随机推荐
- 54、Android 粒子效果之雨(下雨的效果)
核心内容: 1.绘制下雨场景的个体.雨点(直线) 2.让直线动起来 3.处理边界问题 4.构造雨点对象 5.雨点大小设置 6.速度设置和角度设置等 7.添加多个雨点 8.抽离可以在 XML 中影响的属 ...
- java集合 stream 相关用法(1)
java8新增一种流式数据,让操作集合数据更简单方便. 定义基本对象: public class Peo { private String name; private String id; publi ...
- CKEDITOR 4.6.X 版本 插件 弹出对话框 Dialog中 表格 Table 自定义样式Style 问题
项目开发过程中,发现CKEDITOR 插件的弹出框 内 如果跟据项目需要写表格(table tr td),表格的边框等属性会被 CKEDITOR的清除或覆盖,导致表格很难看. 问题关键: 插件弹出框d ...
- 百度订单Api注意事项
背景介绍: 申请的百度地图API,采用javascript sdk方式 页面引用 问题1:更换域名导致定位插件不能用 需要修改百度地图-应用中的白名单设置,按照规则添加新的域名 问题2:http与ht ...
- Windows 磁盘分区
在“我的电脑”右键,点击“管理”,打开计算机管理,然后如图操作
- 巨蟒python全栈开发-第22天 内置常用模块1
一.今日主要内容 1.简单了解模块 你写的每一个py文件都是一个模块 数据结构(队列,栈(重点)) 还有一些我们一直在使用的模块 buildins 内置模块.print,input random 主要 ...
- bootstrap-datetimepicker 滚动错位问题
问题:在页面上弹出控件的时候,滚动后面页面,时间控件就会错位. 解决方法1: 搜索bootstrap-datetimepicker.js里面的"show:"方法,在this.pla ...
- Checksum 磁盘扇区故障检测
w https://en.wikipedia.org/wiki/Checksum https://zh.wikipedia.org/wiki/校验和 A checksum is a small-siz ...
- ios cocos2d 使用 sneakyInput 插件
昨晚看了篇使用sneakyInput插件实现模拟手柄的代码,不过我加上后出现了很多问题.最后只看如何实现,没有自己动手去操作.今天终于吧问题都解决了.记录下来.也供别人参考. 首先要先加入libz.d ...
- IO 流之字符流的缓冲区
缓冲区的出现提高了对数据的读写效率 对应类: BufferedWriter BufferedReader 缓冲区需要结合流才可以使用, 对流的功能进行了增强, 即对流的操作起到装饰作用 使用缓冲区实现 ...