Abstract

In this work, we review Binarized Neural Networks (BNNs). BNNs are deep neural networks that use binary values for activations and weights, instead of full precision values. With binary values, BNNs can execute computations using bitwise operations, which reduces execution time. Model sizes of BNNs are much smaller than their full precision counterparts. While the accuracy of a BNN model is generally less than full precision models, BNNs have been closing accuracy gap and are becoming more accurate on larger datasets like ImageNet. BNNs are also good candidates for deep learning implementations on FPGAs and ASICs due to their bitwise efficiency. We give a tutorial of the general BNN methodology and review various contributions, implementations and applications of BNNs.

Highlights

  • Deep neural networks (DNNs) are becoming more powerful

  • In this paper we focus networks based on the Binarized Neural Networks (BNNs) methodology first proposed by Courbariaux et al in [1] where both weights and activations only use binary values, and these binary values are used during both inference and backpropgation training

  • Since BNNs have received substantial attention from the digital design community, we focus on various implementation of BNNs on FPGAs

Read more

Summary

Introduction

Deep neural networks (DNNs) are becoming more powerful. as DNN models become larger they require more storage and computational power. In this paper we focus networks based on the BNN methodology first proposed by Courbariaux et al in [1] where both weights and activations only use binary values, and these binary values are used during both inference and backpropgation training. From this original idea, various works have explored how to improve their accuracy and how to implement them in low power and resource constrained platforms. In this paper we explain the basics of BNNs and review recent developments in this growing area Most work in this area has focused on advantages that are gained during inference time. FPGA and ASIC implementations are highlighted in Sections 8.1 and 8.5

Terminology
Background
Network Quantization Techniques
Early Binarization
An Introduction to BNNs
Binarization of Weights
Binarization of Activations
Bitwise Operations
Batch Normalization
Accuracy
Robustness to Attacks
Major BNN Developments
The Original BNN
XNOR-Net
DoReFa-Net
ABC-Net
Comparison
Methodology
Scaling with a Gain Term
Using Multiple Bases
Partial Binarization
Learning Rate
Padding
More Binarization
Batch Normalization and Activations as a Threshold
Layer Order
Comparison of Accuracy
Datasets
Topologies
Table of Comparisons
FPGA Implementations
Architectures
High Level Synthesis
Comparison of FPGA Implementations
Findings
Conclusions
Full Text
Published version (Free)

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call