Neural Network Convolution Memory Reuse via Output Overwrite
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing neural network convolution operations face challenges in efficiently utilizing memory space, leading to potential overflow and suboptimal performance due to the need for extensive buffering and redundant memory allocation.
Innovation Solution
The proposed method employs a line data structure for convolution operations, utilizing a cumulative convolution process that reuses memory space by overwriting input feature maps with generated output lines, thereby optimizing memory usage and improving computational efficiency.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If traditional neural network convolution operations use separate memory spaces for input feature maps and output feature maps, then computational accuracy is maintained, but memory space utilization deteriorates leading to potential overflow and reduced performance
Solution Approach 1:
The patent merges the storage spaces for input feature maps and output feature maps by allowing the output feature map to overwrite the input feature map in the same memory space. This is achieved through a cumulative convolution process where the output of one convolution operation serves as input for the next operation, eliminating the need for separate memory allocations and preventing memory overflow.
Solution Approach 2:
The patent implements a cumulative convolution process where previously computed output values are discarded and reused as input for subsequent convolution operations. This allows the same memory space to be recovered and reused across multiple operations, maximizing memory space utilization while maintaining computational accuracy through proper data management.
2Reliability
If extensive buffering and redundant memory allocation are used in traditional convolution operations, then computational accuracy is ensured, but device complexity and memory overhead increase
Solution Approach 1:
The patent extracts and eliminates the need for extensive buffering and redundant memory allocation by implementing a cumulative convolution process. The output of each convolution operation is directly used as input for the next operation, removing the requirement for separate buffer memory spaces and simplifying memory management while maintaining computational accuracy.
3Reliability
If separate memory spaces are allocated for input and output feature maps, then data integrity is maintained, but productivity decreases due to reduced computational efficiency
Solution Approach 1:
The patent implements continuity of useful action by using the output of one convolution operation as the input for the next operation without interruption. The cumulative convolution process maintains data integrity through proper data flow management while eliminating the need for separate memory spaces, thereby improving computational efficiency and productivity.
Data Source
Figure 1
Figure 2
Figure 3
AI summary
A processor-implemented neural network method includes: generating a first output line of an output feature map by performing a convolution operation between a first input line group of an input feature map and weight kernels; generating a first output of an operation block including the convolution operation based on the first output line; and storing the first output in a memory in which the input feature map is stored by overwriting the first output to a memory space of the memory.