Deep Learning nella visione industriale: quando conviene
Abbiamo già affrontato il dibattito nella visione artificiale tra deep learning e algoritmi tradizionali nel nostro precedente articolo. Scopriamo ora i veri vantaggi del deep learning, quando ha senso utilizzarlo e perché.
Quando è la scelta corretta
Quando il problema è ben definito gli algoritmi classici funzionano bene. Rilevare una distanza, un bordo o l’assenza di materiale, sono tutti problemi risolvibili con tecniche standard. Quando, al contrario, il difetto cambia forma, intensità o diventa difficile anche solo spiegarlo a parole, allora descriverlo ad un algoritmo sarà ancora più difficile. Con tecniche di deep learning tutto questo non è necessario, basta mostrare il difetto e far apprendere la rete neurale direttamente con i dati, non con le istruzioni. Allo stesso modo, comparsa di nuovi difetti o variazioni degli stessi portano ad errori di valutazione con algoritmi classici, mentre sono ben gestiti dalle reti neurali.
Si pensi ad esempio al rilevamento di difetti nel settore frutticolo: oggetti con forme diverse tra loro, possibili difetti di varie entità e in posizioni casuali, riassumendo, una variabilità enorme, difficilmente gestibile in maniera tradizionale. Le CNN, cioè il tipo di reti neurali utilizzate proprio nella visione artificiale, sono progettate appositamente per risolvere questo tipo di problemi. Apprendono pattern rilevanti dell’oggetto senza nessun tipo di definizione che consentono di determinare con precisione se il frutto è da scartare o meno.
Non solo ispezione
Lo stesso ragionamento è applicabile a tutti i casi di guida robot, dove la visione comanda e indica al robot di raggiungere una determinata posizione. Ad esempio, in un’applicazione di bin picking, gli algoritmi classici funzionano bene se l’oggetto è ben definito e si conoscono le sue geometrie, ma cosa succede se l’oggetto da prendere è deformabile o ha strutture non definite a priori? Spesso si avranno difficoltà, ed è proprio con l’uso di reti neurali che è possibile rendere queste applicazioni affidabili, non più localizzando l’oggetto, ma facendo capire al sistema dove e come prenderlo in maniera dinamica.
In un contesto come quello della logistica, ad esempio, il sistema dovrà riconoscere e prendere pacchi o buste di dimensioni e forme diverse, senza conoscere a priori su cosa andrà a lavorare. Un approccio con deep learning può quindi essere la soluzione migliore, non si cercherà una forma specifica, il sistema imparerà piuttosto a riconoscere gli oggetti afferrabili indipendentemente da come questi siano fatti permettendo di gestire mix di oggetti eterogenei sulla stessa linea produttiva senza nessun intervento esterno.
I vantaggi concreti
La gestione delle variabilità è sicuramente uno dei vantaggi più evidenti di un approccio “AI”, ma ci sono molte altri motivi per scegliere questa strada:
Estrazione automatica delle feature: la rete imparerà da sola cosa è realmente importante nell’oggetto. Non sarà necessario programmare nuovi filtri o algoritmi riducendo di conseguenza i tempi di sviluppo e di consegna degli impianti.
Scalabilità delle soluzioni: tecniche come il transfer learning consentono di adattare reti neurali già addestrate e funzionanti per adattarle a nuovi prodotti su diverse linee produttive.
Apprendimento continuo: gli errori non vanno buttati, ma diventano un modo per accrescere la precisione del sistema. Indicare alla rete neurale errori passati è un modo valido per aumentare l’efficienza dell’impianto sul lungo periodo.
Ricerca continua: la ricerca è viva e dinamica con continui aggiornamenti. Nuovi modelli con affidabilità maggiori possono essere integrati in sistemi già esistenti con modifiche minime o nulle.
I veri limiti
Come però accennato, non vedere i limiti di sistemi di deep learning complessi, può portare a errori e progetti che possono avere problemi.
Fame di dati: per una rete neurale efficiente e precisa, servono una grande mole di immagini, nuvole di punti e dati bilanciati, spesso difficilmente reperibili. Tecniche di data augmentation o generazione di dati sintetici sono soluzioni ottime per superare questi limiti, ma richiedono competenze e tempi da considerare nel piano del progetto.
Black Box: non si ha un vero controllo dell’output della rete neurale, che viene vista come una “scatola nera”. In processi che richiedono certificazioni o per lavorazioni impattanti, questo è un tema che non può essere sottovalutato ed è sicuramente uno dei limiti maggiori. Soglie di confidenza per una revisione umana se il grado di incertezza è troppo alto o approcci ibridi possono mitigare il problema.
Costo computazionale: l’inferenza in real time spesso richiede un gran quantitativo di risorse computazionali che possono incidere su costi o tempi di processo. Quantizzazione dei modelli o pruning sono tecniche estremamente utili per aggirare il problema con impatti importanti sulla riduzione delle risorse richieste, a un prezzo estremamente piccolo di precisione del sistema.
Il ruolo del deep learning
Dopo questa panoramica, è chiaro come il deep learning sia uno strumento estremamente potente e utile nel campo della visione artificiale, ma con un perimetro di utilizzo ben preciso, entro il quale eccelle, ed oltre il quale algoritmi tradizionali sono più performanti.
Parte del nostro lavoro è fare scelte progettuali precise per integrare l’architettura migliore e lo strumento migliore per risolvere il problema. Questa è la prospettiva con cui affronteremo l’altro lato della medaglia nei prossimi articoli: quando e perché, nell’era dell’intelligenza artificiale, gli algoritmi classici sono ancora la scelta giusta per molti problemi.