Neural Network Processing Subdivision for Stride Adaptation
Find Innovative SolutionsGenerate 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
Engineering 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
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.
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
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.
3Adaptability or versatility
If multiple processing passes are performed with subdivided data, then adaptability to different operations is improved, but processing complexity increases
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.
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
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.
Data Source
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.


