Back to Simplicity: How to Train Accurate BNNs from Scratch?
arXiv:1906.08637
Abstract
Binary Neural Networks (BNNs) show promising progress in reducing computational and memory costs but suffer from substantial accuracy degradation compared to their real-valued counterparts on large-scale datasets, e.g., ImageNet. Previous work mainly focused on reducing quantization errors of weights and activations, whereby a series of approximation methods and sophisticated training tricks have been proposed. In this work, we make several observations that challenge conventional wisdom. We revisit some commonly used techniques, such as scaling factors and custom gradients, and show that these methods are not crucial in training well-performing BNNs. On the contrary, we suggest several design principles for BNNs based on the insights learned and demonstrate that highly accurate BNNs can be trained from scratch with a simple training strategy. We propose a new BNN architecture BinaryDenseNet, which significantly surpasses all existing 1-bit CNNs on ImageNet without tricks. In our experiments, BinaryDenseNet achieves 18.6% and 7.6% relative improvement over the well-known XNOR-Network and the current state-of-the-art Bi-Real Net in terms of top-1 accuracy on ImageNet, respectively.
arXiv commentSupplementary Material can be found https://owncloud.hpi.de/s/1jrAUnqRAfg0TXH. arXiv admin note: substantial text overlap with arXiv:1812.01965
References in corpus (10)
- Batch Normalization: Accelerating Deep Network Training by Reducing Internal Covariate Shift
- Faster R-CNN: Towards Real-Time Object Detection with Region Proposal Networks
- MobileNets: Efficient Convolutional Neural Networks for Mobile Vision Applications
- Deep Compression: Compressing Deep Neural Networks with Pruning, Trained Quantization and Huffman Coding
- Estimating or Propagating Gradients Through Stochastic Neurons for Conditional Computation
- DoReFa-Net: Training Low Bitwidth Convolutional Neural Networks with Low Bitwidth Gradients
- Binarized Neural Networks
- Trained Ternary Quantization
- Bag of Tricks for Image Classification with Convolutional Neural Networks
- Learning to Train a Binary Neural Network
Cited by in corpus (13)
- Training Binary Neural Networks with Real-to-Binary Convolutions
- Latent Weights Do Not Exist: Rethinking Binarized Neural Network Optimization
- Efficient Exact Verification of Binarized Neural Networks
- Binary Neural Networks for Memory-Efficient and Effective Visual Place Recognition in Changing Environments
- Learning Frequency Domain Approximation for Binary Neural Networks
- Distillation Guided Residual Learning for Binary Convolutional Neural Networks
- A Bop and Beyond: A Second Order Optimizer for Binarized Neural Networks
- Distilled Non-Semantic Speech Embeddings with Binary Neural Networks for Low-Resource Devices
- ReCU: Reviving the Dead Weights in Binary Neural Networks
- Balanced Binary Neural Networks with Gated Residual
- SiMaN: Sign-to-Magnitude Network Binarization
- Enabling Binary Neural Network Training on the Edge
- Maximin Optimization for Binary Regression