[deep compression] compressing deep neural networks 论文学习
来源:互联网 发布:prezi 5.2.3 for mac 编辑:程序博客网 时间:2024/05/22 05:21
deep compression 深度压缩 ICLR2016
论文地址:https://arxiv.org/abs/1510.00149
deep compression 分为三步,针对fully connected layer压缩:
(1) network pruning
(2) weight sharing
(3) huffman coding
1,network 剪枝
剪枝过程看作是最小化loss的过程:
这里的L是损失函数,里面是权重W和二值mask的点积,这里的二值mask表示的是参数w重要与否,比如w1是重要的权重参数,所以h1=1,反之h1=0.
那么怎么知道这个w的重要性呢?!
论文中说设置了threshold,这个阈值是w的绝对值平均值(the average absolute value), a=threshold, b=threshold+t ( t 是很小的实数 a small margin t ).
这个式子这样想比较容易理解:将a和b看成同一个阈值,实际上它们相差非常小,只是一个很小很小的t, 看成同一个threshold影响不大。所以这里实际上就两种情况,一种大于threshold, 表示这个w是重要的,另一种是小于threshold, 表示这个w不重要,可有可无,可以修剪掉。W采用拉格朗日和梯度下降机制来更新:
反复剪枝,观察loss的变化,如果loss上升,证明这个剪枝不明智,重新修剪,流程图如下:
修剪w之后, 权值分布分成大于零和小于零两部分,论文中没有解释为什么需要修剪成w这样分布,是不是大于零的表示这个w对loss有着正影响,小于零的表示负影响,但是为什么要这样分别考虑影响?说明吧负影响的剪掉?!
2,权值共享
论文中认为,权值相差很小的w没有必要单独使用不同的权重值,这些相差很小的w群体可以共享一个average weight。此处用k均值聚类算法,但是K均值算法有个bug是初始化会严重影响聚类效果,所以这里采用了Forgy, Density-based 和 Linear 三种方法来对比初始化权值的效果, 并且选择了13 聚类数。
3,Huffman 编码
用于最后的硬压缩,减小parameters memory
总体流程图:
experimental result
- [deep compression] compressing deep neural networks 论文学习
- 【论文阅读笔记】DEEP COMPRESSION:COMPRESSING DEEP NEURAL NETWORKS WITH PRUNING, TRAINED QUANTIZATION...
- 【论文阅读】Deep Compression: Compressing Deep Neural Networks with Pruning, Trained Quantization and Huff
- 论文记录-Deep Compression:Compressing DeepNeural Networks With Pruning, Trained Quantization And Huffman
- 【深度学习论文笔记】Deep Neural Networks for Object Detection
- ImageNet Classification with Deep Convolutional Neural Networks 论文学习
- 对抗样本论文学习:Deep Neural Networks are Easily Fooled
- Understanding Neural Networks Through Deep Visualization论文
- 深度学习(六十九)darknet 实现实验 Compressing Deep Neural Networks with Pruning, Trained Quantization and Huffma
- [论文解读] Deep Compression
- Deep learning-------------Neural networks
- neural networks and deep learning 学习笔记
- Improving Deep Neural Networks学习笔记(一)
- Improving Deep Neural Networks学习笔记(二)
- Improving Deep Neural Networks学习笔记(三)
- Neural Networks and Deep Learning 学习笔记
- 【深度学习经典论文翻译1】AlexNet-ImageNet Classification with Deep Convolutional Neural Networks全文翻译
- [深度学习论文笔记][Image Classification] ImageNet Classification with Deep Convolutional Neural Networks
- PHP 中的随机数——你觉得可靠么?
- int、bigint、smallint、mediumint、tinyint区别
- Android层叠式卡片效果实现!(高大上)
- 简单几招捕获Oracle递归SQL调用源头
- 枚举ordinal与name
- [deep compression] compressing deep neural networks 论文学习
- 《大话设计模式》——读后感 (4)为别人做嫁衣?——静态代理模式(1)
- React实战——一起来做个记事本吧!
- fiddler代理设置问题导致出现“The system proxy was changed,click to reenable fiddler capture”解决办法
- 《大话设计模式》——读后感 (4)为别人做嫁衣?——动态代理模式(2)
- Selenium+java分层(七)
- [转]内存泄露从入门到精通三部曲
- 青云平台搭建truffle
- 勒索病毒来势汹汹,互联网安全就无法提前预知吗?!