top of page

Cos'è il TinyML o Tiny Machine Learning ?

Scopriamo insieme un sottosezione di machine learning (ML) chiamata Tiny Machine Learning (TinyML), che cos'è, le sue applicazioni, i requisiti hardware e software e i suoi vantaggi.


TinyML è un tipo di machine learning che riduce le reti di deep learning per adattarle a hardware minuscolo. Riunisce intelligenza artificiale e dispositivi intelligenti. Sono 45x18mm di Intelligenza Artificiale in tasca . Improvvisamente, il progetto del fine settimana fai-da-te sulla tua scheda Arduino ha un modello di apprendimento automatico in miniatura incorporato al suo interno. I dispositivi embedded a bassissima potenza stanno invadendo il nostro mondo e, con i nuovi framework embedded di machine learning, consentiranno ulteriormente la proliferazione di dispositivi IoT basati sull'intelligenza artificiale.


Cos'è il TinyML ?
Cos'è il TinyML ?

Cos'è TinyML ? E, cosa più importante, per cosa può (e non può) essere utilizzato?


L'apprendimento automatico (ML) è un campo dinamico e potente dell'informatica che ha permeato quasi ogni cosa digitale con cui interagiamo, siano essi i social media, i nostri telefoni cellulari, le nostre auto o persino gli elettrodomestici.

Tuttavia, ci sono molti posti in cui ML vorrebbe andare ma ha difficoltà a raggiungerlo. Ciò è dovuto al fatto che molti modelli di apprendimento automatico all'avanguardia richiedono risorse di elaborazione e consumo di energia significativi per eseguire l'inferenza, che è l'atto di eseguire i modelli ML e fare previsioni sui dati immessi.


La necessità di risorse di elaborazione ad alte prestazioni ha confinato molte applicazioni ML nel cloud, dove l'elaborazione a livello di data center è prontamente disponibile.

Per consentire al ML di ampliare la sua portata e sbloccare una nuova era di applicazioni nel processo, dobbiamo trovare modi per facilitare l'inferenza del ML su dispositivi più piccoli e con risorse limitate. Questa ricerca ha portato al campo noto come Tiny Machine Learning o TinyML (un termine registrato dalla TinyML Foundation che è diventato sinonimo di tecnologia).

Che cos'è Tiny Machine Learning o TinyML?

L'apprendimento automatico stesso è una tecnologia che utilizza algoritmi chiamati reti neurali (un esempio è mostrato nella Figura 1) per insegnare a un computer a riconoscere i modelli. Questo viene estrapolato a una varietà di applicazioni tra cui il riconoscimento di oggetti e l'elaborazione del linguaggio naturale.


Cos'è il TinyML ?
Cos'è il TinyML ?

Figura 1. Una visualizzazione di un esempio di rete neurale Perceptron.

TinyML, d'altra parte, può essere definito come un sottocampo di ML che persegue l'abilitazione di applicazioni ML su dispositivi economici, nonché con risorse e potenza limitate.


L'obiettivo di TinyML è portare l'apprendimento automatico all'edge in modo estremo, in cui i dispositivi embedded basati su microcontroller alimentati a batteria possono eseguire attività ML con reattività in tempo reale. Questo sforzo è straordinariamente multidisciplinare e richiede l'ottimizzazione e la massimizzazione in campi quali hardware, software, scienza dei dati e apprendimento automatico.

Il campo ha in gran parte guadagnato popolarità negli ultimi anni a causa della maturazione degli ecosistemi hardware e software che ne sono alla base.

Applicazioni del TinyML :

Che tu te ne renda conto o meno, TinyML è probabilmente una parte della tua vita quotidiana in qualche modo. Le applicazioni per TinyML includono:

  • individuazione delle parole chiave

  • riconoscimento e classificazione degli oggetti

  • riconoscimento gestuale

  • rilevamento dell'audio

  • monitoraggio della macchina

