Convolutional Neural Network Weight Parameter Segmentation for Memory Constraints

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Convolutional neural networks face inefficiencies and incorrect operations due to large weight parameters that exceed the capacity of high-speed memory, leading to suboptimal hardware utilization and execution efficiency.

Innovation Solution

The method involves splitting the weight parameter of a selected layer in the convolutional neural network into operational parameters, allowing for efficient operations by dividing the parameter array in dimensions of depth and number of kernels, enabling parallel processing and reducing memory constraints.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If the weight parameter of a layer is large, then the neural network can capture more features and have higher representational power, but the weight parameter cannot be completely buffered in the high-speed memory, leading to incorrect and inefficient operations

Engineering Contradiction:
Improvefeature capture capabilityVSAvoidoperation correctness
Core Design Contradiction:
Adaptability or versatilityVSReliability

Solution Approach 1:

The patent divides the large weight parameter into multiple smaller operational parameter arrays, each of which can be buffered in the high-speed memory. This segmentation allows the neural network to maintain high representational power while ensuring that each individual weight parameter array fits within the memory capacity, thus resolving the contradiction between feature capture capability and operation correctness.

Inventive Principle:
Principle #1Segmentation

2Adaptability or versatility

If the weight parameter size increases, then the neural network model becomes more powerful, but the hardware utilization and execution efficiency deteriorate due to memory constraints

Engineering Contradiction:
Improvemodel powerVSAvoidexecution efficiency
Core Design Contradiction:
Adaptability or versatilityVSProductivity

Solution Approach 1:

By segmenting the large weight parameter into smaller operational parameter arrays that fit in high-speed memory, the patent enables efficient memory access and parallel processing. This segmentation maintains the model's representational power while significantly improving execution efficiency by avoiding memory bottlenecks and enabling optimal hardware utilization.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent transforms the single large weight parameter into multiple smaller arrays by introducing new dimensions (such as dividing into groups along different axes). This dimensional transformation allows the weight information to be organized in a way that fits memory constraints while preserving the computational capabilities needed for powerful model performance.

Inventive Principle:
Principle #17Another dimension (Dimensionality change)

3Adaptability or versatility

If the weight parameter exceeds memory capacity, then more features can be represented, but the operations cannot be performed correctly

Engineering Contradiction:
Improvefeature representationVSAvoidoperation correctness
Core Design Contradiction:
Adaptability or versatilityVSReliability

Solution Approach 1:

The patent segments the oversized weight parameter into multiple smaller operational parameter arrays, each fitting within the high-speed memory capacity. This segmentation ensures that each array can be correctly buffered and processed, maintaining operation correctness while collectively representing the full feature space through the combination of multiple arrays.

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS20190130265A1Method and apparatus for performing operations in convolutional neural network
Publication Date: 2019.05.02 NANJING HORIZON ROBOTICS TECH CO LTD
  • US20190130265A1 patent drawing
  • US20190130265A1 patent drawing
  • US20190130265A1 patent drawing

AI summary

A method and apparatus for performing operations in a convolutional neural network. A method for performing operations in a convolutional neural network may include splitting a weight parameter of a selected layer in the convolutional neural network to obtain an operational parameter array including a plurality of operational parameters, performing operations in the selected layer by using each operational parameter in the operational parameter array to obtain a partial operational result array including a plurality of partial operational results, and generating one or more output data of the selected layer based on the partial operational result array. By this method, the convolutional neural network may achieve an improved execution efficiency.