Convolution Filter Processing Using Reference-Region Zero Detection
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, leading to increased power consumption and processing time.
Innovation Solution
An apparatus and method that determine zero values in a reference region 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 conventional convolution operation processing is performed without zero value optimization, then processing accuracy is maintained, but processing time and power consumption increase due to unnecessary multiply-accumulate 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 feature map. The controller determines whether pixels in a determination region are all zero values before executing multiply-accumulate operations, thereby avoiding unnecessary computations and reducing both processing time and power consumption while maintaining accuracy.
2Loss of energy
If zero value determination processing is performed for each convolution operation, then unnecessary operations are reduced, but processing complexity increases
Solution Approach 1:
The patent applies segmentation by dividing the feature map into multiple determination regions and processing them separately. The controller determines zero values in each determination region independently and selectively performs convolution operations only in regions where non-zero values exist. This segmented approach reduces overall energy waste while managing processing complexity through localized operations.
3Ease of operation
If multiply-accumulate operations are performed on all regions including zero values, then processing simplicity is maintained, but processing time increases due to redundant computations
Solution Approach 1:
The patent applies the taking out principle by extracting and identifying zero-value regions from the feature map before performing convolution operations. The controller extracts information about which pixels are zero values and uses this information to skip multiply-accumulate operations in those regions, thereby reducing processing time while maintaining operational simplicity through automated control.
4Productivity
If selective processing based on zero value determination is implemented, then processing efficiency improves, but device complexity increases due to additional determination logic
Solution Approach 1:
The patent applies merging by integrating the zero value determination function and the convolution operation control into a single controller unit. The controller simultaneously performs determination of zero values and decides whether to execute multiply-accumulate operations, merging multiple functions into one component. This reduces overall device complexity while maintaining high processing efficiency through unified control logic.
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.


