Convolutional Neural Network Layer Data Folding for SRAM Efficiency
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Convolutional neural networks are operation-intensive and face inefficiencies when performing operations using general-purpose processors or accelerators due to low resource utilization and invalid operations, particularly with multi-channel data processing.
Innovation Solution
The method involves folding unfolded feature data and convolution kernels in multiple dimensions, pre-processing them, and storing them in SRAM for efficient convolution operations, improving channel utilization and reducing cache consumption.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If conventional convolutional neural network operations are performed using general-purpose processors or accelerators, then the network can be implemented, but resource utilization is low and invalid operations occur particularly with multi-channel data processing
Solution Approach 1:
The patent segments the convolution operation by dividing the feature map into multiple blocks and processing them in parallel. Each block is processed independently through the convolutional layer, enabling simultaneous computation across different spatial regions. This segmentation approach increases hardware resource utilization by allowing parallel processing of multiple channels and reduces invalid operations by focusing computation only on active data regions.
Solution Approach 2:
The patent introduces a temporal dimension to the convolution operation by processing multiple feature maps at different time steps or iterations. This dimensional expansion allows the system to handle multi-channel data more efficiently by organizing computations in a time-sequential manner that improves resource utilization and eliminates redundant calculations.
2Adaptability or versatility
If multi-channel data processing is performed in conventional convolutional layers, then comprehensive feature extraction is achieved, but invalid operations increase and resource utilization decreases
Solution Approach 1:
The patent applies local quality by processing different channels and spatial regions with different levels of computation intensity based on their specific characteristics. Important channels and regions receive enhanced processing while less critical areas are handled with reduced computation, optimizing resource allocation across multi-channel data and eliminating invalid operations in redundant processing.
Solution Approach 2:
The patent implements dynamic computation adaptation where the convolutional layer adjusts its processing intensity and channel selection based on the input data characteristics and computational requirements. This dynamic approach allows the system to optimize resource utilization in real-time while maintaining comprehensive multi-channel processing capability.
3Stability of the object's composition
If convolutional operations are performed without folding feature data, then the original data structure is preserved, but channel utilization is low and cache consumption increases
Solution Approach 1:
The patent applies preliminary action by folding the feature data into a compact representation before processing it through the convolutional layer. This pre-transformation organizes the data in a way that improves channel utilization and reduces cache requirements, while the unfolding operation after convolution restores the original data structure for downstream processing.
Solution Approach 2:
The patent introduces folded feature data as an intermediary representation between the input data and the convolutional operation. This intermediate form enables efficient channel utilization and reduced cache consumption during processing, while maintaining the ability to transform back to the original data structure when needed.
Data Source
AI summary
Disclosed are a method and an apparatus for performing an operation of a convolutional layer in a convolutional neural network. The method comprises: reading unfolded feature data provided to the convolution layer and an original convolution kernel of the convolutional layer from a dynamic random access memory (DRAM); folding the unfolded feature data in at least one dimension of width and height to generate folded feature data; pre-processing the folded feature data and the original convolution kernel; storing the pre-processed folded feature data into a static random-access memory (SRAM); folding the pre-processed original convolution kernel in the at least one dimension to generate one or more folded convolution kernels corresponding to the original convolution kernel; storing the one or more folded convolution kernels in the SRAM; and reading the pre-processed folded feature data and the one or more folded convolution kernels from the SRAM into a calculation unit for convolving the pre-processed folded feature data with the one or more folded convolution kernels. By means of the method and/or apparatus in accordance with embodiments of the present disclosure, channel utilization may be improved, cache occupancy may be reduced, and operation efficiency may be improved.


