Convolution Kernel Folding for Direct Feature Data Processing
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Conventional convolutional neural networks require unfolding folded feature data into conventional data, leading to inefficient operations and waste of hardware resources, as they cannot perform convolution operations directly on folded data, resulting in suboptimal resource utilization and additional ineffective operations.
Innovation Solution
A method and apparatus that preprocess and fold convolution kernels to match the folding manner of folded feature data, allowing direct convolution operations on the pre-processed folded data without unfolding, thereby improving operational efficiency and resource utilization.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If folded feature data is unfolded into conventional data for convolution operations, then compatibility with conventional convolutional neural networks is maintained, but operation efficiency decreases and hardware resources are wasted
Solution Approach 1:
Instead of unfolding folded feature data into conventional data format before convolution operations, the patent inverts the approach by folding the convolution kernel to match the folded feature data format. This allows direct convolution operations on folded data without unfolding, thereby improving operation efficiency and reducing hardware resource waste while maintaining compatibility through kernel transformation
Solution Approach 2:
The patent changes the parameters of the convolution kernel by folding it in at least one dimension (width or height) according to the folding manner of the feature data. This parameter transformation enables the kernel to operate directly on folded feature data, converting an incompatible operation into a compatible one without requiring data unfolding
2Productivity
If folded feature data is directly used for convolution operations without unfolding, then operation efficiency improves, but compatibility with conventional convolutional neural networks is compromised
Solution Approach 1:
The patent transforms the convolution kernel parameters by folding it in at least one dimension (width or height) according to the folding manner of the feature data. This parameter change enables direct convolution operations on folded feature data, improving calculation rate while maintaining network compatibility through the folded kernel formulation
Solution Approach 2:
The patent applies different folding operations to the convolution kernel based on the specific folding manner of the feature data. By locally adapting the kernel folding to match the feature data folding pattern, the system achieves both improved calculation efficiency and maintained compatibility with the convolutional neural network architecture
3Productivity
If conventional convolution operations are performed on folded feature data, then hardware resource utilization is optimized, but additional ineffective operations are required
Solution Approach 1:
The patent performs preliminary folding of the convolution kernel to match the folded feature data format before the convolution operation. This preliminary action eliminates the need for subsequent unfolding and refolding operations, reducing processing time while optimizing hardware resource utilization through direct convolution on folded data
Data Source
AI summary
Disclosed are a method and an apparatus for performing convolution operation on folded feature data. The method comprises: reading the folded feature data provided to a convolution layer and an original convolution kernel from a dynamic random access memory (DRAM); 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 at least one dimension of width or height according to a folding manner of the folded feature data 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.


