Stochastic Computing Applications to Artificial Neural Networks
摘要
Stochastic computing (SC) has gained popularity for the creation of energy-efficient artificial neural networks (ANNs). For instance, by using stochastic computing, the different layers in a convolutional neural network can be highly compressed. This allows for a high degree of parallelism, enabling the implementation of medium-complexity networks on a single chip without relying on the interaction with memory that could degrade system efficiency. Recently, it has been shown that the strength of stochastic computing is particularly notable when applied to morphological neural networks (MNNs). MNNs can be constructed using basic arithmetic functions, such as addition, multiplication, maximum, and minimum, and do not require activation functions as classical neural networks do. As stochastic computing can efficiently implement maximum, minimum, and product functions, it is highly suitable for creating MNNs. This chapter discusses how SC design methodologies are ideal for developing different ANN designs, and how the results are highly competitive in terms of energy efficiency and overall speed when compared with other extreme hardware-AI solutions such as binary neural networks.