Weighted Matrix for Neural Network Accelerator Memory Optimization

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Neural network accelerators face memory inefficiencies and increased compilation times due to large compute graphs generated by iterative convolution operations, which hinder their performance in tasks like image recognition.

Innovation Solution

The approach involves flattening convolution filters into single-dimensional vectors and merging them to form a weighted matrix, allowing for efficient matrix-vector multiplication and reducing the complexity of convolution operations, thereby minimizing memory usage and enhancing computational efficiency.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Measurement precision

If iterative convolution operations are performed using traditional methods, then convolution accuracy is maintained, but memory utilization increases and compilation time increases

Engineering Contradiction:
Improveconvolution accuracyVSAvoidmemory utilization
Core Design Contradiction:
Measurement precisionVSQuantity of substance

Solution Approach 1:

Multiple convolution filters are merged into a single weighted matrix by flattening each filter into a vector and concatenating them as rows. This combining approach reduces memory utilization by eliminating redundant storage of separate filter structures while maintaining convolution accuracy through mathematically equivalent operations.

Inventive Principle:
Principle #5Merging (Combining)

2Measurement precision

If iterative convolution operations are performed using traditional methods, then convolution accuracy is maintained, but compilation time increases

Engineering Contradiction:
Improveconvolution accuracyVSAvoidcompilation time
Core Design Contradiction:
Measurement precisionVSLoss of time

Solution Approach 1:

The convolution filters are pre-flattened into vectors and merged into a weighted matrix before the convolution operation executes. This preliminary transformation simplifies the computational graph structure, reducing compilation time by eliminating the need to process and manage multiple separate filter definitions during the compilation phase.

Inventive Principle:
Principle #10Preliminary action

3Adaptability or versatility

If multiple separate convolution filters are used, then filter specificity is maintained, but device complexity increases

Engineering Contradiction:
Improvefilter specificityVSAvoidcompute graph complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

Multiple convolution filters are merged into a single weighted matrix where each row corresponds to a specific filter's flattened weights. This approach maintains filter specificity by preserving all individual filter weights in the matrix structure while reducing device complexity by simplifying the computational graph to a single matrix-vector multiplication operation instead of multiple separate filter applications.

Inventive Principle:
Principle #5Merging (Combining)

Data Source

PatentUS20220198250A1Weighted matrix for input data stream
Publication Date: 2022.06.23 HEWLETT PACKARD ENTERPRISE DEV LP
  • US20220198250A1 patent drawing
  • US20220198250A1 patent drawing
  • US20220198250A1 patent drawing

AI summary

Examples of performing convolution operations based on a weighted matrix are described. In an example, an input data stream vector is processed using a weighted matrix stored onto a processing unit of a neural network accelerator. The weighted matrix may correspond to a first convolution filter and a second convolution filter.