Neural Network Layer Reordering for Memory Reduction

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing artificial neural networks require significant memory resources and processing cycles for execution, especially when partially binary quantized, which affects their efficiency and accuracy.

Innovation Solution

The method involves reordering the layers of a trained neural network by displacing the batch normalization layer after the convolution layer, allowing the batch normalization layer to be merged with the convolution layer and converting the pooling layer into a binary form, thereby reducing memory occupation and processing cycles without compromising accuracy.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If the neural network is quantized to binary format to reduce memory requirements and accelerate execution, then memory usage and processing time are reduced, but the accuracy and flexibility of the network may deteriorate

Engineering Contradiction:
Improveexecution speedVSAvoidaccuracy
Core Design Contradiction:
ProductivityVSMeasurement precision

Solution Approach 1:

The patent applies parameter changes by transforming the batch normalization layer into a binary format that matches the quantized convolution and pooling layers. This involves changing the precision parameters of the batch normalization operations to binary, allowing the entire network to execute in binary while maintaining accuracy through mathematical equivalence transformations.

Inventive Principle:
Principle #35Parameter changes

Solution Approach 2:

The patent inverts the traditional approach by instead of using high-precision batch normalization with binary convolution/pooling, it transforms the batch normalization itself to binary operations. This inversion allows all layers to operate at binary precision, maximizing speed and memory efficiency while preserving accuracy through the mathematical equivalence of the transformed operations.

Inventive Principle:
Principle #13The other way round (Inversion)

2Measurement precision

If the batch normalization layer is kept after the pooling layer to maintain training accuracy, then accuracy is preserved, but execution time and memory occupation increase

Engineering Contradiction:
ImproveaccuracyVSAvoidexecution time
Core Design Contradiction:
Measurement precisionVSLoss of time

Solution Approach 1:

The patent merges the batch normalization layer with the binary convolution and pooling layers by transforming batch normalization into equivalent binary operations that can be executed simultaneously with the surrounding binary layers. This merging eliminates the need for separate high-precision batch normalization execution, reducing total execution time and memory occupation while maintaining accuracy through the mathematical equivalence of the combined operations.

Inventive Principle:
Principle #5Merging (Combining)

3Measurement precision

If the neural network layers are ordered with batch normalization after pooling for accurate training, then training accuracy is maintained, but the number of processing cycles increases

Engineering Contradiction:
Improvetraining accuracyVSAvoidprocessing cycles
Core Design Contradiction:
Measurement precisionVSProductivity

Solution Approach 1:

The patent changes the operational parameters of the batch normalization layer from high-precision floating-point operations to binary operations. This parameter change allows the batch normalization to be executed in the same binary domain as the convolution and pooling layers, reducing the number of processing cycles required while maintaining training accuracy through the mathematical equivalence of the transformed operations.

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentUS20230409869A1Process for transforming a trained artificial neuron network
Publication Date: 2023.12.21 STMICROELECTRONICS (ROUSSET) SAS
  • US20230409869A1 patent drawing

AI summary

According to one aspect, there is proposed a method for transforming a trained artificial neural network including a binary convolution layer followed by a pooling layer then a batch normalization layer, the method includes obtaining the trained artificial neural network and transforming the trained artificial neural network such that the order of the layers of the trained artificial neural network is modified by displacing the batch normalization layer after the convolution layer.