Project group EML: Embedded Machine Learning II

Project group for Computer Engineering and Computer Science students
Course number: L.079.07006
Terms: SS 2019 and WS 2019/2020


Recently deep Learning algorithms achieved considerable interest in the recent year. Deep learning and more general machine learning, is expected to play an important role in future Internet of thing (IoT) devices. For example, International Data Cooperation forecasted that by 2019, 75% of all enterprise software or software developed by independent software vendors will include ML algorithms. The ML algorithms in industrial environment can adequately address the problems like quality insurance, system monitoring and anomaly detection (AD). The data feeding for such applications will mostly come from the numerous sensors and devices available as IoT devices. When security is a prime concern, running the ML algorithms at edge devices such as embedded MPSoCs is the on-the-shelf option.  Embedded machine learning II (EML II) means applying ML techniques on embedded platforms and is challenging owing to limited computational capacity of the edge devices.


The project group EML II consists three group of tasks:

  • We will study the approximation of ML techniques to be able to cope with resource limitations. Approximation can be done at the algorithm level, like employing sparsity techniques to reduce the number of underlying computations. Approximation can also be supported by the hardware level, for example by reduced precision data types or inaccurate arithmetic components. Both types of approximations trade off reductions in energy and hardware for decreased ML accuracy.
  • We will investigate the ML algorithms for anomaly detection to monitor the quality of the wind turbines and measure their performances on an industrial dataset under several failure scenarios. Here, the dataset preprocessing also is performed on the available dataset to make the ready for AD algorithms.
  • We will employ modern reconfigurable systems-on-chip platforms for hardware implementation. Such platforms, for example the Xilinx UltraScale+MPSoC, provide a combination of different ARM CPU cores (64 and 32 bit), an embedded GPU, reconfigurable hardware, and memory and peripherals. We will implement the verified algorithm from previous task sets on such a heterogeneous platform and leverage required optimizations as well. 

The project group will be done in cooperation with Weidmüller. We will discuss our goals and developments with industry and demonstrate the performance of our EML techniques on real industrial data provided by Weidmüller. In the course of the project, we will also schedule an excursion to a Weidmüller production site.

For more information, please check out the slide set from the project group presentation or contact the advisors:

What you should bring with you

  • Interest in embedded system design (software or hardware)
  • Interest in machine learning techniques 
  • Background in computer programming (e.g., python, java, or C++)
  • Experience with machine learning libraires (e.g., Keras, TensoeFlow) is a plus
  • Basic experience with programming embedded processors and/or FPGAs is a plus

What you will gain

  • Knowledge about architectures and tools for systems-on-chip solutions
  • Practical experience in embedded systems design
  • Experience to work with real industrial dataset
  • Experience in deep learning algorithms
  • Expertise in the emerging field of embedded machine learning (resource constrained algorithms), experience in edge computing for intelligent systems