Dorefa-Net由FACE++提出,论文地址:https://arxiv.org/abs/1606.06160
1、背景:
训练神经网络需要大量的时间,为了减少这些时间,对模型进行量化是个不错的选择。但是,以往的工作没有对梯度/激活函数进行低bit量化并取得好的结果的先例。所以,Dorefa-Net被提了出来。
2、贡献:
- 提出了可实现任意bit数的权重,激活,梯度的CNN架构
- 其可以部署在现有的CPU,FPGA,ASIC和GPU上,通用性较强
- 探索了了权重,激活,梯度最少的底线bit
- 在ImageNet上用ALexNet上实现了46.1% 的Top 1的准确度
3、方法:
3.1
在用bit运算来加速网络上,Dorefa-Net使用了和以前工作相似的方式:
3.2
STE:
这种STE加入了噪声,文章说这对网络性能的提升很关键。同时,上图的12式将梯度的范围限制到了[0,1]。
3.3
总的运行框架:
4.结果
事实上,Dorefa的在W=1,A=1,G=32时表现并没有Xnor-Net好,其中原因值得进一步探讨。事实上,读者感觉这篇文章的方向有点跑偏,或者是没做得足够好。出于减少训练时间而量化梯度的本意是好的,但是这以不可接受的精度损失为代价是不可行的。本文的主要贡献可能在于其提出了一种分层量化权重,激活和梯度的思想。