Convolution Neural Network Processing via Differential Window Grouping
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing convolution neural network processing methods face inefficiencies in handling large amounts of input data, particularly in real-time data analysis and feature extraction, due to the need for extensive operations and memory usage.
Innovation Solution
The method involves grouping raw windows of an input feature map into differential groups, performing differential operations, and using a convolution kernel to generate output feature maps by performing summation operations on convolution results, which reduces memory requirements and processing time through bit-shift operations and booth algorithm preprocessing.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If conventional convolution neural network processing is used to handle large amounts of input data, then feature extraction capability is maintained, but processing time increases and memory usage increases
Solution Approach 1:
The patent divides the input feature map into multiple raw windows and groups them into differential groups. By segmenting the processing into smaller units (raw windows of size M×N) and processing them in groups, the system can handle large input data more efficiently with reduced memory requirements compared to conventional holistic processing approaches.
Solution Approach 2:
The patent performs preprocessing operations including determining differential windows from raw windows and converting data formats before the main convolution operation. This preliminary action reduces the complexity of subsequent processing and minimizes memory usage during inference, as the data is prepared in an optimized format beforehand.
2Reliability
If conventional convolution neural network processing is used for real-time data analysis, then accuracy is maintained, but memory usage increases
Solution Approach 1:
The patent applies different processing strategies to different parts of the data. Differential windows are determined from adjacent raw windows, and data format conversion is applied selectively. This local quality approach maintains feature extraction accuracy while reducing overall memory usage by optimizing each local processing step.
Solution Approach 2:
The patent changes data format parameters during preprocessing, converting raw window data into optimized formats suitable for convolution operations. This parameter change enables more efficient memory utilization during inference while preserving the accuracy of feature extraction through mathematically equivalent transformations.
3Productivity
If extensive convolution operations are performed on large input data, then comprehensive feature extraction is achieved, but processing complexity increases
Solution Approach 1:
The patent segments the large input feature map into multiple smaller raw windows and organizes them into differential groups. This segmentation reduces processing complexity by breaking down the extensive convolution operations into smaller, more manageable units that can be processed efficiently with reduced computational overhead.
Solution Approach 2:
The patent performs preliminary actions including determining differential windows from raw windows and converting data formats before executing convolution operations. This preprocessing reduces the complexity of the main convolution operations by preparing data in an optimized format, thereby improving overall feature extraction efficiency.
Data Source
AI summary
A processor-implemented method implementing a convolution neural network includes: determining a plurality of differential groups by grouping a plurality of raw windows of an input feature map into the plurality of differential groups; determining differential windows by performing, for each respective differential group of the differential groups, a differential operation between the raw windows of the respective differential group; determining a reference element of an output feature map corresponding to a reference raw window among the raw windows by performing a convolution operation between a kernel and the reference raw window; and determining remaining elements of the output feature map by performing a reference element summation operation based on the reference element and each of a plurality of convolution operation results determined by performing respective convolution operations between the kernel and each of the differential windows.


