filmov
tv
AIfES – Train an artificial neural network on a microcontroller - sensor calibration – long version
Показать описание
The video shows that a feedforward neural network (FNN) can be trained with AIfES on a microcontroller. To demonstrate this, the calibration of a Fraunhofer IMS capacitive pressure sensor with an FNN is performed directly on a microcontroller. The capacitive pressure sensor provides uncalibrated digital values for pressure and temperature. Since the pressure signal is non-linear and there is also temperature dependence due to the measuring principle, a calibration must be carried out. First a calibration measurement is carried out where pressure ramps are run at different temperatures. Defined measuring points are approached and all measured values are saved in a file. The sensor values (pressure value and temperature value) and the actual pressure and temperature are stored. These measured values are used later for the calibration of the capacitive pressure sensor. Normally a multivariable polynomial regression is performed on the PC to calibrate these pressure sensors. The demonstrator performs such a calibration with an FNN directly on the microcontroller. The values from the calibration measurement were stored in the flash memory and can be used as training data for the FNN.
An STM32F446 Nucleo-64 development board is used as the hardware, which is connected via UART with the PC.
Two commands have been implemented:
“gdata”: Returns the training data and the results calculated by the ANN
“start”: Weight initialization and backpropagation with AIfES
AIfES supports different variants of the backpropagation method:
- online backpropagation
- batch resp. minibatch backpropagation
For the training of the FNN the online backpropagation method is used. Experiments show that an iteration number of 20,000 are sufficient to calibrate this pressure sensor type. Fraunhofer IMS manufactures various types of pressure sensors designed specifically for specific applications.
In addition AIfES offers various implementation variants of the backpropagation method. In the example shown the activation functions are calculated individually, which is very compute-intensive for a microcontroller. Alternatively, there is the possibility to create a lookup table for the activation functions and their derivation to significantly accelerate learning. In addition, the example uses the floating point variant of AIfES because the hardware has an FPU (floating point unit). We are currently working on a fixed point variant of AIfES.
The result of the calibration shows that the sensor could be calibrated with an FNN within the specifications and is comparable to the classical calibration method.
In AIfES, the structure of an FNN can be freely configured and trained. Even deep nets are possible, taking into account whether the performance of the hardware is sufficient.
The video is also available as a short version:
Used Hardware:
STMicroelectronics
Nucleo STM32F446RE
ARM®32-bit Cortex®-M4 CPU with FPU
180 MHz max CPU frequency
512 KB Flash memory
128 KB SRAM System
Further information about the pressure sensor can be found here:
Further information about AIfES can be found here:
An STM32F446 Nucleo-64 development board is used as the hardware, which is connected via UART with the PC.
Two commands have been implemented:
“gdata”: Returns the training data and the results calculated by the ANN
“start”: Weight initialization and backpropagation with AIfES
AIfES supports different variants of the backpropagation method:
- online backpropagation
- batch resp. minibatch backpropagation
For the training of the FNN the online backpropagation method is used. Experiments show that an iteration number of 20,000 are sufficient to calibrate this pressure sensor type. Fraunhofer IMS manufactures various types of pressure sensors designed specifically for specific applications.
In addition AIfES offers various implementation variants of the backpropagation method. In the example shown the activation functions are calculated individually, which is very compute-intensive for a microcontroller. Alternatively, there is the possibility to create a lookup table for the activation functions and their derivation to significantly accelerate learning. In addition, the example uses the floating point variant of AIfES because the hardware has an FPU (floating point unit). We are currently working on a fixed point variant of AIfES.
The result of the calibration shows that the sensor could be calibrated with an FNN within the specifications and is comparable to the classical calibration method.
In AIfES, the structure of an FNN can be freely configured and trained. Even deep nets are possible, taking into account whether the performance of the hardware is sufficient.
The video is also available as a short version:
Used Hardware:
STMicroelectronics
Nucleo STM32F446RE
ARM®32-bit Cortex®-M4 CPU with FPU
180 MHz max CPU frequency
512 KB Flash memory
128 KB SRAM System
Further information about the pressure sensor can be found here:
Further information about AIfES can be found here: