CNN Sliding-Window Filtering to Cut Microprocessor Load
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Neural networks, particularly convolutional neural networks, require significant computing power due to their complexity, leading to a decrease in instructions per second executed by the system.
Innovation Solution
A method involving a first filtering using a convolutional layer with a sliding window in one direction followed by a second filtering using a pooling layer with a sliding window in an orthogonal direction, reducing the computational load by storing intermediate data in temporary memories and applying pooling operations.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Measurement precision
If a convolutional neural network processes data through multiple layers with sliding windows, then the classification accuracy and feature extraction capability are improved, but the computational load and processing time increase significantly
Solution Approach 1:
The patent divides the computational process into two distinct phases: a first filtering phase using a convolutional layer with a first sliding window, and a second filtering phase using a pooling layer with a second sliding window. This segmentation allows the system to process data in manageable stages, reducing the overall computational burden while maintaining classification accuracy. The intermediate results from the first phase are stored in temporary memory and reused in the second phase, avoiding redundant calculations.
Solution Approach 2:
The patent performs preliminary filtering operations in the first convolutional layer before the second pooling layer processes the data. By pre-processing the data and storing intermediate results in temporary memory, the system prepares optimized input for the second filtering phase, reducing the computational load during the main processing stage. This preliminary action enables efficient reuse of computed values across multiple operations.
2Measurement precision
If the neural network uses multiple filtering operations with sliding windows, then the feature extraction quality is improved, but the data processing time increases
Solution Approach 1:
The patent merges multiple filtering operations by having the second pooling layer operate on intermediate results stored in temporary memory from the first convolutional layer. This combining of operations allows the system to perform multiple filtering passes without reprocessing the entire input data, significantly reducing processing time while maintaining feature extraction quality. The temporary memory serves as a bridge that enables efficient operation merging.
3Productivity
If intermediate data is stored in temporary memory for multiple filtering operations, then the computational efficiency is improved, but the memory requirements increase
Solution Approach 1:
The patent implements local quality by creating specialized temporary memory regions dedicated to storing intermediate results from the first filtering phase. Rather than using general-purpose memory, the system allocates specific memory locations optimized for the intermediate data format and access patterns required by the second filtering phase. This localized memory management improves access efficiency while minimizing overall memory requirements.
Data Source
Figure 1
Figure 2
Figure 3
AI summary
Device (MO) comprising an initial memory (MV) for storing an initial data set (DI) in first and second orthogonal directions, and a first memory for storing parameters defining a convolutional neural network (RN), and a microprocessor (UC) configured to perform the operations of the different layers of the neural network, at least one convolutional layer is configured to perform a first filtering of the initial data set (DI) using a first sliding window in the first direction so as to produce a first data set (D1) at each slide, and at least one pooling layer is configured to perform a second filtering of the first data sets (D1) using a second sliding window in the second direction.