Sparse Weight CNN Data Selector for Reduced Computation Time

Resolve Bottlenecks,
Find Innovative Solutions
Generate 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

VSEngineering 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

Engineering Contradiction:
Improverecognition accuracyVSAvoidcomputation time
Core Design Contradiction:
Measurement precisionVSLoss of time

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.

Inventive Principle:
Principle #2Taking out (Extraction)

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

Engineering Contradiction:
Improvecomputation efficiencyVSAvoidsystem complexity
Core Design Contradiction:
ProductivityVSDevice complexity

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.

Inventive Principle:
Principle #10Preliminary action

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.

Inventive Principle:
Principle #24Intermediary (Mediator)

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

Engineering Contradiction:
Improvehardware resourcesVSAvoiddata selection complexity
Core Design Contradiction:
Quantity of substanceVSDevice complexity

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.

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS11003985B2Convolutional neural network system and operation method thereof
Publication Date: 2021.05.11 ELECTRONICS & TELECOMM RES INST
  • US11003985B2 patent drawing
  • US11003985B2 patent drawing
  • US11003985B2 patent drawing

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.