Neural Network Processing Subdivision for Stride Adaptation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current neural network processing systems face inefficiencies when performing operations that apply filters with strides different from those they are primarily configured for, leading to redundant data generation and poor resource utilization.

Innovation Solution

The method involves subdividing either the input data array or the filter into portions and performing multiple processing passes using these portions, allowing the system to efficiently handle various neural network operations, including those with different strides, dilated convolutions, and transposed convolutions, without significant increases in complexity or memory requirements.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If the processor is configured to perform neural network processing with a specific stride (e.g., 1x1), then processing efficiency for that specific operation is improved, but the ability to handle different stride values (e.g., 2x2, dilated convolutions) deteriorates

Engineering Contradiction:
Improveprocessing efficiencyVSAvoidability to handle different strides
Core Design Contradiction:
ProductivityVSAdaptability or versatility

Solution Approach 1:

The patent applies segmentation by dividing the input data array into multiple portions and processing each portion separately through multiple processing passes. This allows a processor optimized for specific operations (e.g., 1x1 stride) to efficiently handle operations with different strides (e.g., 2x2, dilated convolutions) by breaking down the complex operation into smaller, manageable segments that can be processed using the processor's native efficient operations.

Inventive Principle:
Principle #1Segmentation

2Speed

If the processor uses hardware circuits optimized for a particular neural network operation, then processing speed is improved, but flexibility to perform other operations deteriorates

Engineering Contradiction:
Improveprocessing speedVSAvoidflexibility to perform other operations
Core Design Contradiction:
SpeedVSAdaptability or versatility

Solution Approach 1:

The patent implements universality by demonstrating how a processor with hardware circuits optimized for a particular neural network operation can be used to perform multiple different operations (different strides, dilated convolutions, transposed convolutions) through software-based decomposition into multiple processing passes. This makes the specialized hardware effectively multi-functional without requiring multiple specialized processors.

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

3Adaptability or versatility

If multiple processing passes are performed with subdivided data, then adaptability to different operations is improved, but processing complexity increases

Engineering Contradiction:
Improveadaptability to different operationsVSAvoidprocessing complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent manages complexity by segmenting the processing task into distinct passes, where each pass handles a specific portion of the computation. While multiple passes are required, each individual pass remains relatively simple and can leverage the processor's optimized hardware circuits, thereby managing overall complexity through structured decomposition rather than attempting to implement all operations directly in hardware.

Inventive Principle:
Principle #1Segmentation

4Reliability

If the processor generates output data for all positions in the output data array, then completeness of output is improved, but resource utilization deteriorates due to redundant data generation

Engineering Contradiction:
Improvecompleteness of outputVSAvoidresource utilization
Core Design Contradiction:
ReliabilityVSLoss of energy

Solution Approach 1:

The patent applies the extraction principle by selectively extracting and processing only the relevant portions of the input data array that correspond to the desired output positions. By subdividing the input data and processing only necessary portions in each pass, the system avoids generating redundant output data while maintaining completeness of the required output, thereby improving resource utilization.

Inventive Principle:
Principle #2Taking out (Extraction)

Data Source

PatentUS11842273B2Neural network processing
Publication Date: 2023.12.12 ARM LTD
  • US11842273B2 patent drawing
  • US11842273B2 patent drawing
  • US11842273B2 patent drawing

AI summary

To perform neural network processing to modify an input data array to generate a corresponding output data array using a filter comprising an array of weight data, at least one of the input data array and the filter are subdivided into a plurality of portions, a plurality of neural network processing passes using the portions are performed, and the output generated by each processing pass is combined to provide the output data array.