模型压缩和剪枝的面试准备

做过类似的项目:

1. THINKER芯片的二值、三值量化

量化为绝对值相等的数,并提取系数。

2. 笑脸识别的8bit量化

英伟达的8bit量化技术,基于KL散度(信息熵),量化为-127~128之间的数。

乘以一个scale系数,取整,这样在卷积中运算的就是整数

最后再除以这个scale系数,这样得到的回到了原来的值,类似于顶点。

优点是损失并不大,缺点是去掉了bias,实际上含有batch norm层的也是有bias的,合并BN层之后,损失很大,这个也是ncnn的问题。

几个概念:

#均匀量化,非均匀量化

饱和量化,非饱和量化

权重默认分布是均匀分布的,可以采用非饱和量化,

而输入输出都是非均匀分布的,有非常大的值,要进行饱和量化,我称为截断量化,需要找到一个阈值T,将太大的值排除在外。

找到了阈值T,就找到了scale值,因为scale = 128/T

相关参考 知乎https://zhuanlan.zhihu.com/p/58182172

3. 其他算法相关 YOLO

直接回归出相应的位置和类别

你可能感兴趣的:(深度学习)