Neural Network Kernel Decomposition for Reduced Convolution Operations

Resolve Bottlenecks,
Find Innovative Solutions
Generate 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

VSEngineering 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

Engineering Contradiction:
Improveprocessing accuracyVSAvoidcomputational complexity
Core Design Contradiction:
Measurement precisionVSDevice complexity

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.

Inventive Principle:
Principle #1Segmentation

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.

Inventive Principle:
Principle #16Partial or excessive action

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

Engineering Contradiction:
Improvereal-time processing capabilityVSAvoidprocessing time
Core Design Contradiction:
ProductivityVSLoss of time

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.

Inventive Principle:
Principle #10Preliminary action

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.

Inventive Principle:
Principle #21Skipping (Rushing through)

Data Source

PatentUS10909418B2Neural network method and apparatus
Publication Date: 2021.02.02 SAMSUNG ELECTRONICS CO LTD
  • US10909418B2 patent drawing
  • US10909418B2 patent drawing
  • US10909418B2 patent drawing

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.