Negli ultimi anni, l’intelligenza artificiale (AI), il machine learning (ML) e il deep learning (DL) hanno guadagnato una popolarità significativa sia in ambito accademico che nelle applicazioni industriali. Queste tecnologie possono raggiungere prestazioni straordinarie, migliorando la qualità del servizio rispetto alle soluzioni tradizionali. Ad esempio, le applicazioni di visione artificiale impiegano ampiamente gli algoritmi di DL grazie ai loro risultati eccezionali nella classificazione e nel riconoscimento delle immagini.
Dal Machine Learning tradizionale al paradigma TinyML
Tuttavia, tali algoritmi sono caratterizzati da un’elevata richiesta computazionale, il che ne limita l’utilizzo a dispositivi potenti privi di vincoli di memoria ed energia. Ciò rappresenta una sfida quando si utilizza il deep learning nei sistemi di Internet of Things (IoT), dove sono connessi dispositivi semplici con poche risorse computazionali ed energetiche.
Considerando l’enorme progresso dei dispositivi embedded che seguono la legge di Moore, è oggi ragionevole integrare funzionalità di ML e intelligenza ubiqua in dispositivi terminali con risorse limitate. Di conseguenza, molti ricercatori hanno rivolto la loro attenzione a questo divario per rendere intelligenti i nodi finali di una rete IoT e implementare il paradigma tinyML.
Il valore del TinyML: Questa tecnologia sprigiona l’intelligenza anche in dispositivi piccoli, economici e a basso consumo, offrendo i vantaggi tipici dell’edge computing.
D’altra parte, l’implementazione di algoritmi tinyML introduce diverse sfide, tra cui:
- L’ottimizzazione e la compressione dei modelli.
- La capacità computazionale.
- L’affidabilità e la manutenzione.
Potenzialità, vantaggi e sfide del TinyML nei sistemi a risorse limitate
I principali vantaggi sono:
- Elaborazione dati in prossimità del sensore: I dati grezzi vengono elaborati il più vicino possibile alla sorgente, evitandone la trasmissione. In questo modo, è possibile inviare solo i dati già elaborati contenenti le informazioni utili, risparmiando energia di trasmissione e spazio di archiviazione. I sensori più recenti e avanzati permettono di elaborare i dati acquisiti direttamente nella pipeline di acquisizione con soluzioni di ML semplici ma efficaci, riducendo la richiesta energetica e i tempi di esecuzione.
- Esecuzione in tempo reale: Il tinyML riduce la latenza di comunicazione spostando l’inferenza sul dispositivo sorgente. Ciò garantisce un’esecuzione in tempo reale anche in applicazioni sensibili al fattore tempo, dove uno scambio tempestivo di informazioni è fondamentale (come nella robotica mobile).
- Rispetto della privacy: Evitando la trasmissione di dati grezzi, il tinyML garantisce la privacy dei singoli individui senza inviare dati sensibili su Internet.
- Indipendenza dalla rete: Il tinyML elabora i dati localmente, quindi non necessita indispensabilmente di una rete sempre disponibile. Ciò apre all’uso del tinyML in scenari estremi dove una rete wireless potrebbe non essere presente.
- Efficienza economica: I dispositivi tinyML sono economici, permettendo una produzione su larga scala, e di piccole dimensioni, quindi installabili in posizioni difficili da raggiungere. Tali dispositivi spaziano dalle GPU embedded e ai single-board computer, fino ai microcontrollori con pochi kilobyte di memoria.
Applicazioni emergenti e prospettive di ricerca del TinyML
Per sfruttare appieno tutti questi vantaggi, è fondamentale sviluppare modelli di ML che siano consapevoli dell’hardware utilizzato (hardware-aware). Questo introduce la sfida principale del tinyML: implementare modelli di ML complessi, come le reti neurali profonde (DNN), su dispositivi terminali con scarse capacità computazionali.
Fortunatamente, esistono soluzioni per la compressione e l’ottimizzazione dei modelli che permettono l’implementazione di modelli complessi in dispositivi con risorse limitate. Tuttavia, queste tecniche introducono un degrado delle prestazioni; è quindi essenziale ottimizzare i modelli mantenendo una qualità del servizio accettabile. Per questo motivo, i ricercatori sono al lavoro in questo campo per trovare soluzioni in grado di comprimere drasticamente i modelli senza comprometterne significativamente le performance.
Molte applicazioni possono beneficiare del tinyML, ad esempio:
- Agricoltura di precisione: I campi agricoli dispongono di risorse limitate e richiedono sistemi di monitoraggio a basso impatto. Il tinyML può fornire un supporto prezioso in questo scenario, integrando il monitoraggio avanzato per parassiti e infestazioni di erbe infestanti, ottimizzando così l’uso dei pesticidi.
- Robotoica: La robotica mobile è sempre più autonoma grazie a sensori avanzati e tecniche di navigazione. Tuttavia, robot di piccole dimensioni hanno una capacità di carico (payload) e risorse energetiche limitate, il che rende fondamentale l’uso del tinyML per implementare la navigazione autonoma con un’elaborazione dati avanzata.
- Ispezione industriale: Le aziende stanno sostituendo i propri sistemi di ispezione basati su dispositivi costosi con hardware a basso consumo e basso costo. In questo scenario, il tinyML supporta l’integrazione di sistemi di monitoraggio efficienti in dispositivi economici dotati di capacità di apprendimento.