EMB_84

EMBEDDED 84 • MAGGIO • 2022 38 HARDWARE | TINYML Quando con i dati di test si ottengono i migliori risultati per l’algoritmo della rete neurale, il modello è pronto per il deployment (ovvero la distribuzione). A questo punto il modello può effettuare inferenze, ovvero de- durre i risultati in base alle probabilità. Le fasi di adde- stramento e inferenza sono schematizzate in figura 1. Nella quotidiana interazione con i dispositivi smart, a esempio un altoparlante intelligente, è necessario utiliz- zare una parola o una frase di attivazione (trigger), come ad esempio “Hey Google”, per “risvegliarlo” e metterlo nelle condizioni di poter ascoltare le frasi successive. Un altoparlante intelligente non ha ovviamente le capa- cità di calcolo di un data center, ragion per cui brevi file audio vengono registrati e inviati al cloud dove si svolge il processo inferenziale necessario per determinare la natura della nostra richiesta. La rilevazione della parola (o frase) di attivazione è un semplice ma ottimo esempio di apprendimento automatico che ci proietta nel mondo di TinyML. Apprendimento automatico e IoT industriale Al crescere della diffusione dell’apprendimento auto- matico, aumentare in maniera esponenziale il numero di potenziali applicazioni. Numerose applicazioni in- dustriali, per esempio, non sono focalizzate sull’uso dei “big data”, ma si pongono l’obiettivo di aumentare l’ef- ficienza delle linee di produzione. Non bisogna dimenti- care che i costi imputabili a un’interruzione imprevista di un processo produttivo possono essere molto elevati. Il guasto di un motore durante un processo di miscela- zione di alimenti refrigerati può arrestare la produzio- ne, con conseguente perdita delle materie prime. Parec- chie aziende ora prevedono un regime di manutenzione predittiva in modo da pianificare i tempi di inattività e impedire che possano verificarsi guasti inattesi del tipo appena descritto. Il monitoraggio basato sulle condizio- ni degli asset di produzione, come motori e azionamen- ti, aiuta a prevedere il momento in cui il cuscinetto di un motore inizia a mostrare i segni di un’eccessiva usura. Gli algoritmi di apprendimento automatico utilizzati in un sensore posto alla periferia della rete IIoT sono in grado di identificare quando la firma vibrazionale di un motore non rientra nella norma, generando un così al- larme con sufficiente anticipo. Nel contesto industriale, le potenzialità applicative dell’apprendimento automatico sono enormi, anche se vi sono numerose problematiche tecniche da risolve- re. A differenza delle applicazioni che coinvolgono l’u- so dei “big data”, le risorse di memoria e di calcolo di un semplice sensore ubicato alla perife- ria di una rete IIoT sono solamente una minima frazione di quelle disponibili in un data center. In un singolo stabilimen- to possono essere presenti centinaia di sensori, per cui l’economia di scala è un fattore da tenere in considera- zione, così come le dimensioni fisiche, la disponibilità di un’alimentazione adeguata e la tipologia di connes- sione, wireless o cablata. Nella maggior parte dei casi, comunque, l’algoritmo della rete neurale utilizzato da un sensore di vibrazioni è decisamente meno comples- so rispetto a quello utilizzato per effettuare attività di ricerca nello spazio profondo, ragion per cui gli svilup- patori stanno cercando di individuare metodi idonei per far girare modelli di reti neurali su microcontrollori a basso consumo alimentati a batteria. TinyML: l’apprendimento automatico alla periferia della rete Poiché la piattaforma di elaborazione utilizzata per ad- destrare un modello di rete neurale non deve essere necessariamente la stessa che su cui viene installato, viene eliminato uno dei processi più onerosi in termi- ni di risorse. Restano in ogni caso altre problematiche di natura tecnica da affrontare. A esempio è necessa- rio domandarsi se l’algoritmo sia in grado di girare nei tempi previsti oppure quali siano le modalità utilizzate dal dispositivo per comunicare con il sistema host per avvisare lo staff operativo. Anche per gli sviluppatori di sistemi embedded i problemi nonmancano. La maggior parte di loro non ha esperienza nel campo della scienza dei dati, per cui apprendere i concetti del machine le- arning e operare con le reti neurali non è semplice e la curva di apprendimento è senza dubbio ripida. Nei successivi due articoli di queste serie di articoli ver- rà dapprima esaminata la gamma, sempre più ampia, di librerie di apprendimento automatico, framework e tool che permettono di semplificare notevolmente lo sviluppo e l’installazione di una rete neurale su un mi- crocontrollore. Nel terzo e ultimo articolo saranno illustrate parecchie piattaforme microcontrollore embedded adatte per la distribuzione di TinyML.

RkJQdWJsaXNoZXIy Mzg4NjYz