Winograd Convolution Accelerator for Neural Network Energy Efficiency
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current artificial neural network (ANN) processing units (NPUs) face challenges in efficiently performing convolution operations, particularly in energy-constrained devices, due to the computationally intensive nature of convolutional neural networks (CNNs), which require large resources and struggle with reducing computational complexity without compromising accuracy.
Innovation Solution
The implementation of a Winograd-based convolution (WinConv) method that transforms input feature maps and kernels into a smaller domain, reducing the number of multiplications and increasing additions and subtractions, thereby optimizing resource utilization and energy efficiency through the use of a processor-implemented apparatus with forward and inverse transform modules, multiply and accumulate array units, and data staging units.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If conventional convolution operations are used in NPUs, then processing capability is maintained, but computational complexity and energy consumption increase
Solution Approach 1:
The patent applies parameter changes by transforming the convolution operation from the conventional domain to the Winograd domain through forward and inverse transform operations. This changes the computational parameters from direct convolution to a form that requires fewer multiplications (reduced by 2.25x for 3x3 convolutions), thereby reducing energy consumption while maintaining processing capability
Solution Approach 2:
The patent introduces intermediary transform modules (forward transform and inverse transform) that mediate between the input feature maps and the convolution operation. These intermediaries transform the data into a domain where convolution requires fewer computational operations, reducing the energy burden on the NPU
2Productivity
If conventional convolution operations are used in NPUs, then processing capability is maintained, but computational complexity increases
Solution Approach 1:
The patent changes the computational parameters by transforming convolution operations into the Winograd domain, where the mathematical formulation requires fewer multiplication operations. This parameter transformation reduces computational complexity from O(n^2) to O(1) for fixed kernel sizes, making the device less complex while maintaining processing capability
3Use of energy by moving object
If Winograd transform is applied to reduce multiplications, then energy efficiency improves, but device complexity increases
Solution Approach 1:
The patent segments the convolution operation into distinct modular components: forward transform module, convolution computation units with MAA arrays, and inverse transform module. This segmentation allows each module to be optimized independently and facilitates efficient resource utilization, reducing the practical device complexity despite the mathematical complexity of Winograd transform
Solution Approach 2:
The patent designs universal MAA units that can perform multiple functions: they handle both the forward and inverse transform operations as well as the convolution computation. This multi-functionality reduces the overall device complexity by reusing the same hardware resources across different operational phases
Data Source
AI summary
A processor-implemented apparatus includes a forward transform module configured to transform input feature maps (IFMs) by performing a forward transform operation in a Winograd convolution (WinConv) domain, multiply and accumulate array (MAA) units configured to multiply the transformed IFMs by transformed kernels and perform a first inverse transform operation based on results of the multiplying, and an inverse transform module configured to generate output feature maps (OFMs) based on a result of the first inverse transform operation.