Un esempio di applicazione TinyML nella vita quotidiana è il modello di rilevamento della parola sveglia audio utilizzato all'interno dei dispositivi Google e Android. Un esempio di componenti di rilevamento delle parole di riattivazione è mostrato nella Figura 2.

Per "accendersi" quando sentono le parole "OK Google", i dispositivi Android utilizzano un modello ML di rilevamento vocale da 14 kB che funziona su un DSP. Lo stesso si può dire per molti altri assistenti virtuali.


Cos'è il TinyML ?
Cos'è il TinyML ?

Figura 2. Componenti per un'applicazione wake-word.

Altri esempi di applicazioni TinyML degli studenti di Harvard includono il rilevamento dei cervi in ​​autostrada per le auto (un esempio di rilevamento di oggetti), il rilevamento di zanzare basato sull'audio (un esempio di riconoscimento audio) e molti altri.

Hardware utilizzato nelle applicazioni TinyML

Quando si tratta del lato hardware delle cose, TinyML è impressionante in quanto mira a lavorare su hardware piuttosto insignificante. Da un certo punto di vista, il vero obiettivo di TinyML è eseguire l'inferenza ML alla minor potenza possibile.


Pete Warden , ampiamente considerato il padre di TinyML, afferma nel suo libro fondamentale sull'argomento che TinyML dovrebbe mirare a funzionare con un consumo energetico inferiore a 1 mW . La ragione di questo numero apparentemente arbitrario è che il consumo di 1 mW rende un dispositivo in grado di funzionare con una batteria a bottone standard con una durata ragionevole da mesi a un anno. Quindi, quando pensi alle fonti di alimentazione per TinyML, pensa alle batterie a bottone, alle piccole batterie Li-Po e ai dispositivi di raccolta dell'energia.


Dal punto di vista del calcolo, TinyML non si basa su unità di elaborazione grafica (GPU), circuiti integrati specifici dell'applicazione (ASIC) e microprocessori come la maggior parte delle applicazioni ML. Un esempio di kit di apprendimento che utilizza un Arduino può essere visto nella Figura 3.

Cos'è il TinyML ?
Cos'è il TinyML ?


Figura 3. Un esempio di TinyML Learning Kit.

Per raggiungere gli elevati obiettivi di 1 mW, siamo quasi esclusivamente limitati a hardware di elaborazione meno capaci come microcontrollori (MCU) e processori di segnali digitali (DSP). Questi dispositivi sono spesso basati su Cortex-M e ci si può aspettare che non abbiano più di poche centinaia di kB di RAM, quantità simili di flash e velocità di clock di decine di MHz.

Oltre a questo, altro hardware che potresti aspettarti di trovare su un dispositivo TinyML include sensori (ad es. fotocamera, microfono) e possibilmente una connettività BLE (Bluetooth Low Energy).

Software TinyML: TensorFlow

In molti modi, il software alla base degli strumenti e dei concetti alla base di TinyML è la sua caratteristica più importante.

In generale, l'ecosistema più popolare e integrato per lo sviluppo di TinyML è TensorFlow Lite for Microcontrollers (TF Lite Micro). Un flusso di lavoro generalizzato per TinyML su TF Lite Micro è mostrato di seguito nella Figura 4. TF Lite Micro è stato progettato specificamente per l'attività di ML su dispositivi con risorse limitate, con al centro gli MCU.



Un ambiente basato su Python, TF Lite Micro è pieno di librerie e toolkit integrati per:

  • Acquisizione dei dati

  • Preelaborazione

  • Architettura del modello

  • Addestramento

  • Valutazione

  • Ottimizzazione

  • Quantizzazione


Cos'è il TinyML ?
Cos'è il TinyML ?

Figura 4. Il flusso di lavoro di TensorFlow Lite Micro.

Come toccheremo negli articoli successivi, la quantizzazione è davvero la salsa segreta che rende possibile TinyML. Ma in breve e in minima parte, la quantizzazione è un processo mediante il quale si riduce la precisione (dimensione in bit) dei pesi e delle distorsioni di un modello in modo tale che il modello occupi meno memoria, funzioni più velocemente e richieda meno energia, il tutto con un minimo di precisione!

