Neural Network Implementation Variant Selection

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing methods for providing neural networks on data processing devices, such as microcontrollers, often fail to optimize simultaneously for main memory, non-volatile memory, and execution time requirements, leading to suboptimal performance in various applications and hardware constraints.

Innovation Solution

A method to ascertain a subset of neural network implementation variants that are optimal across main memory, non-volatile memory, and execution time, allowing users to select an implementation variant that best suits the device and application, using techniques like layer optimization and quantization without compromising numerical accuracy.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Speed

If a neural network is optimized for execution time, then processing speed improves, but main memory requirement increases

Engineering Contradiction:
Improveexecution timeVSAvoidmain memory requirement
Core Design Contradiction:
SpeedVSQuantity of substance

Solution Approach 1:

The patent applies parameter changes by systematically varying implementation parameters of the neural network (such as data types, precision levels, and computational approaches) to generate multiple implementation variants. Each variant represents a different configuration of parameters that trades off execution time against main memory requirements, allowing the selection of optimal variants based on specific hardware constraints.

Inventive Principle:
Principle #35Parameter changes

2Quantity of substance

If a neural network is optimized for main memory requirement, then memory usage decreases, but execution time increases

Engineering Contradiction:
Improvemain memory requirementVSAvoidexecution time
Core Design Contradiction:
Quantity of substanceVSSpeed

Solution Approach 1:

By changing implementation parameters such as using lower precision data types (e.g., quantization from 32-bit to 8-bit integers) or different computational algorithms, the patent generates variants that reduce main memory usage at the cost of increased execution time. This allows systems with limited memory to run the neural network by accepting longer processing times.

Inventive Principle:
Principle #35Parameter changes

3Adaptability or versatility

If multiple implementation variants are provided for user selection, then adaptability improves, but device complexity increases

Engineering Contradiction:
Improveselection flexibilityVSAvoidimplementation variant management
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent segments the neural network implementation into multiple discrete variants, each optimized for different hardware configurations and application requirements. By providing a segmented set of pre-evaluated variants with known characteristics (execution time, memory requirements), the system enables users to select the most appropriate variant without needing to manage the complexity of generating and evaluating all possible configurations.

Inventive Principle:
Principle #1Segmentation

4Measurement precision

If comprehensive evaluation of all implementation variants is performed, then optimization accuracy improves, but computational effort increases

Engineering Contradiction:
Improveoptimization accuracyVSAvoidcomputational effort
Core Design Contradiction:
Measurement precisionVSLoss of time

Solution Approach 1:

The patent performs preliminary evaluation of implementation variants during an offline preparation phase, before deployment to the target device. By pre-computing and storing the characteristics (execution time, memory requirements) of multiple variants, the system eliminates the need for exhaustive real-time evaluation, achieving both high optimization accuracy and efficient deployment.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS20240320465A1Method for providing a neural network on a data processing device
Publication Date: 2024.09.26 ROBERT BOSCH GMBH
  • US20240320465A1 patent drawing
  • US20240320465A1 patent drawing

AI summary

A method for providing a neural network on a data processing device. The method includes: ascertaining, from a set of implementation variants of the neural network, a subset with a plurality of implementation variants of the neural network, wherein each implementation variant of the subset cannot be improved with respect to any of main memory requirement, non-volatile memory requirement, and execution time, when executed on the data processing device, without impairing at least one of the other two, and the subset for each of main memory requirement, non-volatile memory requirement and execution time, when executed on the data processing device, contains at least one particular implementation variant that is optimal in this respect from the set of implementation variants; selecting one of the ascertained implementation variants according to a user input that specifies a selection from the subset; and storing the selected implementation variant in the data processing device.