Convolution Streaming Engine Matrix Decomposition

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Deep learning neural networks, particularly convolutional neural networks, face significant computational inefficiencies due to the high computational load of convolutional layers, which account for over 90% of total computations, regardless of configuration parameters like feature map size, kernel size, and stride.

Innovation Solution

The implementation of a convolution streaming engine that converts convolution operations into matrix multiplication operations by decomposing inputs into panel matrices, which are then processed by a matrix multiplication engine, decoupling compute efficiency from specific neural network configurations.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If convolution operations are performed using traditional methods in neural networks, then the computational accuracy is maintained, but the computational efficiency deteriorates due to the high computational load of convolutional layers

Engineering Contradiction:
Improvecomputational efficiencyVSAvoidprocessing time
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The patent segments the input feature map into multiple non-overlapping regions or panels, allowing the convolution operation to be divided into multiple independent matrix multiplication operations. This segmentation enables parallel processing and reduces the overall computational complexity, directly addressing the efficiency-time tradeoff by breaking down the large-scale convolution into smaller, manageable units that can be processed faster

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent substitutes the traditional mechanical convolution operation (sliding window approach) with matrix multiplication operations. By reformulating the convolution as matrix multiplications between kernel matrices and panel matrices, the system achieves higher computational efficiency while maintaining the same mathematical equivalence, thereby reducing processing time without sacrificing accuracy

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

2Adaptability or versatility

If the neural network uses arbitrary configurations of feature map size, kernel size, and stride, then the model's adaptability is improved, but the computational complexity increases making efficiency evaluation difficult

Engineering Contradiction:
Improveconfiguration flexibilityVSAvoidcomputational complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent creates a universal matrix multiplication framework that can handle arbitrary neural network configurations (different feature map sizes, kernel sizes, and strides) through a single unified approach. The method universally applies panel decomposition and matrix multiplication regardless of specific configuration parameters, allowing the system to maintain adaptability while simplifying the computational complexity through a standardized processing pipeline

Inventive Principle:
Principle #6Universality (Multi-functionality)

Solution Approach 2:

The patent changes the parameter representation by transforming the convolution operation parameters (feature map size, kernel size, stride) into matrix dimensions for the panel decomposition process. This parameter transformation allows arbitrary configurations to be handled systematically through matrix operations, reducing the perceived complexity while maintaining configuration flexibility

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentUS11593637B2Convolution streaming engine for deep neural networks
Publication Date: 2023.02.28 SAMSUNG ELECTRONICS CO LTD
  • US11593637B2 patent drawing
  • US11593637B2 patent drawing
  • US11593637B2 patent drawing

AI summary

A method, an electronic device, and computer readable medium are provided. The method includes receiving an input into a neural network that includes a kernel. The method also includes generating, during a convolution operation of the neural network, multiple panel matrices based on different portions of the input. The method additionally includes successively combining each of the multiple panel matrices with the kernel to generate an output. Generating the multiple panel matrices can include mapping elements within a moving window of the input onto columns of an indexing matrix, where a size of the window corresponds to the size of the kernel.