Addestramento di reti neurali su processori programmabili con risorse limitate
View/ Open
Author
Caroleo, Matteo <2002>
Date
2024-07-18Data available
2024-07-25Abstract
L'utilizzo di algoritmi di Machine Learning su dispositivi con risorse limitate permette di espandere drasticamente le applicazioni dell'IoT. Tuttavia, oggi i modelli di rete neurale vengono prima allenati su di un dataset a priori per poi essere caricata su microcontrollore. Con la tecnica del continual learning, si ottiene un modello che è in grado di addestrarsi continuamente dai dati nuovi in ingresso. Questa tecnica richiede il supporto dell'on device learning, ossia dell'addestramento su dispositivo, che consentirebbe nell'ambito IoT di non esternare dati sensibili dell'essere umano. Il problema è che non esistono ad oggi framework che permettono l'implementazione di questa tecnica su microcontrollori, in quanto questi dispostivi non dispongono nè di molta memoria nè di molta potenza computazionale. Viene quindi proposto in questo documento una soluzione, ossia lo sviluppo di un framework capace di svolgere on-device learning su microcontrollori utilizzando solo allocazione statica di memoria e presentando la sola dipendenza dalla libreria cmath. Vengono prima esplorati gli strumenti utilizzati, anche teorici, l'architettura del software ed infine la sperimentazione svolta su microcontrollore. The use of Machine Learning algorithms on devices with limited resources allows for a drastic expansion of IoT applications. However, today, neural network models are first trained on a priori datasets and then loaded onto microcontrollers. With the technique of continual learning, a model is obtained that can continuously train itself from new incoming data. This technique requires the support of on-device learning, which involves training on the device itself, thereby avoiding the externalization of sensitive human data in the IoT domain. The problem is that, to date, there are no frameworks that allow the implementation of this technique on microcontrollers, as these devices have neither much memory nor much computational power. Therefore, this document proposes a solution: the development of a framework capable of performing on-device learning on microcontrollers using only static memory allocation and relying solely on the cmath library. First, the tools used, including theoretical ones, the software architecture, and finally the experimentation carried out on the microcontroller, are explored.
Type
info:eu-repo/semantics/bachelorThesisCollections
- Laurea Triennale [2887]