Online Machine Learning for Embedded Systems (ESP32) Introduction with the Slides
Résumé
Due to the explosive growth of data traffic in the Internet of Things systems (IoT), machine learning and data-driven approaches are expected to become a key factor in fueling the development of wireless networks beyond 5G (B5G). Standard machine learning approaches require centralizing training data on a single data center such as a cloud. However, due to privacy constraints and limited communication resources for data transmission, it is impractical for all wireless devices to transmit all their collected data to a data center that can use the collected data to implement centralized machine learning algorithms for data analysis and inference. This has led to the emergence of a fast-growing research area, called Edge Learning, which can deeply integrate two major areas : wireless communication and machine learning. Our work revolves around implementing online machine learning algorithms at the edge, specifically the k-means clustering algorithm as a use case on ESP32-WROOM microcontroller. ESP32 can work with sensors for things like measuring temperature, but it can also handle more complicated jobs like executing "complex" machine learning (ML) algorithms. We're particularly interested in its industry-leading performance in electronic integration, power consumption, and connectivity. Using its built-in WIFI that uses very little power, the ESP32 receives data from a dataset, corresponding to a building located at Grenoble, and processes the kmeans algorithms under study. The data we process on the board, comprising CO2 volume and temperature readings, is obtained from an MQTT server, which implements the publicationsubscription paradigm. This paradigm allows for asynchronous and non-blocking message communication, enhancing efficiency. We aim to study models capable of continual learning from new data, without revisiting past data. One of the K-Means algorithms we study iteratively groups unlabeled data into K clusters based on cluster centers (centroids). The data assigned to each cluster is determined such that their average distance from their respective centroid is minimized. In this case, we develop with the Arduino toolchain. In another case, to efficiently put in place our software code, we utilize the Micropython-ulab environment on ESP32, providing a robust platform for coding ML algorithms. We are also studying River, a dedicated Python online machine learning tool, but not capable of running on ESP32-like boards. Finally, we provide lessons learned and insights into our use case. The presentation aims to discuss the difficulties in these tasks, both from a technical point of view and from an algorithmic one.
Mots clés
Domaines
Systèmes embarquésOrigine | Fichiers produits par l'(les) auteur(s) |
---|