Next Article in Journal
Design Rule of Mach-Zehnder Interferometer Sensors for Ultra-High Sensitivity
Next Article in Special Issue
Analysis and Design of Integrated Blocks for a 6.25 GHz Spacefibre PLL
Previous Article in Journal
Facial Expression Recognition Based on Weighted-Cluster Loss and Deep Transfer Learning Using a Highly Imbalanced Dataset
Previous Article in Special Issue
Cryptographically Secure Pseudo-Random Number Generator IP-Core Based on SHA2 Algorithm
Article

Machine Learning on Mainstream Microcontrollers

Department of Electrical, Electronic and Telecommunication Engineering (DITEN)-University of Genoa, Via Opera Pia 11a, 16145 Genova, Italy
*
Author to whom correspondence should be addressed.
This paper is an extended version of the conference paper published in: Falbo, V.; Apicella, T.; Aurioso, D.; Danese, L.; Bellotti, F.; Berta, R.; De Gloria, A. Analyzing Machine Learning on Mainstream Microcontrollers. In Proceedings of the International Conference on Applications in Electronics Pervading Industry Environment and Society, ApplePies 2019, Pisa, Italy, 12–13 September 2019.
Sensors 2020, 20(9), 2638; https://doi.org/10.3390/s20092638
Received: 27 March 2020 / Revised: 24 April 2020 / Accepted: 29 April 2020 / Published: 5 May 2020
This paper presents the Edge Learning Machine (ELM), a machine learning framework for edge devices, which manages the training phase on a desktop computer and performs inferences on microcontrollers. The framework implements, in a platform-independent C language, three supervised machine learning algorithms (Support Vector Machine (SVM) with a linear kernel, k-Nearest Neighbors (K-NN), and Decision Tree (DT)), and exploits STM X-Cube-AI to implement Artificial Neural Networks (ANNs) on STM32 Nucleo boards. We investigated the performance of these algorithms on six embedded boards and six datasets (four classifications and two regression). Our analysis—which aims to plug a gap in the literature—shows that the target platforms allow us to achieve the same performance score as a desktop machine, with a similar time latency. ANN performs better than the other algorithms in most cases, with no difference among the target devices. We observed that increasing the depth of an NN improves performance, up to a saturation level. k-NN performs similarly to ANN and, in one case, even better, but requires all the training sets to be kept in the inference phase, posing a significant memory demand, which can be afforded only by high-end edge devices. DT performance has a larger variance across datasets. In general, several factors impact performance in different ways across datasets. This highlights the importance of a framework like ELM, which is able to train and compare different algorithms. To support the developer community, ELM is released on an open-source basis. View Full-Text
Keywords: machine learning; edge computing; embedded devices; edge analytics; ANN; k-NN; SVM; decision trees; ARM; X-Cube-AI; STM32 Nucleo machine learning; edge computing; embedded devices; edge analytics; ANN; k-NN; SVM; decision trees; ARM; X-Cube-AI; STM32 Nucleo
Show Figures

Figure 1

MDPI and ACS Style

Sakr, F.; Bellotti, F.; Berta, R.; De Gloria, A. Machine Learning on Mainstream Microcontrollers. Sensors 2020, 20, 2638. https://doi.org/10.3390/s20092638

AMA Style

Sakr F, Bellotti F, Berta R, De Gloria A. Machine Learning on Mainstream Microcontrollers. Sensors. 2020; 20(9):2638. https://doi.org/10.3390/s20092638

Chicago/Turabian Style

Sakr, Fouad, Francesco Bellotti, Riccardo Berta, and Alessandro De Gloria. 2020. "Machine Learning on Mainstream Microcontrollers" Sensors 20, no. 9: 2638. https://doi.org/10.3390/s20092638

Find Other Styles
Note that from the first issue of 2016, MDPI journals use article numbers instead of page numbers. See further details here.

Article Access Map by Country/Region

1
Back to TopTop