Convolution Filter Processing with Zero-Region MAC Skipping
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing convolutional neural network (CNN) processing methods incur high processing loads due to repeated determinations of zero values in convolution operations, leading to increased power consumption and processing time.
Innovation Solution
An apparatus and method that determine zero values in reference regions of a processing target block to selectively perform multiply-accumulate operations, reducing unnecessary computations in CNN processing.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If convolution operations are performed on all data in the processing target block, then processing accuracy is maintained, but processing time and power consumption increase due to unnecessary operations on zero values
Solution Approach 1:
The patent applies preliminary action by performing a determination process before the convolution operation to identify zero-value regions in the data array. The controller determines whether data in a reference region are zero values before executing multiply-accumulate operations, thereby avoiding unnecessary computations and reducing power consumption while maintaining processing accuracy.
2Measurement precision
If convolution operations are performed on all data in the processing target block, then processing accuracy is maintained, but processing time increases due to unnecessary operations on zero values
Solution Approach 1:
The patent applies preliminary action by performing a determination process before the convolution operation to identify zero-value regions in the data array. The controller determines whether data in a reference region are zero values before executing multiply-accumulate operations, thereby avoiding unnecessary computations and reducing power consumption while maintaining processing accuracy.
3Productivity
If zero value determination is performed repeatedly for each convolution operation, then accurate skipping of unnecessary operations is achieved, but processing overhead increases
Solution Approach 1:
The patent applies the taking out principle by extracting only the necessary portion of the data array for convolution operations. When zero values are detected in the reference region, the system extracts and processes only the non-zero data portions, thereby reducing the number of operations without requiring repeated determination for every single operation.
Data Source
AI summary
An apparatus for performing filter processing on a data array in a processing target block of a predetermined size is provided. A data memory holds the data array in the processing target block. A coefficient memory holds weight coefficients of a filter used for the filter processing. A controller determines, in a determination, whether data in a reference region in the processing target block, set in correspondence with the processing target block, are zero values. A processor generates a convolution operation result of the weight coefficients and data at a plurality of positions in the processing target block. The controller controls, based on a result of the determination, whether to perform at least some of multiply-accumulate operations of the data and the weight coefficients when the processor generates the convolution operation result.


