Intelligenza artificiale
Nuovo Sistema Può Portare l’Intelligenza Artificiale sui Dispositivi Indossabili, Elettrodomestici

Un team di ricercatori al MIT sta lavorando per portare le reti neurali di apprendimento profondo ai microcontroller. Il progresso significa che l’intelligenza artificiale (AI) potrebbe essere implementata in piccoli chip di computer nei dispositivi medici indossabili, elettrodomestici e negli altri 250 miliardi di oggetti che compongono l'”internet delle cose” (IoT). L’IoT è una rete di oggetti fisici incorporati con sensori, software e altre tecnologie, che aiutano a connettere e scambiare dati con altri dispositivi e sistemi.
La ricerca sarà presentata alla Conferenza su Sistemi di Elaborazione dell’Informazione Neurale a dicembre. L’autore principale della ricerca è Ji Lin, uno studente di dottorato nel laboratorio di Song Han del Dipartimento di Ingegneria Elettrica e Informatica del MIT. I coautori includono Han e Yujun Lin del MIT, Wei-Ming Chen del MIT e dell’Università Nazionale di Taiwan, e John Cohn e Chuan Gan del MIT-IBM Watson Lab.
Sistema MCUNet
Il sistema si chiama MCUNet e progetta reti neurali compatte in grado di raggiungere estrema velocità e precisione sui dispositivi IoT, anche con memoria e potenza di elaborazione limitate. Questo sistema può essere più efficiente in termini di energia e migliorare la sicurezza dei dati.
Il team ha sviluppato il sistema “tiny deep learning” combinando due componenti – l’operazione delle reti neurali e i microcontroller. La prima componente è TinyEngine, un motore di interfaccia che agisce come un sistema operativo dirigendo la gestione delle risorse. TinyEngine è ottimizzato per eseguire una struttura di rete neurale specifica selezionata da TinyNAS, che è l’altra componente. TinyNAS è un algoritmo di ricerca di architettura neurale.
Lin ha sviluppato TinyNAS a causa della difficoltà di applicare le tecniche di ricerca di architettura neurale esistenti ai piccoli microcontroller. Queste tecniche esistenti trovano alla fine la struttura di rete più precisa e efficiente in termini di costo dopo aver iniziato con molte possibilità basate su un modello predefinito.
“Funziona abbastanza bene per le GPU o gli smartphone,” dice Lin. “Ma è stato difficile applicare direttamente queste tecniche ai piccoli microcontroller, perché sono troppo piccoli.”
TinyNAS può creare reti di dimensioni personalizzate.
“Abbiamo molti microcontroller che vengono con diverse capacità di potenza e diverse dimensioni di memoria,” dice Lin. “Quindi abbiamo sviluppato l’algoritmo [TinyNAS] per ottimizzare lo spazio di ricerca per diversi microcontroller.”
Poiché TinyNAS può essere personalizzato, può generare le migliori reti neurali compatte per i microcontroller.
“Quindi consegniamo il modello finale ed efficiente al microcontroller,” continua Lin.
È richiesta un’interfaccia pulita e snella per eseguire la rete neurale tiny su un microcontroller. Molti motori di interfaccia hanno istruzioni per attività eseguite raramente, che potrebbero ostacolare un microcontroller.
“Non ha memoria esterna e non ha un disco,” dice Han. “Tutto ciò che è stato messo insieme è solo un megabyte di flash, quindi dobbiamo gestire con cura una risorsa così piccola.”
TinyEngine genera il codice necessario per eseguire la rete neurale personalizzata sviluppata da TinyNAS. Il tempo di compilazione viene ridotto scartando il codice inutilizzato.
“Manteniamo solo ciò di cui abbiamo bisogno,” dice Han. “E poiché abbiamo progettato la rete neurale, sappiamo esattamente ciò di cui abbiamo bisogno. Questo è il vantaggio della progettazione dell’algoritmo del sistema.”
I test hanno dimostrato che il codice binario compilato di TinyEngine era 1,9 a cinque volte più piccolo dei motori di microcontroller simili, compresi quelli di Google e ARM. L’utilizzo della memoria di picco è stato anche ridotto quasi della metà.
Capacità di MCUNet
I primi test per MCUNet ruotavano attorno alla classificazione delle immagini. Il database ImageNet è stato utilizzato per addestrare il sistema con immagini etichettate e la sua capacità è stata testata su immagini nuove.
Quando MCUNet è stato testato su un microcontroller commerciale, ha classificato con successo il 70,7 percento delle immagini nuove. Ciò è molto meglio del miglior accoppiamento di rete neurale e motore di interferenza precedente, che era del 54 percento preciso.
“Anche un miglioramento dell’1 percento è considerato significativo,” dice Lin. “Quindi questo è un grande balzo per le impostazioni dei microcontroller.”
Secondo Kurt Keutzer, un informatico dell’Università della California a Berkeley, ciò “estende la frontiera della progettazione delle reti neurali profonde ancora più lontano nel dominio computazionale dei piccoli microcontroller efficienti in termini di energia”. MCUNet potrebbe “portare capacità di visione computerizzata intelligente anche ai più semplici elettrodomestici da cucina o abilitare sensori di movimento più intelligenti.”
MCUNet migliora anche la sicurezza dei dati.
“Un vantaggio chiave è la preservazione della privacy,” dice Han. “Non è necessario trasmettere i dati al cloud.”
Analizzando i dati localmente, c’è una minore possibilità che le informazioni personali vengano compromesse.
Inoltre, MCUNet potrebbe analizzare e fornire informazioni su dati come le letture della frequenza cardiaca, della pressione sanguigna e del livello di ossigeno, portare l’apprendimento profondo ai dispositivi IoT nei veicoli e in altri luoghi con accesso limitato a internet e ridurre l’impronta di carbonio utilizzando solo una piccola frazione dell’energia richiesta per le grandi reti neurali.












