Stochastic Computing Accelerator for CNNs
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Convolutional neural networks (CNNs) face challenges in embedded devices due to limited computational resources and inadequate power budgets, with stochastic computing (SC) offering lower power consumption and tolerance to soft errors but struggling with low accuracy and long computation time.
Innovation Solution
The proposed architecture employs a differential Multiply-and-Accumulate unit (DMAC) to reduce computation time by skipping unnecessary bitwise ANDs and sorting weights to minimize differences between successive weights, resulting in a novel SC accelerator that reduces area and power consumption while preserving accuracy.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Use of energy by stationary object
If stochastic computing is used for CNN acceleration, then power consumption is reduced, but computation time increases
Solution Approach 1:
The patent segments the weight values into multiple bit-streams, where each bit-stream represents a portion of the weight. This allows parallel processing of different weight components, reducing the overall computation time while maintaining the low power consumption benefits of stochastic computing.
Solution Approach 2:
The patent performs preliminary processing by converting weights into segmented bit-stream representations before the main convolution operation. This pre-processing enables more efficient computation during the actual inference phase, reducing computation time without increasing power consumption.
2Area of stationary object
If stochastic computing is used for CNN acceleration, then hardware area is reduced, but computation time increases
Solution Approach 1:
The patent divides weight values into multiple segments represented as separate bit-streams. This segmentation enables parallel computation paths that can be implemented with simpler, smaller hardware units, reducing the overall hardware area while the parallelism compensates for the inherent slowness of stochastic operations.
Solution Approach 2:
The patent transitions from processing weights in the traditional numerical domain to the stochastic bit-stream domain, adding a temporal dimension to the computation. Multiple bit-streams are processed in parallel over time, effectively using time-division multiplexing to achieve the desired computational throughput with reduced hardware area.
3Reliability
If stochastic computing is used for CNN acceleration, then tolerance to soft errors is improved, but accuracy deteriorates
Solution Approach 1:
The patent changes the representation parameter of weights from fixed-point or floating-point numbers to segmented stochastic bit-streams. This parameter change enables the system to leverage the inherent noise-tolerance of stochastic computing while the segmentation strategy maintains numerical precision by distributing the representation across multiple independent bit-streams.
Solution Approach 2:
The patent uses a composite approach by combining multiple bit-streams to represent a single weight value. This composite representation maintains accuracy through the collective information in multiple streams while benefiting from the error-tolerance of individual stochastic operations, as errors in one stream have limited impact on the overall result.
Data Source
AI summary
The disclosed invention provides a novel architecture that reduces the computation time of stochastic computing-based multiplications in the convolutional layers of convolutional neural networks (CNNs). Each convolution in a CNN is composed of numerous multiplications where each input value is multiplied by a weight vector. Subsequent multiplications are performed by multiplying the input and differences of the successive weights. Leveraging this property, disclosed is a differential Multiply-and-Accumulate unit to reduce the time consumed by convolutions in the architecture. The disclosed architecture offers 1.2× increase in speed and 2.7× increase in energy efficiency compared to known convolutional neural networks.


