Edge Impulse si appoggia al cloud per creare dispositivi intelligenti incorporando piccoli modelli di Machine Learning e DNN.
di Fonte ST
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é.