Arithmetic Operation Circuit for Convolutional Neural Networks

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

The existing arithmetic operation circuits for convolutional neural networks (CNNs) are inefficient due to repeated operations involving feature maps and kernels, leading to increased processing time, especially when zero elements in coefficient matrices require wasteful arithmetic operations, resulting in prolonged overall processing times.

Innovation Solution

An arithmetic operation circuit that includes a control processor and multiple calculators, where non-zero elements in the coefficient matrix are assigned to calculators for parallel processing, allowing each multiplication to be handled as a unit of process, thereby leveling the workload among calculators and reducing overall processing time.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If the arithmetic operation is performed using all multiply-accumulate calculators including those with zero elements in the coefficient matrix, then parallel processing capability is utilized, but processing time increases due to wasteful arithmetic operations

Engineering Contradiction:
Improveparallel processing capabilityVSAvoidprocessing time
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The patent extracts and removes zero elements from the coefficient matrix before distributing to calculators. By taking out the harmful zero elements that cause wasteful arithmetic operations, only non-zero elements are processed, eliminating unnecessary computations while maintaining parallel processing efficiency

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The patent applies local quality by differentiating treatment based on calculator workload. Each calculator is assigned a specific subset of non-zero elements from the coefficient matrix, ensuring that each calculator processes only the elements relevant to its assigned rows, thereby optimizing local processing efficiency

Inventive Principle:
Principle #3Local quality

2Loss of time

If the coefficient matrix is expanded to one column to shorten process time, then the convolutional operation can be performed as matrix-vector multiplication, but the number of non-zero elements differs among rows causing uneven workload distribution

Engineering Contradiction:
Improveprocess timeVSAvoidworkload distribution
Core Design Contradiction:
Loss of timeVSDevice complexity

Solution Approach 1:

The patent segments the coefficient matrix into row-based groups and distributes each row's non-zero elements to specific calculators. This segmentation ensures that each calculator receives a manageable subset of operations, balancing the workload while maintaining the expanded matrix format for efficient convolutional computation

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces dynamic workload balancing by adjusting the distribution of non-zero elements based on row-specific characteristics. The control processor dynamically assigns operations to calculators considering the varying number of non-zero elements in each row, creating a flexible and adaptive workload distribution system

Inventive Principle:
Principle #15Dynamics

3Loss of energy

If only non-zero elements are processed by excluding zero elements from calculation, then wasteful arithmetic operations are eliminated, but the entire process time is determined by the row with the largest number of non-zero elements

Engineering Contradiction:
Improvearithmetic operation efficiencyVSAvoidprocess time
Core Design Contradiction:
Loss of energyVSLoss of time

Solution Approach 1:

The patent segments the processing task by dividing the coefficient matrix rows into groups and assigning them to different calculators. This segmentation ensures that no single calculator is overloaded with all non-zero elements from all rows, thereby balancing the total computational load and reducing the time determined by the most complex row

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent changes the processing parameter from row-based sequential processing to distributed parallel processing across multiple calculators. By transforming the problem into a distributed system where each calculator handles a subset of rows, the overall process time is reduced while maintaining efficiency in processing only non-zero elements

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentUS11281746B2Arithmetic operation circuit, arithmetic operation method, and program
Publication Date: 2022.03.22 MITSUBISHI ELECTRIC CORP
  • US11281746B2 patent drawing
  • US11281746B2 patent drawing
  • US11281746B2 patent drawing

AI summary

An arithmetic operation method for a convolutional layer in a neural network includes: generating a coefficient matrix by converting a kernel used in the convolutional layer such that the coefficient matrix is associated with an input vector obtained by expanding, into one column, a feature map input to the convolutional layer; searching for non-zero elements included in the coefficient matrix; assigning multiplications of the non-zero elements included in the coefficient matrix and corresponding elements of the input vector to a plurality of calculators with each of the multiplications being handled as a unit of process, so as to level out the numbers of units of process among the calculators, each of the calculators being capable of performing a process in parallel with one another; and sequentially performing, by the calculators, the assigned multiplications, and sequentially adding, by the calculators, results of the multiplications to corresponding elements of an output vector.