Neural Network Layer Processing with Rolling Buffer Memory Reduction

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing neural networks, particularly convolutional neural networks (CNNs), face challenges in reducing memory and computational requirements, limiting their ability to process high-resolution images and videos efficiently on cost-effective embedded devices.

Innovation Solution

The proposed solution involves processing more than a single neural network layer simultaneously by using a method that discards unnecessary input data, employs counters to control data flow, and utilizes a rolling buffer to reduce memory requirements, thereby enabling efficient high-resolution image and video processing.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If conventional CNNs process layers sequentially with full frame buffers, then computational accuracy is maintained, but memory requirements increase significantly

Engineering Contradiction:
Improvecomputational accuracyVSAvoidmemory requirements
Core Design Contradiction:
ReliabilityVSQuantity of substance

Solution Approach 1:

The patent segments the input data into smaller non-overlapping blocks rather than processing entire frames at once. This allows the system to process high-resolution images and videos by dividing the data into manageable chunks that can fit in limited memory, while maintaining computational accuracy through proper block processing and stitching.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces a temporal dimension by processing multiple neural network layers simultaneously across different time steps. This allows the system to accumulate results from multiple layers without requiring all intermediate data to be stored in memory at once, effectively transforming a memory-intensive spatial problem into a more manageable temporal processing approach.

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

2Reliability

If full frame buffers are reserved for intermediate data, then processing completeness is ensured, but device complexity and cost increase

Engineering Contradiction:
Improveprocessing completenessVSAvoiddevice complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent applies partial action by processing only the necessary portion of data at each time step rather than requiring complete frame buffers. The system processes blocks of data and accumulates results progressively, eliminating the need for expensive high-capacity memory and complex buffer management while ensuring processing completeness through systematic block iteration.

Inventive Principle:
Principle #16Partial or excessive action

3Productivity

If multiple neural network layers are processed simultaneously, then processing speed increases, but memory requirements increase

Engineering Contradiction:
Improveprocessing speedVSAvoidmemory requirements
Core Design Contradiction:
ProductivityVSQuantity of substance

Solution Approach 1:

The patent implements preliminary action by pre-defining the processing sequence and block structure before execution. The system prepares the data into appropriate blocks and establishes the temporal-spatial mapping in advance, allowing multiple layers to be processed simultaneously without requiring additional memory for intermediate representations, thus achieving high throughput with minimal memory footprint.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS20250165786A1Systems and methods for reducing memory requirements in neural networks
Publication Date: 2025.05.22 MAXIM INTEGRATED PROD INC
  • US20250165786A1 patent drawing
  • US20250165786A1 patent drawing
  • US20250165786A1 patent drawing

AI summary

Described herein are systems and methods for efficiently processing large amounts of data when performing complex neural network operations, such as convolution and pooling operations. Given cascaded convolutional neural network layers, various embodiments allow for commencing processing of a downstream layer prior to completing processing of a current or previous network layer. In certain embodiments, this is accomplished by utilizing a handshaking mechanism or asynchronous logic to determine an active neural network layer in a neural network and using that active neural layer to process a subset of a set of input data of a first layer prior to processing all of the set of input data.