Technical Details of AIfES

Resource-saving programming

AIfES functions explicitly work with pointer arithmetic and only declare the most necessary variables in a function. This means, the storage areas for the training data and the weights are provided by the main program. AIfES functions access these memory areas by passing a pointer without requiring large resources themselves.

Platform independent and compatible

Due to the compatible programming with the GCC a porting to almost all platforms is possible. This enables the completely self-sufficient integration including the learning algorithm on an embedded system.

For use under Windows, for example, the source code can be compiled as a »Dynamic Link Library« (DLL) so that it can be integrated into software tools such as LabVIEW or MATLAB. Especially the direct connection to MATLAB is helpful to test e.g. different data preprocessings.

The integration in different software development environments like Visual Studio or a Python-IDE is also possible. The main program, which binds the DLL can therefore also be in a different programming language such as C++, C#, Python, VB.NET, Java.

For the first development of the individual FNN the Computer as a platform is a suitable choice to perform fast calculations. After the right configuration is completed the porting to the embedded system can be conducted.

A small selection of platforms and microcontrollers AIfES was already tested with:

  • Windows (DLL)
  • Raspberry Pi with Raspbian
  • Arduino UNO
  • Arduino Nano 33 BLE Sense
  • Arduino Portenta H7
  • ATMega32U4
  • STM32 F4 Series (ARM Cortex-M4)
© Fraunhofer IMS
The AIfES library
A chart depicting how to create and transfer your ANN using AIfES
© Fraunhofer IMS
Creating and Transferring ANN with AIfES
A chart depicting how AIfES functions
© Fraunhofer IMS
Compatibility and memory access with AIfES

The artificial neuronal network in AIfES
Currently AIfES includes a Feedforward Neural Network (FNN), which is configurable in almost all parameters and also allows deep network structures. Regression and classification tasks are possible. The network structure can of course be individually adapted to the actual technical task.

 

Short Overview of the features:

  • Number of inputs and outputs are freely definable
  • Number of hidden-layer and neurons per layer are configurable
  • Different activation-functions with additional parameters
    • Sigmoid, Softsign, ReLU, PReLU, Softmax, …
© Fraunhofer IMS
neural network activation function AIfES
 

Pre-trained model or training on the embedded system

AIfES offers two possibilities to integrate a neuronal network on an embedded system:


First the classical option where the neural network is pre-trained on a high performance system such as a computer and afterwards it is transferred to the embedded system. Through the construction of AIfES this integration can be conducted without any detours, because all platforms are using the same source code and only the weights have to be transferred.

Second option is the training on the embedded system itself. This can be useful if a sensor is supposed to calibrate itself or if a retraining is necessary. Last can be a benefit for the compensation of production-related system deviations. Another example is the decentralization of intelligence on adaptive embedded systems.

Learning algorithms

AIfES already contains two different learning algorithms, which can both be used on microcontrollers:

Gradient Descent Optimizer (SGD):

The SGD optimizer has been implemented with common setting parameters. A short overview of the current features:

  • Online- and batch training
  • Momentum

Adam Optimizer:

The Adam Optimizer has been implemented with the common setting parameters, which can be customized.

Technical Details

Platform independency and special learning techniques distinguish AIfES.

Range of Application

Human-Technology Interaction, Industry 4.0, Metrology, Medical Technology, Machine Learning Algorithms and Hardware Accelerators.

Licensing

How can I use AIfES and what services does Fraunhofer IMS offer?

Our applications - Examples of what we can do for you

Decentralized AI systems and AIfES platform

AI Framework, open roberta, Arduino

Recognition of humans by means of embedded AI

NoKat

Federated learning for resource-constrained systems

SEC-Learn

Personalizable AI

Individually trainable gesture recognition

Our fields of application - Our expertise for you

Sustainable Production

  • Optimization of raw material and energy use
  • Use of alternative energy sources and energy-autonomous sensors
  • Green ICT

Mobile autonomous Manufacturing

  • Sensors / Control for Robots / Cobots
  • Industrial transport systems (AGV)
  • Human-Machine Interaction

Industrial-AI

  •  Decentralized AI systems and platforms
  • Sensor/actuator optimization and cost efficiency through local AI.
  • Pattern recognition methods

Trustworthy Electronics

  • Protection against product piracy / Counterfeit-proof labeling
  • Tamper-proof and fail-safe electronics
  • Trustworthy supply chains
 

Industry (Home)

Click here to return to the overview page of the Industry business unit.