Adaptive 3D Multiplier Layer for Convolutional Neural Network Loop Optimization

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Convolutional neural networks face inefficiencies in computation due to the need for eight layers of nested loops to process multi-dimensional activation and filter data, leading to high computational complexity and resource utilization issues.

Innovation Solution

An adaptive multiply accumulate layer is constructed by determining and setting dimensions based on activation data map width, channel depth, and filter set number, allowing for the creation of a 3D array of multipliers that can be adjusted to optimize processing efficiency, reducing the number of loops and improving resource utilization.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If eight layers of nested loops are used to process multi-dimensional activation and filter data, then the convolution operation can be performed, but the computational complexity and resource utilization increase significantly

Engineering Contradiction:
Improveconvolution operation correctnessVSAvoidnested loops structure
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent segments the eight-layer nested loop structure into multiple independent processing stages. By dividing the computation into separate dimension processing steps (spatial dimensions, channel dimensions, batch dimensions), the complex nested structure is broken down into manageable segments that can be processed more efficiently with reduced inter-dependency between loops.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent transforms the computational approach by introducing additional processing dimensions. Instead of purely iterative loop nesting, the invention reorganizes data layout and processing order across multiple dimensions (e.g., transforming between NCHW and NHWC formats), enabling parallel processing paths that reduce the effective depth of nested loops required.

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

2Reliability

If eight layers of nested loops are used to process multi-dimensional activation and filter data, then the convolution operation can be performed, but the processing time increases

Engineering Contradiction:
Improveconvolution operation correctnessVSAvoidprocessing time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent performs preliminary data layout transformations and pre-computation steps before entering the main nested loop structure. By pre-organizing activation and filter data into optimized formats and pre-computing certain intermediate values, the actual convolution computation requires fewer iterative steps and less time within the nested loops.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent ensures continuous utilization of processing resources by overlapping data transfer, computation, and transformation operations. The reorganized loop structure enables pipelining where different stages of convolution computation for different batches or channels can proceed concurrently, reducing idle time and improving overall processing throughput.

Inventive Principle:
Principle #20Continuity of useful action

3Ease of manufacture

If traditional nested loop structure is used, then convolution processing can be implemented, but resource utilization is inefficient

Engineering Contradiction:
Improveimplementation simplicityVSAvoidresource utilization efficiency
Core Design Contradiction:
Ease of manufactureVSProductivity

Solution Approach 1:

The patent introduces dynamic data layout transformations that adapt the memory and computation layout to match the processing stage. By dynamically switching between different data format representations (NCHW, NHWC, and intermediate formats) at different stages of computation, the system optimizes resource utilization for each specific operation while maintaining implementation feasibility through systematic transformation rules.

Inventive Principle:
Principle #15Dynamics

Data Source

PatentUS11954573B2Convolutional neural network using adaptive 3D array
Publication Date: 2024.04.09 BLACK SESAME TECH INC
  • US11954573B2 patent drawing
  • US11954573B2 patent drawing
  • US11954573B2 patent drawing

AI summary

A method of constructing an adaptive multiply accumulate layer in a convolutional neural network, including determining an activation data map width, an activation data map height, a channel depth, a batch, a kernel width, a kernel height and a filter set number, setting a first dimension of an adaptive multiplier layer based on the activation data map width, setting a second dimension of the adaptive multiplier layer based on the channel depth, setting a third dimension of the adaptive multiplier layer based on the filter set number and constructing the adaptive multiplier layer based on the first dimension, the second dimension and the third dimension.