Riassunto analitico
I dati sono ovunque, e quest’era ha portato alla popolarità del “Tiny Machine Learning” (TinyML), un’area di ricerca dedicata alla democratizzazione dell’apprendimento profondo per gli onnipresenti microcontrollori (MCUs). Questo ambito, in rapida espansione, si colloca tra i sistemi integrati e l’apprendimento macchina ed apre a nuove possibilità per significative scoperte, raccoglimento di dati e sviluppi algoritmici. Lo sviluppo di hardware TinyML presenta significativi vincoli di memoria e di comunicazione che l’apprendimento macchina tradizionale non considera. Questi vincoli spingono svariati ricercatori ad esrpimere interesse nell’apprendimento “on-device” concentrandosi su dispositivi integrati a bassissimo consumo energetico. Al fine di rendere possibile l’operazione di un’intera sessione di apprendimento che utilizzi un flusso di dati in tempo reale prodotto da una vasta gamma di sensori, diversi ricercatori stanno dedicando i propri sforzi nello sviluppo di nuovi algoritmi, procedure di apprendimento e metodologie di verifica per l’apprendimento “on-device”. Il seguente lavoro di tesi introduce un innovativo approccio basato su un classificatore ipersferico per microcontrollori e sensori chimato “Restricted Coulomb Energy Neural Network for On-Device Learning” (RCE-ODL). Apprendere da un flusso di dati in tempo reale migliora le prestazioni su dispositivi “tiny” quando nuove classi di dati vengono introdotte nella rete. Le “features” per la RCE-ODL sono estratte attraverso una rete neurale convoluzionale (CNN) dall’ambito dell’apprendimento macchina (ELM) estremo. I pesi di questa CNN per l’estrazione di “features” sono conservati in una memoria “flash” che occupa fino a 78.28 Kbytes. Questa CNN può essere randomicamente inizializzata oppure allenata “offline”, e i suoi pesi sono statici e non vengono cambiati dopo essere stati inseriti nel dispositivo “tiny”. I neuroni ridontanti dei “layer” nascosti dell’RCE-ODL che perdono il proprio valore potenziale nel tempo vengono appositamente eliminati. Per valutare il classificatore è stato adottato un sistema che utilizza una serie temporale di 500 secondi che è continuamente trasmessa per allenamento e verifica, con una ripartizione di 100 secondi per l’allenamento e 400 secondi per la verifica. Questo metodo è stato sperimentato con test di classificazione per Riconoscimento di Attività Umana e Rilevamento di Anomalie di cuscinetti a sfera metallici. I risultati sperimentali mostrano che RCE-ODL performa competitivamente con una tradizionale CNN con SoftMax allenata offline via retropropagazione. Inoltre, ne supera le prestazioni sul dataset PAMAP2 per il riconoscimento di attività umane, raggiungendo miglioramenti fino al 2.4%. Per completare un intera sessione di apprendimento sul dispositivo, il classificatore impiega un massimo di 41.24 KBytes di RAM, ed il tempo totale stimato per un STM32L4 e un STM32H7 impiega circa 2.501 secondi e 0.22 secondi rispettivamente per apprendere dai dati conservati nel MCU, che è estremamente rapido rispetto ad una CNN con SoftMax allenata offline, la quale richiede la conservazione contemporanea dell’interezza dei dati di allenamento simultaneamente, sessioni di allenamento più lunghe e una maggiore intensità computazionale. RCE-ODL può anche generare lo spazio delle “features” in int8 se la CNN utilizzata per l’estrazione di “features” è quantizzata con interi a 8 bit. Ciò consentirebbe alla soluzione proposta di essere implementata fino al livello di sensori con un massimo utilizzo di RAM di 13.59KB che è considerato per gli sviluppi futuri.
|
Abstract
Data is everywhere, and this era has led to the popularity of Tiny Machine Learning (TinyML), a research area dedicated to democratizing deep learning for ubiquitous microcontrollers (MCUs). This rapidly expanding field sits at the crossroads of embedded systems and machine learning and opens new possibilities for significant insights, data collection, and algorithmic development. TinyML hardware deployment in the real world has significant memory and communication constraints that traditional machine learning does not consider. These constraints prompt many researchers to express interest in on-device learning focusing on embedded ultra-low power devices. To enable the operation of an entire learning session that consumes real-time streaming data produced by a wide range of sensors, many researchers are exerting all their efforts into developing new algorithms, learning procedures, and testing methodologies for on-device learning. This thesis work introduces one such novel Hyperspherical classifier-based approach for microcontrollers and sensor devices called Restricted Coulomb Energy Neural Network for On-Device Learning (RCE-ODL). Learning from real-time streaming data enhances performance on tiny devices when new data classes are introduced to the network. Features for the RCE-ODL are extracted using a convolutional neural network (CNN) from the extreme learning machine (ELM) domain. Weights of this feature extracting CNN are stored in a flash occupying up to 78.28 Kilobytes. This CNN is either randomly initialized or trained offline, whose weights are static and never changed after being flashed into the tiny device. The redundant hidden-layer neurons of the RCE-ODL that lose their potential value over time are eliminated by a new forget mechanism.To evaluate this classifier, a training and testing strategy made use of a series of 500-second time series chunks of data that are continuously transmitted to train and test, with a split of 100 seconds for training and 400 seconds for testing. This has been experimented with Human Activity Recognition and Metal ball-bearing Anomaly classification tests. The experimental results show that RCE-ODL performs competitively in with a traditional CNN with SoftMax (offline trained via backpropagation). It even outperforms it on the PAMAP2 dataset for recognizing human activities, reaching improvements of up to 2.4%. To complete an entire learning session on the device, the classifier takes up a maximum of 41.24 Kbytes of RAM and the total time estimated for an STM32L4 and STM32H7 takes nearly 2.501Sec and 0.22Sec to learn the training data stored in MCU, which is extremely low compared to an offline trained CNN with SoftMax, which requires storing all the training data simultaneously, longer training sessions and high computation intensity. RCE-ODL could also generate the feature space in int8 if the CNN used for feature extraction is deep quantized into int8 bit. This would allow the suggested solution to be deployed in a sensor-level limit with a maximum RAM usage of 13.59KB which is considered for the future works.
|