Convolution Decomposition for Edge Device Memory Reduction

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Machine learning networks face challenges in efficiently implementing convolution operations on edge devices due to limited resources, leading to high data transfer, memory usage, and computational requirements, which are not effectively managed by existing methods.

Innovation Solution

The approach decomposes convolutions into matrix multiplications, reducing data manipulations and redundancy by storing and processing input samples and kernels in a specific format that allows for parallel computations and efficient data reuse, avoiding the need for reordering and duplication of data.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Quantity of substance

If convolutions are implemented using traditional methods on edge devices, then computational accuracy is maintained, but data transfer volume and memory usage increase significantly

Engineering Contradiction:
Improvedata transfer volumeVSAvoidconvolution computation efficiency
Core Design Contradiction:
Quantity of substanceVSProductivity

Solution Approach 1:

The patent segments the convolution operation into two independent matrix multiplications: one for spatial convolution and one for channel convolution. This segmentation allows each matrix multiplication to process data independently, reducing the need to transfer and store the entire multi-channel input data repeatedly, thereby decreasing data transfer volume and memory usage while maintaining computational accuracy.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent transforms the traditional 2D spatial convolution into a combination of operations that leverage matrix multiplication in a different dimensional arrangement. By reorganizing the convolution computation into matrix multiplication form with specific dimension mappings, the system reduces data redundancy and improves memory access patterns, leading to lower data transfer requirements and enhanced efficiency.

Inventive Principle:
Principle #17Another dimension (Dimensionality change)

2Productivity

If convolutions are implemented using traditional methods, then computational completeness is maintained, but computational overhead and processing time increase

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

Solution Approach 1:

The patent replaces the traditional mechanical convolution computation process with matrix multiplication operations. This substitution leverages the optimized performance of matrix multiplication hardware and algorithms, significantly reducing computational overhead and processing time while maintaining the same computational completeness and accuracy.

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

Solution Approach 2:

The patent performs preliminary reorganization of the input data into a format suitable for efficient matrix multiplication processing. By preparing the data in advance in the correct dimensional arrangement, the system eliminates redundant computations and optimizes memory access patterns during the actual convolution process, reducing overall processing time.

Inventive Principle:
Principle #10Preliminary action

3Quantity of substance

If convolutions are implemented on edge devices, then resource constraints are acknowledged, but existing methods do not effectively manage memory usage

Engineering Contradiction:
Improvememory usageVSAvoidresource management
Core Design Contradiction:
Quantity of substanceVSEase of operation

Solution Approach 1:

The patent segments the convolution operation into independent matrix multiplications that can be processed with smaller, more manageable data blocks. This segmentation enables the system to process convolutions within the memory constraints of edge devices without requiring excessive memory capacity, while the modular structure simplifies resource management through parallel processing capabilities.

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS11488066B2Efficient convolution of multi-channel input samples with multiple kernels
Publication Date: 2022.11.01 SIMA TECHNOLOGIES INC
  • US11488066B2 patent drawing
  • US11488066B2 patent drawing
  • US11488066B2 patent drawing

AI summary

Convolutions of an input sample with multiple kernels is decomposed into matrix multiplications of a V×C matrix of input values times a C×K matrix of kernel values, producing a V×K product. For the second matrix, C is a channel dimension (i.e., each row of the second matrix is a different channel of the input sample and kernel) and K is the kernel dimension (i.e., each column of the second matrix is a different kernel), but all the values correspond to the same pixel position in the kernel. In the matrix product, V is the output dimension and K is the kernel dimension. Thus, each value in the output matrix is a partial product for a certain output pixel and kernel, and the matrix multiplication parallelizes the convolutions by calculating partial products for multiple output pixels and multiple kernels.