Winograd Convolution Kernel Segmentation for Neural Network Efficiency
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Large-scale neural network models require significant calculation time and power consumption when processed using central processing units (CPUs) and graphics processing units (GPUs), leading to inefficiencies in artificial intelligence applications.
Innovation Solution
The method involves splitting a convolutional kernel larger than 3*3 into sub convolutional kernels of 3*3 or less and input data into sub input data of 4*4 or less, allowing for Winograd convolution operations that eliminate the need for multiplication computations by using only shift and summation, thereby reducing calculation time and power consumption.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Measurement precision
If large-scale neural network models are processed using CPU or GPU, then recognition degree is improved, but calculation time and power consumption increase enormously
Solution Approach 1:
The patent segments large convolutional kernels (greater than 3x3) into multiple smaller sub-convolutional kernels (3x3 or smaller). This segmentation allows the Winograd algorithm to be applied efficiently to each small kernel, reducing the computational complexity from O(n^2) to O(1) for each element calculation, thereby significantly reducing calculation time while maintaining recognition accuracy
2Measurement precision
If large-scale neural network models are processed using CPU or GPU, then recognition degree is improved, but power consumption increases enormously
Solution Approach 1:
By segmenting large convolutional kernels into small 3x3 or smaller sub-kernels, the patent enables the use of Winograd's minimal filtering algorithm which requires significantly fewer arithmetic operations. This reduction in computational operations directly translates to lower power consumption on mobile and embedded devices while preserving the recognition performance of the original large-kernel model
3Productivity
If Winograd convolution operation is performed on large convolutional kernels, then calculation amount is reduced, but the algorithm becomes complex with fractional numbers requiring multiplication computations
Solution Approach 1:
The patent resolves the algorithmic complexity issue by segmenting large convolutional kernels into small 3x3 or smaller sub-kernels. This segmentation ensures that the Winograd transformation matrices contain only integers (no fractional numbers), eliminating the need for complex multiplication operations and allowing the use of simple shift and add operations instead, thus reducing both computational amount and algorithmic complexity
Data Source
AI summary
This disclosure relates to a data processing method, a data processing apparatus, and related products. The products include a control unit. The control unit includes: an instruction caching unit, an instruction processing unit, and a storage queue unit. The instruction caching unit is used for storing a calculation instruction associated with an artificial neural network computation; the instruction processing unit is used for parsing the calculation instruction to obtain a plurality of computation instructions; and the storage queue unit is used for storing an instruction queue, where the instruction queue includes the plurality of computation instructions or calculation instructions to be executed according to a front-back sequence of a queue. Through the above method of this disclosure, computation efficiency of the related products during a neural network model computation may be improved.


