Neural Network Convolution Channel Grouping
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Deepening neural networks for high accuracy leads to a significant increase in computation requirements and a decrease in inference speed, particularly in low-performance environments, necessitating efficient convolution operation methods.
Innovation Solution
The method involves performing a first and second convolution operation using selected input channel data groups and kernel filter groups, with the number of output channel data determined by the channel stride and padding, reducing the computation amount while maintaining accuracy.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Measurement precision
If deepening neural networks is performed to obtain high accuracy, then accuracy is improved, but computation amount increases and inference speed decreases
Solution Approach 1:
The input channel data is divided into multiple groups, where each group is processed by a corresponding kernel filter group. This segmentation allows the system to process data in parallel smaller units rather than handling all channels simultaneously, reducing the computational burden per operation while maintaining overall accuracy through comprehensive coverage of all input channels.
Solution Approach 2:
Instead of applying all N input channels to every kernel filter, the method applies only K channels (where K < N) from each selected group to each kernel filter group. This partial action reduces the number of computations required per layer while still achieving good performance by strategically selecting which channel groups to process.
2Measurement precision
If deepening neural networks is performed to obtain high accuracy, then accuracy is improved, but computation amount increases
Solution Approach 1:
The computation is segmented by dividing input channels into groups and associating each group with specific kernel filters. This reduces the total number of convolution operations needed compared to applying all kernels to all channels, thereby reducing computation amount while preserving accuracy through structured processing of all input data.
Solution Approach 2:
The method performs convolution operations on only a subset of input channel groups (K out of N channels) for each kernel filter group, rather than computing all possible channel-kernel combinations. This partial computation approach significantly reduces the quantity of computational operations while maintaining effective feature extraction.
3Productivity
If the number of kernel filters is reduced to decrease computation amount, then productivity is improved, but accuracy may be lost
Solution Approach 1:
By segmenting input channels into groups and mapping each group to specific kernel filters, the system efficiently utilizes a reduced set of kernels to process all input channels. This segmentation ensures that fewer kernel filters can still capture diverse features from different channel groups, maintaining accuracy while improving processing efficiency.
Solution Approach 2:
Each kernel filter group is designed to process multiple input channel groups, making the kernels multi-functional. This universality allows a smaller number of kernel filters to effectively process a larger number of input channels, thereby maintaining accuracy with reduced computation and improved productivity.
Data Source
AI summary
A method of performing, by an electronic device, a convolution operation at a certain layer in a neural network includes: obtaining N pieces of input channel data; performing a first convolution operation by applying a first input channel data group including K pieces of first input channel data from among the N pieces of input channel data to a first kernel filter group including K first kernel filters; performing a second convolution operation by applying a second input channel data group including K pieces of second input channel data from among the N pieces of input channel data to a second kernel filter group including K second kernel filters; and obtaining output channel data based on the first convolution operation and the second convolution operation, wherein K is a natural number that is less than N.


