Convolution Operation Method Using Overlapping Data Blocks
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Convolutional Neural Networks (CNNs) face inefficiencies due to limited buffer space in convolution operation modules, leading to suspended operations and reduced computational efficiency as they cannot cache all operation data, necessitating the development of methods to cache and load more data efficiently.
Innovation Solution
A convolution operation method and device that divide input feature maps into overlapping data blocks, allowing for non-overlapping areas to be stored in cache, enabling more data to be cached and reducing suspension frequency, thereby enhancing operational efficiency.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Device complexity
If the buffer space of the convolution operation module is limited, then the device complexity is reduced, but the productivity decreases due to frequent suspensions and data reloading
Solution Approach 1:
The input feature map is divided into multiple input data blocks, and each input data block is further divided into multiple non-overlapping areas. This segmentation allows the system to process and cache data in smaller, manageable units, enabling more data blocks to fit within the limited buffer space while maintaining computational efficiency.
Solution Approach 2:
The patent introduces an overlapping dimension between adjacent input data blocks. By allowing overlap between blocks while maintaining non-overlapping areas within each block, the system can cache more data blocks in the limited buffer space without losing computational accuracy, thus improving productivity without increasing buffer space.
2Productivity
If more operation data is cached in the convolution operation module, then the productivity is improved by reducing suspension times, but the device complexity increases due to larger buffer space requirements
Solution Approach 1:
By segmenting the input feature map into multiple blocks and each block into non-overlapping areas, the system can efficiently utilize the limited buffer space to cache more data blocks simultaneously, improving operational efficiency without requiring additional buffer space.
Solution Approach 2:
The patent uses overlapping areas between adjacent input data blocks to ensure that sufficient data is available for convolution operations without caching complete non-overlapping blocks. This partial caching approach allows more data blocks to be cached within the limited buffer space, reducing suspension times and improving productivity.
3Quantity of substance
If the input feature map is divided into overlapping data blocks, then the quantity of cached data is increased, but the device complexity increases due to more complex data management
Solution Approach 1:
The systematic segmentation of the input feature map into blocks and non-overlapping areas provides a structured approach to data management. This segmentation simplifies the tracking and management of cached data, allowing the system to handle overlapping blocks efficiently without excessive complexity.
Solution Approach 2:
Different areas within each input data block have different properties: non-overlapping areas are stored in cache while overlapping areas are used for computation. This local differentiation allows efficient data management by caching only the necessary non-overlapping portions while maintaining access to overlapping data for convolution operations.
Data Source
AI summary
A convolution operation method is provided for performing a convolution operation on an input feature map to generate a corresponding output feature map, wherein the input feature map is divided into a plurality of input data blocks, and the convolution operation method includes: dividing each of the input data blocks into a plurality of non-overlapping areas, wherein there is an overlapping area between any two adjacent input data blocks; storing the non-overlapping areas of each input data block into a respective non-overlapping storage space in a cache; generating each input data block according to the area corresponding to each input data block stored in the non-overlapping storage spaces; and performing a convolution operation on the plurality of generated input data blocks to generate the output feature map.


