Sparse Weight CNN Data Selector for Reduced Computation Time
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Convolutional neural networks (CNNs) require significant computational resources due to their complex structure and large number of connections, leading to high computation demands during the learning and recognition processes, which is challenging to efficiently implement on hardware with limited resources.
Innovation Solution
The implementation of a CNN system using sparse weights generated through neural network compression, where a data selector outputs input values corresponding to nonzero weights in the sparse weight kernel, and a MAC computator performs convolution computations only on these nonzero values, reducing the computational load.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Measurement precision
If a full convolution computation is performed using all weight values in the kernel, then the recognition accuracy is maintained, but the computation time and hardware resource requirements increase significantly
Solution Approach 1:
The patent extracts only the nonzero weight values from the convolution kernel and uses sparse indices to identify their positions. By taking out only the essential nonzero elements and eliminating redundant zero-value computations, the system maintains recognition accuracy while significantly reducing computation time and hardware resource requirements.
2Productivity
If the number of connections between nodes is reduced through compression, then the computation load decreases, but the complexity of managing sparse weights and indices increases
Solution Approach 1:
The patent performs preliminary compression to generate sparse weights and their corresponding indices before the actual convolution operation. By preparing the sparse representation in advance, the system reduces the computation load during inference while the index management complexity is handled once during preprocessing, rather than continuously during computation.
Solution Approach 2:
The sparse indices act as an intermediary between the compressed weight storage and the convolution computation. Instead of directly managing the complex sparse weight structure, the system uses simple index arrays to map nonzero weights to their positions, simplifying the computation process while maintaining the benefits of compression.
3Quantity of substance
If sparse weights are used to reduce computations, then hardware resource requirements decrease, but the data selection and indexing mechanism becomes more complex
Solution Approach 1:
The patent segments the convolution computation by dividing it into independent operations based on sparse indices. Each nonzero weight value corresponds to a specific position in the input feature map, allowing the computation to be segmented into discrete multiply-accumulate operations. This segmentation reduces hardware resource requirements by eliminating unnecessary computation units while the indexing mechanism efficiently manages the segmented operations.
Data Source
AI summary
Provided is a convolutional neural network system including a data selector configured to output an input value corresponding to a position of a sparse weight from among input values of input data on a basis of a sparse index indicating the position of a nonzero value in a sparse weight kernel, and a multiply-accumulate (MAC) computator configured to perform a convolution computation on the input value output from the data selector by using the sparse weight kernel.


