Searched Projects

Tags: random number

project.name
0 Stars     64 Views

Stochastic Computing Multiplexer Multiply Accumulate (MMAC) neural network (NN) hardware

Stochastic Computing Multiplexer Multiply Accumulate (MMAC) neural network (NN) hardware

This is a demonstration of a multiplexer (MUX) performing complex multiply-accumulate (MAC) operations in the Stochastic Computing (SC) domain, dubbed multiplexer multiply-accumulate (MMAC) architecture for accelerating neural network (NN) on the hardware level.

SC is an unconventional computing method, representing information as a bitstream of a probability distribution. That in turn allows a simple AND gate to execute arithmetic multiplication because in probability, P(A n B) = P(A) & P(B), provided that both bitstreams A and B are not correlated.

There are two random number sources, i.e. Sobol Sequence Generator and the linear feedback shift register (LFSR) Generator. Sobol sequence is used for input pixel MUX-based stochastic number generator (SNG), while LFSR is used for the NN weight MUX SNGs. The weights have one byte less than the input pixel because the weights had been encoded in the probability domain. The LFSR is shared via permutation and clock-shifting methods. The clock-shifting method is achieved via shift registers, although it is not being used in this simulation. The LFSR has to be initialized with a seed, which could be done with the reset button.

The MAC result is accumulated over time at the last counter. The actual weights of the NN are retrieved via comparator and counter to check whether the weight converged to the actual value. Although there could be errors in the weights, the final MAC value did not budge, showcasing the error resiliency of the SC system.

MUX is known to function for signal rerouting in modern digital electronics. However, it could perform arithmetic addition in the SC domain. Even more bizarre, according to the latest finding, it could perform MAC operation if designed correctly, overturning the usual understanding of digital fundamentals. In short, SC can push digital electronics beyond the limit of boolean logic. All you have to do is to represent the information as probability.

Visit my work for more details related to SC.
https://spj.science.org/doi/10.34133/research.0307