Winograd Convolution for CNN Resource Reduction

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Convolutional neural networks (CNNs) require significant computational resources and power due to the large number of multiplications involved in conventional convolution operations, leading to high latency and resource utilization issues.

Innovation Solution

The implementation of a Winograd transform-based method for convolution, which reduces the number of multiplications by transforming and element-wise multiplying image patches and filter kernels, and then inverse transforming the results, allowing for fewer resource-intensive computations while maintaining high numerical stability.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Measurement precision

If conventional convolution operations are used in CNNs, then accurate image processing and classification can be achieved, but the number of multiplications and computational resources required increases significantly

Engineering Contradiction:
Improveimage classification accuracyVSAvoidcomputational resource usage
Core Design Contradiction:
Measurement precisionVSDevice complexity

Solution Approach 1:

The patent transforms the convolution operation parameters by applying Winograd transform to change the computational form from standard convolution to a transformed domain operation. This parameter transformation reduces the number of multiplications required while maintaining the same output accuracy, directly resolving the contradiction between precision and device complexity

Inventive Principle:
Principle #35Parameter changes

Solution Approach 2:

The patent substitutes the mechanical multiplication operation with an equivalent transformation-based computation. By replacing direct convolution multiplications with Winograd transform operations followed by element-wise multiplications and inverse transforms, the system achieves the same mathematical result with fewer computational resources

Inventive Principle:
Principle #28Mechanics substitution (Replace mechanical system)

2Productivity

If conventional convolution operations are used in CNNs, then complete processing of large images can be performed, but power consumption increases due to the massive amount of computational resources required

Engineering Contradiction:
Improveimage processing capabilityVSAvoidpower consumption
Core Design Contradiction:
ProductivityVSUse of energy by stationary object

Solution Approach 1:

The Winograd transform changes the computational parameters of the convolution operation, transforming it into a form that requires fewer multiplications. This parameter transformation maintains complete image processing capability while reducing the energy-consuming multiplication operations, thereby resolving the contradiction between productivity and power consumption

Inventive Principle:
Principle #35Parameter changes

3Measurement precision

If conventional convolution operations are used in CNNs, then thorough feature extraction can be achieved, but latency increases due to the large number of multiplications involved

Engineering Contradiction:
Improvefeature extraction qualityVSAvoidprocessing latency
Core Design Contradiction:
Measurement precisionVSLoss of time

Solution Approach 1:

The patent substitutes the time-consuming multiplication-heavy convolution operation with a transformed computation approach. By replacing sequential multiplications with Winograd transform operations that enable more efficient computation patterns, the system maintains feature extraction quality while reducing processing latency

Inventive Principle:
Principle #28Mechanics substitution (Replace mechanical system)

Data Source

PatentUS11580191B1Method and system for convolution
Publication Date: 2023.02.14 XILINX INC
  • US11580191B1 patent drawing
  • US11580191B1 patent drawing
  • US11580191B1 patent drawing

AI summary

Method and system relating generally to convolution is disclosed. In such a method, an image patch is selected from input data for a first channel of a plurality of input channels of an input layer. The selected image patch is transformed to obtain a transformed image patch. The transformed image patch is stored. Stored is a plurality of predetermined transformed filter kernels. A stored transformed filter kernel of the plurality of stored predetermined transformed filter kernels is element-wise multiplied by multipliers with the stored transformed image patch for a second channel of the plurality of input channels different from the first channel to obtain a product. The product is inverse transformed to obtain a filtered patch for the image patch.