Convolutional Neural Network Layer Data Folding for SRAM Efficiency

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Convolutional neural networks are operation-intensive and face inefficiencies when performing operations using general-purpose processors or accelerators due to low resource utilization and invalid operations, particularly with multi-channel data processing.

Innovation Solution

The method involves folding unfolded feature data and convolution kernels in multiple dimensions, pre-processing them, and storing them in SRAM for efficient convolution operations, improving channel utilization and reducing cache consumption.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If conventional convolutional neural network operations are performed using general-purpose processors or accelerators, then the network can be implemented, but resource utilization is low and invalid operations occur particularly with multi-channel data processing

Engineering Contradiction:
Improveoperation efficiencyVSAvoidresource utilization
Core Design Contradiction:
ProductivityVSLoss of energy

Solution Approach 1:

The patent segments the convolution operation by dividing the feature map into multiple blocks and processing them in parallel. Each block is processed independently through the convolutional layer, enabling simultaneous computation across different spatial regions. This segmentation approach increases hardware resource utilization by allowing parallel processing of multiple channels and reduces invalid operations by focusing computation only on active data regions.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces a temporal dimension to the convolution operation by processing multiple feature maps at different time steps or iterations. This dimensional expansion allows the system to handle multi-channel data more efficiently by organizing computations in a time-sequential manner that improves resource utilization and eliminates redundant calculations.

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

2Adaptability or versatility

If multi-channel data processing is performed in conventional convolutional layers, then comprehensive feature extraction is achieved, but invalid operations increase and resource utilization decreases

Engineering Contradiction:
Improvemulti-channel data processing capabilityVSAvoidresource utilization
Core Design Contradiction:
Adaptability or versatilityVSLoss of energy

Solution Approach 1:

The patent applies local quality by processing different channels and spatial regions with different levels of computation intensity based on their specific characteristics. Important channels and regions receive enhanced processing while less critical areas are handled with reduced computation, optimizing resource allocation across multi-channel data and eliminating invalid operations in redundant processing.

Inventive Principle:
Principle #3Local quality

Solution Approach 2:

The patent implements dynamic computation adaptation where the convolutional layer adjusts its processing intensity and channel selection based on the input data characteristics and computational requirements. This dynamic approach allows the system to optimize resource utilization in real-time while maintaining comprehensive multi-channel processing capability.

Inventive Principle:
Principle #15Dynamics

3Stability of the object's composition

If convolutional operations are performed without folding feature data, then the original data structure is preserved, but channel utilization is low and cache consumption increases

Engineering Contradiction:
Improvedata structure preservationVSAvoidchannel utilization
Core Design Contradiction:
Stability of the object's compositionVSProductivity

Solution Approach 1:

The patent applies preliminary action by folding the feature data into a compact representation before processing it through the convolutional layer. This pre-transformation organizes the data in a way that improves channel utilization and reduces cache requirements, while the unfolding operation after convolution restores the original data structure for downstream processing.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent introduces folded feature data as an intermediary representation between the input data and the convolutional operation. This intermediate form enables efficient channel utilization and reduced cache consumption during processing, while maintaining the ability to transform back to the original data structure when needed.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS11822616B2Method and apparatus for performing operation of convolutional layers in convolutional neural network
Publication Date: 2023.11.21 NANJING HORIZON ROBOTICS TECH CO LTD
  • US11822616B2 patent drawing
  • US11822616B2 patent drawing
  • US11822616B2 patent drawing

AI summary

Disclosed are a method and an apparatus for performing an operation of a convolutional layer in a convolutional neural network. The method comprises: reading unfolded feature data provided to the convolution layer and an original convolution kernel of the convolutional layer from a dynamic random access memory (DRAM); folding the unfolded feature data in at least one dimension of width and height to generate folded feature data; pre-processing the folded feature data and the original convolution kernel; storing the pre-processed folded feature data into a static random-access memory (SRAM); folding the pre-processed original convolution kernel in the at least one dimension to generate one or more folded convolution kernels corresponding to the original convolution kernel; storing the one or more folded convolution kernels in the SRAM; and reading the pre-processed folded feature data and the one or more folded convolution kernels from the SRAM into a calculation unit for convolving the pre-processed folded feature data with the one or more folded convolution kernels. By means of the method and/or apparatus in accordance with embodiments of the present disclosure, channel utilization may be improved, cache occupancy may be reduced, and operation efficiency may be improved.