Neural Network Convolution Kernel Data Manipulation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current neural network technologies face inefficiencies in performing convolution operations, particularly when dealing with a large number of channels, which can lead to increased computational requirements and resource utilization.

Innovation Solution

The method involves manipulating kernel data by generating a default tensor and replacing its elements with actual kernel data, optimizing the convolution operation based on the number of input and output channels, and performing the operation in a direction corresponding to the output channels, allowing for efficient group convolution even on general hardware.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If traditional convolution operations are performed on general hardware with a large number of channels, then computational accuracy is maintained, but computational overhead and resource utilization increase significantly

Engineering Contradiction:
Improveconvolution operation efficiencyVSAvoidcomputational overhead
Core Design Contradiction:
ProductivityVSUse of energy by moving object

Solution Approach 1:

The patent segments the convolution operation into distinct phases: kernel data manipulation phase and convolution computation phase. By separating these operations and optimizing each independently, the system achieves better resource utilization and reduced computational overhead on general hardware while maintaining accuracy for large channel configurations

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent performs preliminary manipulation of kernel data before the actual convolution operation. This includes pre-processing and organizing kernel data in an optimized format that reduces the computational burden during the convolution phase, thereby reducing overall computational overhead while maintaining operational efficiency

Inventive Principle:
Principle #10Preliminary action

2Use of energy by moving object

If group convolution operations are implemented, then computational overhead is reduced, but device complexity increases due to specialized hardware requirements

Engineering Contradiction:
Improvecomputational overheadVSAvoidhardware specialization
Core Design Contradiction:
Use of energy by moving objectVSDevice complexity

Solution Approach 1:

The patent implements a universal kernel data manipulation approach that can handle both standard convolution and group convolution operations on general-purpose hardware. By creating a flexible manipulation framework that adapts to different convolution types, the system achieves group convolution efficiency without requiring specialized hardware, thus reducing device complexity while maintaining low computational overhead

Inventive Principle:
Principle #6Universality (Multi-functionality)

3Adaptability or versatility

If the number of input and output channels is increased to improve model capacity, then neural network performance improves, but computational requirements and resource utilization increase

Engineering Contradiction:
Improvemodel capacityVSAvoidcomputational resources
Core Design Contradiction:
Adaptability or versatilityVSQuantity of substance

Solution Approach 1:

The patent changes the parameters of kernel data organization and manipulation based on the number of input and output channels. By dynamically adjusting the kernel manipulation strategy according to channel configuration, the system can accommodate high-channel models that improve adaptability and versatility while optimizing resource utilization to prevent excessive computational requirements

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentUS12026617B2Neural network method and apparatus
Publication Date: 2024.07.02 SAMSUNG ELECTRONICS CO LTD
  • US12026617B2 patent drawing
  • US12026617B2 patent drawing
  • US12026617B2 patent drawing

AI summary

A processor-implemented method of performing a convolution operation is provided. The method includes obtaining input feature map data and kernel data, determine the kernel data based on a number of input channels of the input feature map, a number of output channels of an output feature map, and a number of groups of the input feature map data and a number of groups of the kernel data related to the convolution operation, and performing the convolution operation based on the input feature map data and the determined kernel data.