Il ruolo di espansione dell'apprendimento della macchina in IoT incorporato

Oggi, questi sistemi compatti sono implementati in tutto, dai monitor per la salute indossabili ai sensori di vibrazione industriale e ai nodi agricoli intelligenti. Il prossimo salto nella loro capacità non è in processori più grandi o più memoria, ma in intelligenza. Integrando algoritmi di machine learning (ML), gli sviluppatori possono trasformare i dispositivi statici, basati su regole in sistemi di adattamento che prevedono l'uso di risorse

Comprendere il paesaggio IoT incorporato

I dispositivi IoT& sono sistemi di calcolo speciali costruiti attorno ai microcontrollori (MCU) o ai microprocessori a bassa potenza. In genere sono dotati di RAM limitata (spesso 16 KB a 512 KB), storage flash (128 KB a 4 MB), e CPU che gira a decine a centinaia di megahertz.

Perché Machine Learning on the Edge?

In primo luogo, elimina la latenza di andata e ritorno a un server remoto, consentendo risposte in tempo reale per applicazioni critiche come l'evitazione di collisione o avvisi medici. In secondo luogo, riduce il consumo di banda di rete, che è vitale per i dispositivi che inviano dati su reti di ampia portata (LPWANs).

Aree di applicazione chiave per il ML di Su-Device

  • Manutenzione predittiva:[] Analizzare le vibrazioni, la temperatura e le firme acustiche per rilevare il degrado delle apparecchiature prima del fallimento, riducendo i tempi di fermo e i costi di manutenzione.
  • Rilevamento di anomalie nei sistemi di sicurezza:[] Identificare schemi insoliti nel traffico di rete, log di accesso, o letture dei sensori fisici senza inviare dati grezzi a un server centrale.
  • Voice e keyword spotting:[ Abilita l'attivazione delle parole-sveglia su sensori intelligenti e indossabili con un'estrazione di potenza minima.
  • Risorsa di attività e di attività:[ Dati di accelerometro o giroscopio Interpreti per interfacce utente contestuali.
  • Ispezione visiva al bordo:[ Eseguire reti neurali convoluzionali leggere (CNN) su dispositivi equipaggiati per classificare difetti o identificare oggetti.

Selezione degli algoritmi di apprendimento della macchina giusta

Non tutti gli algoritmi ML sono adatti per dispositivi constranei. Il flusso di lavoro tipico consiste nell'addestramento di un modello su server potenti, quindi nella compressione di esso per adattarsi a chilobiti di memoria. Le famiglie più popolari di algoritmo per IoT incorporato includono:

Decisione Alberi e Foreste Casuali

Gli alberi di decisione sono interpretabili e richiedono una minima sovraccarica computazionale per l'inferenza. La loro struttura può essere convertita in una serie di dichiarazioni se-allora-else, rendendoli estremamente efficienti su MCU. Le foreste casuali combinano alberi multipli per una migliore precisione, ma aumentano l'utilizzo della memoria.

Macchine vettoriali di supporto (SVM)

I SVM sono efficaci per i set di dati di piccole e medie dimensioni e producono modelli compatti quando si utilizzano i kernel lineari. Il passo di inferenza comporta un semplice prodotto di punti, che è computazionalmente leggero. I SVM sono ampiamente utilizzati per le attività di rilevamento di anomalia e di classificazione binaria in IoT, come la distinzione del normale funzionamento da modalità di guasto.

Reti neurali convoluzionali (CNN)

Per i dispositivi incorporati, gli architetti devono utilizzare convoluzioni di separazione a senso profondo (come in MobileNetV1/V2) per ridurre drasticamente i conteggi dei parametri. La potatura e la quantizzazione ulteriormente ridurre il modello mantenendo la precisione.

Reti neurali ricorrenti (RNN) e LSTM

Per i dati sequenziali come le letture di temperatura nel tempo o segnali di discorso, le reti RNN e Long Short-Term Memory (LSTM) catturano dipendenze temporali. Tuttavia, la loro struttura non laminata può essere memoria-intensiva. Alternative come CNN 1D o modelli basati su Transformer (ad esempio, TinyBERT) stanno emergendo come soluzioni più efficienti per la modellazione di sequenze incorporate.

Autoencoders per la rilevazione di anomalie non supervisionate

Quando un nuovo input si discosta in modo significativo dalla ricostruzione, si segnala un'anomalia, questi modelli sono particolarmente utili quando i dati di guasto etichettati sono scarse. La struttura encoder-decoder può essere potuta e quantizzata per la distribuzione MCU.

Tecniche di ottimizzazione per dispositivi con limitazioni di risorse

La distribuzione di una rete neurale a piena precisione su un semplice MCU è raramente fattibile.

Pruning del peso

La potatura elimina i pesi ridondanti o a bassa magnitudine da un modello addestrato. La potatura non strutturata può ridurre le dimensioni del modello di 50– il 90% ma può richiedere un hardware specializzato per velocizzazioni.

Quantificazione

La conversione dei valori a 32 bit in interi a 8 bit (INT8) riduce l'impronta della memoria di 4x e spesso accelera l'inferenza su MCU con unità aritmetiche integre. La quantizzazione post-training è l'approccio più semplice, mentre la formazione quantizzazione-aware (QAT) recupera tipicamente una maggiore precisione per larghezze bit molto basse.

Distillazione della conoscenza

Nella distillazione delle conoscenze, un modello compatto “student” è formato per imitare le uscite di un modello più ampio e accurato “teacher” e lo studente impara a riprodurre la distribuzione delle probabilità, con una maggiore precisione rispetto alla formazione del piccolo modello direttamente sulle etichette originali.

Ricerca di architettura modello (NAS)

La ricerca di architettura neurale automatizza la progettazione di modelli efficienti esplorando i trade-off tra precisione, dimensione e latenza. Piattaforme come Edge Impulse e TensorFlow Model Optimization Toolkit includono le capacità NAS per produrre architetture personalizzate su misura per specifiche MCU.

Ottimizzazione Compiler-Level

Quadri come TensorFlow Lite per Microcontrollers e ARM’s CMSIS-NN implementano le ottimizzazioni del kernel per le architetture MCU comuni (ARM Cortex-M, RISC-V), che includono la srotolamento del loop, l'inlining e la vettorizzazione SIMD dove disponibile.

Considerazioni hardware e accelerazione

Mentre molte attività ML sono possibili su MCU generici, acceleratori hardware dedicati migliorano notevolmente le prestazioni e l'efficienza energetica.

  • OMCU con unità di elaborazione neurale integrate (NPU): Ad esempio, l'Ethos-U55 Arm e Synopsys DesignWare ARC VPX forniscono accelerazione hardware per la moltiplicazione e la convoluzione della matrice.
  • I FPGA possono essere configurati per implementare le tubazioni personalizzate per l'inferenza a bassa latenza e a bassa potenza, e sono comuni nell'IoT industriale dove la riconfigurabilità è valutata.
  • Acceleratori di intelligenza:[] Chips come il TPU di bordo di Google, Intel Movidius e Hailo-8 offrono un'elevata produttività per le CNNs a budget di potenza inferiori a 2 W, rendendoli adatti per dispositivi alimentati a batteria con telecamere o sensori multipli.
  • Microcontrollori a bassa potenza:[ La nuova generazione di MCU (ad esempio, Ambiq Apollo4, STM32U5) presenta modalità di sonno avanzate e unità a punto variabile efficienti, consentendo l'esecuzione diretta di piccoli modelli quantizzati.

Quando si seleziona l'hardware, si consideri il processo end-to-end: acquisizione dati, pre-elaborazione (ad esempio, FFT per audio), inferenza e post-elaborazione.

Pipeline dati e apprendimento continuo

Un dispositivo integrato ML-enabled è altrettanto buono quanto i dati di formazione. In produzione, il data pipeline comporta in genere:

  1. Raccolta dati[] dai sensori al bordo, con attenta considerazione delle velocità di campionamento e del rumore di quantizzazione.
  2. Apparecchi di abbattimento o semi-supervisione[[] per l'apprendimento supervisionato, che può essere il passo più costoso.L'apprendimento attivo, dove il modello sceglie campioni incerti per l'etichettatura, può ridurre lo sforzo.
  3. L'allenamento su dispositivi o cloud[[]] del modello iniziale. La maggior parte dei flussi di lavoro TinyML addestrare il modello off-device, quindi distribuire un grafico congelato.
  4. Registrazione di inferenza e rilevamento della deriva del modello[[[]] nel tempo. La deriva del concetto si verifica quando la distribuzione dei dati dei sensori cambia (ad esempio, a causa di effetti stagionali o di invecchiamento dei sensori).

Per i dispositivi che rimangono nel campo per anni, on-device incremental learning[[]] è un'area di ricerca attiva. Approcci come il consolidamento del peso elastico (EWC) e buffer di riproduzione permettono un modello per adattarsi a nuovi modelli senza la dimenticanza catastrofica dei comportamenti precedentemente appresi.

Sfide sulla sicurezza e sulla privacy

Gli attaccanti possono tentare di estrarre l'architettura del modello o i dati di formazione da un dispositivo (modello rubando), o ingannare il modello con ingressi avversari (ad esempio, posizionando un adesivo su un segno di arresto per causare la disgregazione).

  • Lo storage di modello crittografato[[]] utilizzando enclave sicure hardware (ad esempio, Arm TrustZone) per evitare la lettura di pesi e biasi.
  • Valutazione e preprocessing di input[[]] che rimuove le perturbazioni avversarie prima che raggiungano il modello.
  • La privacy differenziale[[] durante l'allenamento per limitare la quantità di informazioni che ogni lettura del singolo sensore rivela su un utente.
  • Seguire aggiornamenti over-the-air (OTA) per gli aggiornamenti del modello, firmato con chiavi crittografiche per evitare la sostituzione dannosa.

Queste misure sono particolarmente critiche in IoT medico, sicurezza domestica intelligente e applicazioni automobilistiche dove le decisioni di inferenza hanno un alto rischio.

Case Studies in Produzione

Manutenzione Predictive basata su vibrazione

Un produttore di pompe industriali ha implementato un microcontrollore STM32L4 con un accelerometro a 3 assi. Hanno addestrato una CNN 1D per classificare quattro condizioni operative: normale, squilibrio, guasto del cuscinetto e cavitazione. Il modello è stato inquinato dal 60% e quantizzato a 8 bit, montando in 48 KB di flash.

Parola chiave per le indossabili regolate con la voce

Un produttore di apparecchi acustici ha integrato un modello TensorFlow Lite Micro per eseguire la ricerca di parole chiave (ad esempio, “louder,” “quiet,” “ Next”) su un cavo Cortex-M4 MCU ultra-basso. Il modello, una CNN separabile in senso profondo con soli 24.000 parametri di conservazione, funziona in streaming a 100 μW di durata di memoria di memoria.

Direzioni e tendenze emergenti

L'intersezione di ML e IoT incorporato si sta evolvendo rapidamente. Varie tendenze modellano la prossima generazione di dispositivi intelligenti di bordo:

  • L'apprendimento basato sul bordo: Invece di raccogliere tutti i dati su un server centralizzato, i modelli sono formati collaborativamente su molti dispositivi, ognuno mantenendo i propri dati locali privati.
  • Sensori basati su eventi e reti neurali sputanti (SNN): Hardware neuromorfico, come Intel’s Loihi 2, imita reti neurali biologiche, consentendo la computazione ultra-bassa, asincrona ideale per sensori sempre.
  • Co-design di software Hardware:[] Le aziende stanno sviluppando core RISC-V personalizzati con estensioni ML, permettendo agli sviluppatori di personalizzare l'istruzione impostata al loro carico di lavoro specifico, ottenendo guadagni di efficienza di ordinazione dignitudine.
  • La compressione on-device durante l'allenamento:[ Tecniche come NAS a colpo singolo e la condivisione del peso rendono possibile formare un singolo super-rete che può essere adattato a diversi obiettivi hardware senza riqualificare.

Iniziare con Embedded ML

Per gli sviluppatori che cercano di sperimentare, diverse piattaforme abbassano la barriera all'ingresso:

  • TensorFlow Lite per Microcontrollers[[] fornisce un runtime di riferimento e modelli pre-trained per compiti comuni come il rilevamento delle parole chiave e la rilevazione della persona.
  • Edge Impulse[[]] offre un condotto end-to-end dalla raccolta dei dati alla distribuzione, tra cui la messa a punto automatica di iperparametri e il test on-device.
  • OpenMV[]] offre una scheda MicroPython con fotocamera e accelerazione ML, ideale per prototipare applicazioni IoT basate sulla visione.
  • Arduino Nicla Voice[[]] combina un MCU STM32 ad alte prestazioni con un processore decisionale neurale personalizzato, consentendo la classificazione vocale e movimento al potere milliwatt.

Inizia con un semplice compito di apprendimento supervisionato come la classificazione binaria degli eventi dei sensori, quindi gradualmente aggiungi complessità. Concentrati sulla raccolta di dati di alta qualità e rappresentativi dall'ambiente di distribuzione all'inizio del progetto, poiché la qualità dei dati spesso supera le scelte di architettura dei modelli nel dominio incorporato.

Conclusioni

L'apprendimento automatico non è una visione lontana per i team di IoT&mdash incorporati; è una realtà pratica. Con un'attenta selezione di algoritmi, compressione dei modelli e ottimizzazione hardware-aware, anche il più piccolo microcontroller può eseguire tubi di inferenza sofisticati. Il risultato è una classe di dispositivi che imparano, adattano e agiscono autonomamente, migliorando tutto dall'efficienza energetica alla manutenzione predittiva.

Risorse esterne per ulteriori letture: