Neural Network Channel Pooling for Memory-Constrained Feature Extraction
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
The challenge is to enhance the recognition performance of convolutional neural networks (CNNs) while reducing the circuit size and memory usage for storing feature data, as increasing the number of channels or hierarchical levels leads to increased memory requirements, and existing methods like pooling can decrease recognition accuracy or fail to reduce memory usage effectively.
Innovation Solution
A data processing apparatus and method that extracts intermediate feature data, reduces the number of channels through channel direction pooling, and controls the number of channels to improve recognition performance without increasing feature data memory usage, by calculating output feature data without holding intermediate feature data in memory.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Measurement precision
If the number of channels or hierarchical levels of CNN is increased to enhance recognition performance, then recognition accuracy is improved, but memory usage for storing feature data increases
Solution Approach 1:
The patent segments the feature data processing by dividing channels into groups and processing them separately through multiple processing units. Instead of loading all channel data simultaneously into memory, the system processes one group of channels at a time, significantly reducing the peak memory usage while maintaining the ability to handle a large total number of channels for high recognition accuracy
Solution Approach 2:
The patent introduces a time dimension to the processing architecture by sequentially processing different channel groups across multiple time steps. The control unit manages the temporal sequence of data input and processing, allowing the system to handle large numbers of channels without requiring proportional memory increases, as data is processed in a time-multiplexed manner rather than all at once
2Quantity of substance
If pooling is applied to reduce feature data size, then memory usage is reduced, but recognition accuracy decreases due to resolution loss
Solution Approach 1:
The patent applies pooling in the channel direction (adding a dimension to the pooling operation) rather than only in the spatial direction. This channel-direction pooling reduces the number of channels while preserving spatial resolution, thereby reducing memory usage without significantly degrading recognition accuracy. The storage unit stores feature data with reduced channels but maintains the original spatial dimensions
Solution Approach 2:
Instead of the conventional approach of reducing spatial resolution through pooling to decrease data size, the patent inverts the approach by reducing the number of channels through pooling while maintaining spatial resolution. This reverse pooling strategy reduces memory usage without sacrificing the spatial information critical for accurate recognition
3Quantity of substance
If channel direction pooling is performed to reduce the number of channels, then memory usage is reduced, but the complexity of controlling the pooling operation increases
Solution Approach 1:
The control unit is designed with multi-functionality to manage both the feature extraction processing and the channel-direction pooling operations within a single control architecture. It universally handles data input from the storage unit, coordinates the pooling operation parameters, and manages the output to subsequent processing stages, thereby reducing overall system complexity despite the advanced pooling operations performed
Solution Approach 2:
The pooling operation parameters controlled by the control unit are made dynamic and adaptable. The control unit can adjust the pooling parameters (such as the pooling factor and which channels to pool) based on the specific requirements of different processing stages and data characteristics, allowing the system to optimize memory usage without requiring a fixed complex control structure
Data Source
AI summary
A data processing apparatus for executing data processing using a neural network including a plurality of hierarchal levels includes an extraction unit configured to extract intermediate feature data from input feature data, a calculation unit configured to calculate output feature data by reducing the number of channels of the intermediate feature data, a storage unit configured to store the output feature data calculated by the calculation unit and provide the input feature data to the extraction unit, and a control unit configured to control the number of channels of the intermediate feature data to be extracted by the extraction unit and the number of channels of the output feature data to be calculated by the calculation unit.


