Neural Network Kernel Decomposition for Reduced Convolution Operations
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current neural network technologies face challenges in efficiently processing large amounts of input data in real-time due to high operation counts and computational complexity, making it difficult to analyze data and extract information effectively, especially in resource-constrained devices like smartphones and tablets.
Innovation Solution
The method involves decomposing kernels into a first type sub-kernel with uniform weights and a second type sub-kernel that corrects differences, allowing for clock-gated convolution operations and reduced computational complexity by reusing results from initial kernel operations and skipping unnecessary multiplications, thereby reducing the operation count.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Measurement precision
If conventional convolution operations are used with full-precision kernels, then processing accuracy is maintained, but the number of operations and computational complexity increase significantly
Solution Approach 1:
The kernel is decomposed into two sub-kernels: a first sub-kernel containing only non-zero elements and a second sub-kernel containing only zero elements. This segmentation allows the convolution operation to be split into two separate operations, where the second operation can be skipped entirely when its kernel contains all zeros, thereby reducing computational complexity while maintaining processing accuracy.
Solution Approach 2:
Instead of performing complete convolution operations with all kernel elements, the method performs partial convolution by identifying and executing only the necessary sub-operations. The second convolution operation is conditionally executed based on whether the second sub-kernel contains non-zero elements, implementing partial action to reduce overall computational burden.
2Productivity
If conventional convolution operations are performed on all kernels, then complete processing is achieved, but the operation count becomes prohibitively high for real-time processing
Solution Approach 1:
The method performs preliminary analysis of the kernel to identify zero-element positions before executing the convolution operation. By pre-processing the kernel to determine which sub-kernels contain non-zero elements, the system can conditionally skip unnecessary convolution operations, thereby reducing processing time and enabling real-time performance.
Solution Approach 2:
The method implements skipping of redundant convolution operations by detecting when sub-kernels contain only zero elements. When such cases are identified, the corresponding convolution operations are skipped entirely, allowing the system to rush through unnecessary computations and significantly reduce overall processing time.
Data Source
AI summary
A processor-implemented neural network method includes: obtaining, from a memory, data of an input feature map and kernels having a binary-weight, wherein the kernels are to be processed in a layer of a neural network; decomposing each of the kernels into a first type sub-kernel reconstructed with weights of a same sign, and a second type sub-kernel for correcting a difference between a respective kernel, among the kernels, and the first type sub-kernel; performing a convolution operation by using the input feature map and the first type sub-kernels and the second type sub-kernels decomposed from each of the kernels; and obtaining an output feature map by combining results of the convolution operation.