Con un modello quantizzato, la maggior parte delle applicazioni dei dispositivi TinyML sono scritte in C/C++ per un sovraccarico minimo.

Vantaggi di TinyML

Il principale vantaggio di TinyML è la sua portabilità. L'utilizzo di microcontrollori economici con batterie minuscole e basso consumo energetico significa che, utilizzando TinyML, è possibile integrare facilmente ML praticamente in qualsiasi cosa a basso costo.

Inoltre, TinyML ha anche il vantaggio di una maggiore sicurezza grazie alla natura locale dell'elaborazione, ovvero non è necessario inviare i dati al cloud. Questo può essere significativo quando si lavora con i dati personali in applicazioni come IoT.

Con una solida introduzione al campo di TinyML, ora possiamo approfondire gli aspetti più tecnici del campo nel prossimo articolo.


TinyML e il suo futuro

Nel 2020, Harvard ha lanciato il corso CS249R: Tiny Machine Learning , affermando che "la crescita esplosiva dell'apprendimento automatico e la facilità d'uso di piattaforme come TensorFlow (TF) lo rendono un argomento di studio indispensabile per lo studente di informatica moderno".


Oggi ci sono oltre 250 miliardi di dispositivi embedded attivi nel mondo, con una crescita prevista del 20% annuo . Questi dispositivi stanno raccogliendo grandi quantità di dati e l'elaborazione nel cloud ha rappresentato una vera sfida. Di questi 250 miliardi di dispositivi, circa 3 miliardi attualmente in produzione sono in grado di supportare TensorsFlow Lite attualmente in produzione. TinyML potrebbe colmare il divario tra hardware edge e intelligenza del dispositivo. Rendere TinyML più accessibile agli sviluppatori sarà fondamentale per consentire alla proliferazione di massa dell'apprendimento automatico incorporato di trasformare i dati sprecati in informazioni fruibili e per creare nuove applicazioni in molti settori.


Con l'emergere di nuovi tipi di interfacce uomo-macchina (HMI) e il numero di dispositivi intelligenti in aumento, TinyML ha il potenziale per incorporare l'intelligenza artificiale e l'informatica ai margini onnipresenti, più economici, scalabili e più prevedibili, cambiando il paradigma nel ML.

1 Comment

Rated 0 out of 5 stars.
No ratings yet

Add a rating
Guest
Sep 19, 2022

Lettura eccezionale, non sapevo nemmeno che esistesse questa branca.... Questo sito dovrebbe essere patrimonio dell unesco !!

Like
PCR (5).gif
PCR (4).gif
PCR.gif
PCR.gif
PCR.gif
PCR.gif
PCR (5).gif
3.gif
Vediamo se riesci a cliccarmi ! Nascondo una Sorpresa... (2).png

Ciao 

🤗 Articoli consigliati dalla nostra
Intelligenza Artificiale in base ai tuoi interessi

Correlazione Alta

Correlazione Media

Correlazione Bassa

Iscriviti

VUOI DIVENTARE UN MEMBRO DI INTELLIGENZA ARTIFICIALE ITALIA GRATUITAMENTE E TRARNE I SEGUENTI BENEFICI?

Corsi Gratis

più di 150 lezioni online

Dataset Gratis

più di 150o dataset

Ebook Gratis

più di 10 libri da leggere

Editor Gratis

un editor python online

Progetti Gratis

più di 25 progetti python

App Gratis

4 servizi web con I.A.

Unisciti Ora a oltre
1.000.000
di lettori e appassionanti d'I.A.

Tutto ciò che riguarda l'intelligenza Artificiale, in unico posto, in italiano e gratis.

MEGLIO DI COSI' NON SI PUO' FARE

Dopo l'iscrizione riceverai diversi Regali

VUOI SCRIVERE ARTICOLI INSIEME A NOI.

Grazie

bottom of page