Apprendimento automatico su microcontrollori
Edge Impulse si appoggia al cloud per creare dispositivi intelligenti incorporando piccoli modelli di Machine Learning e DNN.
di Fonte ST 16-07-20
L'implementazione dei modelli di apprendimento automatico o machine learning (ML) su microcontrollori è uno degli sviluppi più interessanti degli ultimi anni, che consente a piccoli dispositivi alimentati a batteria di rilevare movimenti complessi, riconoscere suoni, classificare immagini o trovare anomalie nei dati dei sensori.

Per rendere la costruzione e la distribuzione di questi modelli accessibili a tutti gli sviluppatori embedded, STMicroelectronics ha avviato una collaborazione con Edge Impulse. Grazie ad un pacchetto STM32Cube.AI, Edge Impulse Cloud è in grado di esportare reti neurali per offrire agli sviluppatori un metodo semplice per raccogliere dati, creare modelli e distribuirli su qualsiasi MCU STM32.

L'apprendimento automatico su sistemi embedded (spesso chiamato TinyML) potrebbe consentire la creazione di piccoli dispositivi in ​​grado di prendere decisioni intelligenti senza la necessità di inviare dati al Cloud, un punto a favore di efficienza e privacy. STM32Cube.AI è un pacchetto software che può prendere modelli di deep learning pre-addestrati e convertirli in codice matematico altamente ottimizzato da eseguire su MCU STM32. L'estrazione delle giuste funzionalità, la creazione di un set di dati di qualità e l'addestramento del modello sono tutti passaggi fondamentali per creare una soluzione basata su ML.

L'analisi dei dati raccolti dai sensori sui dispositivi integrati non è una novità. Nonostante questi sistemi funzionino bene, è difficile rilevare eventi complessi, poiché è necessario pianificare ogni potenziale stato del sistema. Quello che possiamo fare con l'apprendimento automatico è individuare questi limiti in maniera molto più precisa. Ad esempio, nel rilevamento delle anomalie è possibile addestrare un modello di apprendimento automatico (rete classica o neurale) perchè esamini tutti i dati raccolti per metterli a confronto con dati archiviati in cluster.

Il modello supervisionato apprende tutte le potenziali variazioni dei dati e crea una definizione molto più precisa rispetto a quanto non si riuscirebbe a realizzare manualmente. Questa precisione permette di rilevare eventi molto più complessi. È relativamente facile scrivere un codice che rilevi quando un microfono rileva suoni superiori a 100 dB, più complesso rilevare se una persona ha detto "sì" o "no". È qui che l'apprendimento automatico dà il meglio di sé.

Clicca qui per leggere l'articolo originale