Learning Accurate Low-Bit Deep Neural Networks with Stochastic Quantization
Preprint
Abstract
Low-bit deep neural networks (DNNs) become critical for embedded applications due to their low storage requirement and computing efficiency. However, they suffer much from the non-negligible accuracy drop. This paper proposes the stochastic quantization (SQ) algorithm for learning accurate low-bit DNNs. The motivation is due to the following observation. Existing training algorithms approximate the real-valued elements/filters with low-bit representation all together in each iteration. The quantization errors may be small for some elements/filters, while are remarkable for others, which lead to inappropriate gradient direction during training, and thus bring notable accuracy drop. Instead, SQ quantizes a portion of elements/filters to low-bit with a stochastic probability inversely proportional to the quantization error, while keeping the other portion unchanged with full-precision. The quantized and full-precision portions are updated with corresponding gradients separately in each iteration. The SQ ratio is gradually increased until the whole network is quantized. This procedure can greatly compensate the quantization error and thus yield better accuracy for low-bit DNNs. Experiments show that SQ can consistently and significantly improve the accuracy for different low-bit DNNs on various datasets and various network structures.Keywords
All Related Versions
This publication has 7 references indexed in Scilit:
- ImageNet classification with deep convolutional neural networksCommunications of the ACM, 2017
- Accelerating Deep Convolutional Networks using low-precision and sparsity2017
- XNOR-Net: ImageNet Classification Using Binary Convolutional Neural Networks2016
- Deep Networks with Stochastic Depth2016
- Deep Residual Learning for Image Recognition2016
- Going deeper with convolutions2015
- Rich Feature Hierarchies for Accurate Object Detection and Semantic Segmentation2014