What resource for learning the fixed point algorithm


After decades of intensive research, machine learning (ML) is increasingly finding its way into real applications. The pioneers are the advancement of computing systems with enormous computing power and the availability of large amounts of data. ML has enormous potential to increase the performance of devices and machines in a wide variety of application areas. In the next five to ten years, ML will also find its way into embedded systems. Such applications can already be created for machines with powerful processing units (e.g. industrial PCs). But smaller devices usually only have inexpensive, energy-saving small microcontrollers. Some microcontrollers already have a 32-bit architecture, floating point arithmetic and instructions for vector processing. But 8-bit architectures without floating point arithmetic are still widespread. Typical RAM sizes are between 2 kB and 512 kB. In addition, many devices are powered by batteries. Therefore, when using ML on small microcontrollers, there is the great challenge of adapting the consumption of energy, computing and storage resources to the reality of such systems.

The aim of the project is to investigate how machine learning, mainly in the form of artificial neural networks (ANN), can be used efficiently on low-performance microcontrollers. ML is used for typical applications of embedded systems, such as the evaluation of sensor signals or the optimization of communication in sensor networks. It is considered which problem sizes can be implemented on resource-limited microcontrollers with which performance.

The resource requirement is reduced by combining different approaches. The ML problem must be reduced to what is absolutely necessary for the application, e.g. B. inputs are preprocessed or unnecessary inputs are removed. The ANNs used must not be too large (number of levels, neurons, connections between neurons). Alternatively, a large ANN is first trained and then compressed. Bit widths can be reduced for weights and intermediate results (e.g. fixed point, binary or ternary values, hierarchical quantization). Sub-problems that do not have to be carried out in the embedded system (such as training, optimization runs, preprocessing) should be moved as far as possible to a high-performance system.

The first application is an embedded system that recognizes hand gestures (e.g. hand movement from left to right or from top to bottom) with an ANN. It should be producible in mass production for a price under one euro and installed as a component in devices. Light sensors in a 3x3 matrix serve as a kind of compound eye. Your signals are processed in the prototype by an ATmega328P microcontroller (8-bit, 16 MHz, 2 kB RAM, 32 kB flash memory). For this purpose, an ANN is executed that classifies recognized movements in gestures.

Volker Turau
Professor & MLE Spokesperson

Distributed algorithms, fault-tolerant systems, machine learning for communication networks

Marcus Venzke
Chief engineer

Machine learning / artificial neural networks on small microcontrollers