Convolutional Neural Network Feature Data Segmentation for Memory Efficiency

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

The limited capacity of high-speed memory in convolutional neural networks leads to inefficient data transportation between memory and processor, affecting operation efficiency due to the need to transfer large amounts of feature data.

Innovation Solution

The method involves splitting input feature data into subdata blocks, which are then processed and buffered in high-speed memory, allowing for efficient operation across multiple layers while maintaining the integrity of the output feature data by determining the expected number and layout of subdata blocks based on the output feature data of the last layer.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Speed

If high-speed memory capacity is increased to buffer all feature data, then data access speed improves, but cost increases

Engineering Contradiction:
Improvedata access speedVSAvoidmemory capacity
Core Design Contradiction:
SpeedVSQuantity of substance

Solution Approach 1:

The patent divides the feature data into multiple subdata blocks and processes them in segments. The cache memory is used to buffer only the current subdata block being processed, rather than attempting to buffer all feature data simultaneously. This segmentation approach allows the system to work within limited cache capacity while maintaining high access speeds for the active data portions.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent performs preliminary calculations to determine the expected number of subdata blocks and their layout positions, widths, and heights before actual processing. This preliminary action allows the system to optimize the data access pattern and cache utilization in advance, ensuring that the limited cache capacity is used most efficiently without requiring increased memory capacity.

Inventive Principle:
Principle #10Preliminary action

2Productivity

If feature data is divided into subdata blocks and processed in segments, then cache memory utilization improves, but data transportation complexity increases

Engineering Contradiction:
Improveoperation efficiencyVSAvoiddata transportation complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent performs preliminary calculations to determine the expected number of subdata blocks, their layout positions, widths, and heights before actual processing. This preliminary action includes calculating the actual positions of subdata blocks in the input feature data and determining the expected number of subdata blocks needed. By pre-computing all these parameters, the system simplifies the actual data transportation process during execution, as the cache can be directly configured with the pre-determined block layout without complex runtime calculations.

Inventive Principle:
Principle #10Preliminary action

3Loss of time

If all feature data is buffered in cache memory, then data access efficiency improves, but cache capacity requirements increase

Engineering Contradiction:
Improvedata transportation timeVSAvoidcache capacity
Core Design Contradiction:
Loss of timeVSQuantity of substance

Solution Approach 1:

The patent divides the feature data into multiple subdata blocks and processes them sequentially or in parallel segments. The cache memory buffers only the current subdata block(s) being processed rather than all feature data. The system determines the expected number of subdata blocks based on the output feature data requirements and works through the input data in corresponding segments, significantly reducing the cache capacity needed while maintaining efficient data access for the active processing portion.

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS11568216B2Method and apparatus for adapting feature data in a convolutional neural network
Publication Date: 2023.01.31 NANJING HORIZON ROBOTICS TECH CO LTD
  • US11568216B2 patent drawing
  • US11568216B2 patent drawing
  • US11568216B2 patent drawing

AI summary

A method and an apparatus for adapting feature data in a convolutional neural network. The method includes selecting a plurality of consecutive layers; determining an expected number of subdata blocks and a layout position, width and height of each subdata block in an output feature data of a last layer; determining, for each current layer, a layout position, width, and height of each subdata block of an input feature data for the current layer according to the layout position, width, and height of each subdata block of the output feature data for the current layer; determining an actual position of each subdata block of the input feature data for a first layer in the input feature data for the first layer; and obtaining the expected number of subdata blocks of the input feature data for the first layer according to the actual position, width and height of each subdata block of the input feature data for the first layer.