Neural Network Implementation Variant Selection
Find Innovative SolutionsGenerate 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
Engineering Contradiction Analysis
1Speed
If a neural network is optimized for execution time, then processing speed improves, but main memory requirement increases
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.
2Quantity of substance
If a neural network is optimized for main memory requirement, then memory usage decreases, but execution time increases
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.
3Adaptability or versatility
If multiple implementation variants are provided for user selection, then adaptability improves, but device complexity increases
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.
4Measurement precision
If comprehensive evaluation of all implementation variants is performed, then optimization accuracy improves, but computational effort increases
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.
Data Source
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.

