Project group EML: Embedded Machine Learning

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

Background

Machine Learning (ML) has gained enormous interest in the last years, mainly ignited by media success stories about deep neural networks excelling in image analysis and playing games. Machine learning, and more general Artificial Intelligence (AI), is projected to play a major role in future intelligent systems. For example, International Data Cooperation (IDC) forecasted that by 2019, 75% of all enterprise software or software developed by independent software vendors (ISV), typically running on private or public cloud data centers, will include ML or some form of AI. The data feeding such applications will mostly come from the numerous sensors and devices of the so-called Internet-of-Things (IoT). Sometimes, ML will run on the data centers and nodes of the cloud and fog computing layers. Other scenarios, where there simply is too much data to be transferred to the cloud, where short response times to the physical world are required, or where security is a prime concern, ML techniques will be applied at the edge computing layer. Embedded machine learning (EML) means applying ML techniques at edge devices and is challenging since edge devices are constrained in their energy and hardware resource budgets.

Goals

The project group will follow two approaches: First, we will study the approximation of ML techniques to be able to cope with resource limitations. Approximation can be done at the algorithm/software level, for example by (properly) deleting edges in a neural network to reduce the number of 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. Second, we will employ modern reconfigurable systems-on-chip platforms for 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 ML techniques such as neural networks, kth-nearest neighbour, and random markov fields, on such a heterogeneous platform and leverage optimized hardware accelerators. 

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 
  • 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
  • Practical experience in embedded systems design and machine learning algorithms
  • Expertise in the emerging field of embedded machine learning (resource constrained algorithms), experience in edge computing for intelligent systems