Winograd Convolution Partitioning to Cut Multiplier Overhead
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Convolution operations in convolution neural networks require numerous multipliers, leading to high overheads in timing, power consumption, and reduced processing efficiency when implemented in hardware.
Innovation Solution
The method involves splitting data into sub-tensors during winograd convolution operations, transforming these sub-tensors, and summing their results using multiple operation sub-apparatuses to reduce matrix multiplications, thereby improving processing efficiency.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Power
If Winograd convolution algorithm is used to reduce computational complexity, then the number of multiplications is reduced, but the algorithm complexity increases due to additional data processing steps
Solution Approach 1:
The patent segments the convolution operation into distinct phases: input data storage, Winograd transformation, coefficient calculation, and output generation. By dividing the computation into modular stages with specialized handling for each phase, the system reduces overall computational complexity while managing algorithmic complexity through structured organization of operations.
Solution Approach 2:
The patent transforms the convolution operation from standard form to Winograd form by changing the mathematical parameters and representation of the data. This parameter transformation reduces the number of multiplications required from O(n³) to O(n²), directly addressing computational complexity while the transformation itself manages algorithmic complexity through established mathematical relationships.
2Productivity
If more memory is used to store input data and intermediate results, then computational efficiency is improved, but memory resource consumption increases
Solution Approach 1:
The patent performs preliminary actions by pre-storing input data in memory before the convolution operation begins. This preliminary data preparation allows the main computation to proceed more efficiently by avoiding repeated data access and transformation operations, thereby improving computational efficiency while using memory resources strategically for data that will be reused multiple times.
Data Source
Figure 1~2
Figure 3
Figure 4
AI summary
The present disclosure provides a winograd convolution operation method, a winograd convolution operation apparatus, a device, and a storage medium. The apparatus includes: processors and a memory, where the memory is configured to store a program code, and the processors are configured to call the program code stored in the memory and execute the operation method. Through the operation method, a system, the device and the storage medium of the present disclosure, performance loss of a computer system may be reduced, and operation speed may be improved. Through the present disclosure, processing efficiency may be improved.