A Multiply Accumulator for Stochastic Numbers Without Scaling Errors

Katsuhiro Ichikawa, Shigeru Yamashita · 2021

Stochastic Computing (SC) is an approximate computing paradigm to perform calculations by using Stochastic Numbers (SNs) which are bit-streams representing values by their probabilities to be 1. We use a multiplexer to perform addition in SC, but the value of an addition becomes half. This means that addition operations in SC loose some information; there is a scaling error. Thus, when we perform a multiply accumulator operation for many numbers, such as calculations of activation functions in neural networks and convolution operations for digital image processing, the error may become large if the number of inputs is large. Accordingly, this paper proposes a novel method to realize a multiply accumulator operation for SNs without a scaling error. The main idea is based on the reduction of the length of multiplication results. We introduce three hardware implementation for our method, and compare them in terms of the hardware cost. We also provide experimental results to simulate errors of our method and the conventional method to perform multiply accumulator operations; the experimental results confirm that our method can reduce scaling errors drastically with very little hardware overhead.

Read the paper · More papers on PaperTik