一.综述
二.剪枝
1. 剪枝流程
深度神经网络结构中,有着大量的冗余参数。在推理过程中,仅有少部分的权值参与有效的计算,并对推理结果产生主要影响。剪枝方法通过把网络结构中冗余的权值、节点或层去掉,减少网络的规模,降低计算复杂度。让模型在推理效果、推理速度上达到平衡。
我们可以形象化的把模型剪枝想象为园艺师修剪盆栽。那么修剪的流程是什么呢?首先园艺师获得一个枝叶茂盛的盆栽(原模型);然后园艺师判断哪些枝叶对外观美感影响不大(重要性判断),并剪掉这些不重要枝叶(参数设置为0)。
2. 剪枝类型
2.1 非结构化剪枝
2.1.1 权值剪枝
图. 权值剪枝的矩阵表现
2.1.2 神经元剪枝
图. 神经元剪枝的矩阵表现
2.2 结构化剪枝
2.2.1 filter-wise
为方便观察,把上图中每层卷积核排列成卷积核矩阵的形状,如下图kernel matrix。通过这种形式,我们继续探讨两种剪枝形式。
图. 跨多层剪枝时,计算权重值和的方式
2.2.2 channel-wise
图. 利用BN放缩因子来修剪Channel
channel-wise和filter-wise既有区别,也有联系。两者使用的剪枝评判方法不同,但最终都会体现在对卷积核或卷积核中某些layer的剪枝。
2.2.3 shape-wise
图. 几种剪枝方式的图示
2.2.4 stripe-wise pruning (SWP)
图. stripe-wise剪枝,卷积核被重组
图. FS模块自动学习每个stripe的重要性
3. 剪枝评判标准
4. Sparsity Ratio / Pruning Rate
5. FINE TUNING
三.量化
1. 量化基本原理
1.1 线性量化
1.2 非线性量化
2. 量化方法
2.1 聚类量化
图. 聚类量化示意
2.2 对数量化
图. 对数量化并逐步量化过程
2.3 二值量化(1bit)
2.4 8bit量化
Z值是区分对称量化和非对称量化的重要特点。当Z为零时,代表的是对称量化;Z不为零,代表的是非对称量化。
2.5训练后量化和训练感知量化
(3)在模拟量化过程(simulated quantization,伪量化)的模式下迭代训练。
图. 伪量化的精度转换
图. 直通滤波器STE
图.PQT
3. 量化总结
四.总结
五.引用
https://jinzhuojun.blog.csdn.net/article/details/100621397
https://cs.nju.edu.cn/wujx/paper/Pruning_Survey_MLA21.pdf
https://blog.csdn.net/weixin_49457347/article/details/117110458
https://zhuanlan.zhihu.com/p/138059904
https://blog.csdn.net/wspba/article/details/75675554
http://fjdu.github.io/machine/learning/2016/07/07/quantize-neural-networks-with-tensorflow.html
https://zhuanlan.zhihu.com/p/45496826
https://zhuanlan.zhihu.com/p/361957385
https://zhuanlan.zhihu.com/p/374374300
https://blog.csdn.net/WZZ18191171661/article/details/103332338
https://zhuanlan.zhihu.com/p/58182172
https://on-demand.gputechconf.com/gtc/2017/presentation/s7310-8-bit-inference-with-tensorrt.pdf
https://developer.download.nvidia.cn/video/gputechconf/gtc/2020/presentations/s21664-toward-int8-inference-deploying-quantization-aware-trained-networks-using-tensorrt.pdf
《DEEP COMPRESSION: COMPRESSING DEEP NEURAL NETWORKS WITH PRUNING, TRAINED QUANTIZATION AND HUFFMAN CODING》
《Learning Structured Sparsity in Deep Neural Networks》
《Learning Effificient Convolutional Networks through Network Slimming》
《Accelerating Convolutional Neural Networks by Group-wise 2D-fifilter Pruning》
《PRUNING FILTERS FOR EFFICIENT CONVNETS》
《Quantizing deep convolutional networks for effificient inference: A whitepaper》
《Data-Free Quantization Through Weight Equalization and Bias Correction》
《PRUNING FILTER IN FILTER》