这是2016年的一篇关于模型量化的文章。
1、背景:
在网络量化中,有一种极为诱惑的量化方式:1bit量化——极致的压缩!但是1bit的网络在训练时有诸多细节需要完善。
2、方法:
2.1 Binarization Function
权值的量化有两种方式:sign和随机量化,虽然理论上随机要好一点,但实践中为了计算方便一般用sign

但是sign函数其没有不为0的梯度,所以用tanh来代替。

2.2 网络的传播

- 前向传播中权值都会与一个权重系数a相乘
反向传播中权值更新并不是二值的,都是在原32bit精度上进行更新再量化成2bit
2.3对输入图像的处理:
输入图像不是二值化的,但是由于图像像素值分布在[0,255]之间(8bit时),所以可以用8比特来表示,这样就能将输入的实值像素值变成二值化的编码了。

2.4 shift -based BN and Adamax
因为二值化后,BN操作和优化方式中的乘法计算都能用位移操作来代替,所以速度会快很多,具体算法如下:

2.5 将这种方法推广到 m bit

3、结果

只能说,作者尽力了,2bit的准确度方面确实不能和全精度的DNN作对比,特别是在大型的数据集上。后续的研究应该往优化量化更新方式或者是选择性量化的方面去。
本文探讨了一种极端的网络量化方式:1bit量化,即所有权重和激活约束为+1或-1。介绍了Binarized Neural Networks的背景、方法及结果,包括使用tanh替代sign函数解决梯度问题,以及在大型数据集上的表现限制。
411

被折叠的 条评论
为什么被折叠?



