Neural Network Data Manipulation for Convolution Efficiency
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing neural network processing technologies face inefficiencies in convolution operations due to mismatched channel numbers between input data and hardware operators, leading to idle channels and reduced performance.
Innovation Solution
The method involves manipulating input data by adding zero-configured channels and shifting elements based on hardware configuration and sparsity to align with the number of channels in the operator, and rearranging data to optimize convolution operations.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If input data is directly processed by hardware operator, then processing is simple, but idle channels occur when channel numbers do not match, reducing efficiency
Solution Approach 1:
The patent applies preliminary action by manipulating input data before it enters the convolution operation. Specifically, the system adds zero channels to input data to match the hardware operator's channel count, and performs channel reordering operations in advance. This ensures that when data reaches the hardware operator, all channels are utilized without idle channels, thereby improving convolution operation efficiency while managing complexity through pre-processing
Solution Approach 2:
The patent applies parameter changes by dynamically adjusting the number and arrangement of channels in input data based on the hardware operator's configuration. The system modifies the input data's channel dimension by adding zero channels and reordering existing channels to match the operator's channel count, thereby optimizing the utilization of hardware resources and eliminating idle channels during convolution operations
2Productivity
If zero channels are added to match hardware configuration, then all operator channels are utilized, but data manipulation complexity increases
Solution Approach 1:
The system performs the action of adding zero channels and reordering channels in advance, before the convolution operation begins. This preliminary manipulation ensures that the input data's channel configuration matches the hardware operator's requirements, enabling full utilization of all operator channels without leaving any idle channels during the actual computation
Solution Approach 2:
The patent uses zero channels as temporary, disposable elements that are added to input data solely for matching hardware configuration. These zero channels serve as placeholders to align the input data's channel count with the operator's channel count, and they are subsequently utilized in the convolution operation without requiring complex or expensive modifications to the underlying data structure
3Productivity
If data is rearranged based on sparsity, then unnecessary computations are reduced, but processing time for manipulation increases
Solution Approach 1:
The patent applies local quality by performing channel reordering operations selectively based on the sparsity characteristics of the input data. Instead of uniformly processing all data, the system identifies regions or channels with specific sparsity patterns and reorders only those that benefit from optimization. This targeted approach reduces unnecessary computations in sparse regions while minimizing the overall time required for data manipulation
Data Source
Figure 1
Figure 2
Figure 3
AI summary
A method of processing data includes manipulating input data based on a configuration of the input data and a configuration of hardware for processing the input data to generate manipulated data; rearranging the manipulated data based on sparsity of the manipulated data to generate rearranged data; and processing the rearranged data to generate output data.