VIBNN: Hardware Acceleration of Bayesian Neural Networks
arXiv:1802.00822 · doi:10.1145/3173162.3173212
Abstract
Bayesian Neural Networks (BNNs) have been proposed to address the problem of model uncertainty in training and inference. By introducing weights associated with conditioned probability distributions, BNNs are capable of resolving the overfitting issue commonly seen in conventional neural networks and allow for small-data training, through the variational inference process. Frequent usage of Gaussian random variables in this process requires a properly optimized Gaussian Random Number Generator (GRNG). The high hardware cost of conventional GRNG makes the hardware implementation of BNNs challenging. In this paper, we propose VIBNN, an FPGA-based hardware accelerator design for variational inference on BNNs. We explore the design space for massive amount of Gaussian variable sampling tasks in BNNs. Specifically, we introduce two high performance Gaussian (pseudo) random number generators: the RAM-based Linear Feedback Gaussian Random Number Generator (RLF-GRNG), which is inspired by the properties of binomial distribution and linear feedback logics; and the Bayesian Neural Network-oriented Wallace Gaussian Random Number Generator. To achieve high scalability and efficient memory access, we propose a deep pipelined accelerator architecture with fast execution and good hardware utilization. Experimental results demonstrate that the proposed VIBNN implementations on an FPGA can achieve throughput of 321,543.4 Images/s and energy efficiency upto 52,694.8 Images/J while maintaining similar accuracy as its software counterpart.
References in corpus (16)
- Very Deep Convolutional Networks for Large-Scale Image Recognition
- Deep Learning in Neural Networks: An Overview
- Sequence to Sequence Learning with Neural Networks
- Weight Uncertainty in Neural Networks
- Predicting Parameters in Deep Learning
- Bayesian Convolutional Neural Networks with Bernoulli Approximate Variational Inference
- Self-Normalizing Neural Networks
- VIME: Variational Information Maximizing Exploration
- Fast Training of Convolutional Networks through FFTs
- Hardware-oriented Approximation of Convolutional Neural Networks
- An ensemble-based system for automatic screening of diabetic retinopathy
- Variational inference for large-scale models of discrete choice
- Bayesian Recurrent Neural Networks
- EIE: Efficient Inference Engine on Compressed Deep Neural Network
- SC-DCNN: Highly-Scalable Deep Convolutional Neural Network using Stochastic Computing
- A New Learning Method for Inference Accuracy, Core Occupation, and Performance Co-optimization on TrueNorth Chip
Cited by in corpus (18)
- Exploiting Oxide Based Resistive RAM Variability for Bayesian Neural Network Hardware Design
- A Stochastic-Computing based Deep Learning Framework using Adiabatic Quantum-Flux-Parametron SuperconductingTechnology
- All-Spin Bayesian Neural Networks
- SPINBIS: Spintronics based Bayesian Inference System with Stochastic Computing
- Non-Structured DNN Weight Pruning -- Is It Beneficial in Any Platform?
- PUMA: A Programmable Ultra-efficient Memristor-based Accelerator for Machine Learning Inference
- Accelerating Generalized Linear Models with MLWeaving: A One-Size-Fits-All System for Any-precision Learning (Technical Report)
- HyPar: Towards Hybrid Parallelism for Deep Learning Accelerator Array
- Mix and Match: A Novel FPGA-Centric Deep Neural Network Quantization Framework
- Shift-BNN: Highly-Efficient Probabilistic Bayesian Neural Network Training via Memory-Friendly Pattern Retrieving
- Probabilistic Compute-in-Memory Design For Efficient Markov Chain Monte Carlo Sampling
- : Markov Chain Monte Carlo Sampling in SRAM for Fast Bayesian Inference
- On the Effects of Quantisation on Model Uncertainty in Bayesian Neural Networks
- Efficient Computation Reduction in Bayesian Neural Networks Through Feature Decomposition and Memorization
- RISC-NN: Use RISC, NOT CISC as Neural Network Hardware Infrastructure
- High-Performance FPGA-based Accelerator for Bayesian Neural Networks
- Beyond Application End-Point Results: Quantifying Statistical Robustness of MCMC Accelerators
- Hardware implementation of Bayesian network building blocks with stochastic spintronic devices