An Energy-Efficient Bayesian Neural Network Implementation Using Stochastic Computing Method

Research output: Contribution to journalArticlepeer-review

Abstract

The robustness of Bayesian neural networks (BNNs) to real-world uncertainties and incompleteness has led to their application in some safety-critical fields. However, evaluating uncertainty during BNN inference requires repeated sampling and feed-forward computing, making them challenging to deploy in low-power or embedded devices. This article proposes the use of stochastic computing (SC) to optimize the hardware performance of BNN inference in terms of energy consumption and hardware utilization. The proposed approach adopts bitstream to represent Gaussian random number and applies it in the inference phase. This allows for the omission of complex transformation computations in the central limit theorem-based Gaussian random number generating (CLT-based GRNG) method and the simplification of multipliers as AND operations. Furthermore, an asynchronous parallel pipeline calculation technique is proposed in computing block to enhance operation speed. Compared with conventional binary radix-based BNN, SC-based BNN (StocBNN) realized by FPGA with 128-bit bitstream consumes much less energy consumption and hardware resources with less than 0.1% accuracy decrease when dealing with MNIST/Fashion-MNIST datasets.

Original languageEnglish
Pages (from-to)12913-12923
Number of pages11
JournalIEEE Transactions on Neural Networks and Learning Systems
Volume35
Issue number9
DOIs
StatePublished - 2024

UN SDGs

This output contributes to the following UN Sustainable Development Goals (SDGs)

  1. SDG 7 - Affordable and Clean Energy
    SDG 7 Affordable and Clean Energy

Keywords

  • Bayesian neural network (BNN)
  • Gaussian random number generator
  • energy efficiency
  • stochastic computing (SC)

Fingerprint

Dive into the research topics of 'An Energy-Efficient Bayesian Neural Network Implementation Using Stochastic Computing Method'. Together they form a unique fingerprint.

Cite this