CEDA al Workshop “Smart Technology”

Ieri, 18 maggio 2019, l’ing. Luca Lezzerini, Responsabile Ricerca & Sviluppo della CEDA, ha partecipato, in qualità di relatore esterno, (Guest Lecturer), al Workshop “Smart Technology” dell’Università Polis di Tirana, una delle più importanti dell’Albania, ormai molto affermata anche a livello europeo.

Il Workshop è uno dei passi che la Polis sta facendo per divenire un centro di eccellenza anche nell’ambito delle tecnologie informatiche.

L’intervento dell’ing. Lezzerini ha riguardato l’Intelligenza Artificiale ed è stato centrato sugli aspetti di base del “Machine Learning”, ossia di quell’insieme di tecnologie che stanno completamente cambiando il nostro modo di vivere.

Cos’è il Machine Learning?

Con il machine learning si sta passando dallo sviluppare software per “risolvere” problemi (il classico software così è stato conosciuto finora) allo sviluppare software che “impara” da solo come risolvere problemi.

Il procedimento di apprendimento, come è stato ampiamente spiegato nell’intervento al Workshop, si basa sulla presentazione di una serie di “campioni”. In ciascuno di essi viene fornito il dato di input per il problema (ad esempio un’immagine o una registrazione vocale) assieme alla risposta corretta da dare (ad esempio, quale oggetto compare nell’immagine o la trascrizione della registrazione vocale). Alla presentazione di ciascun input, il sistema di machine learning tenta di dare una risposta: se questa è corretta, il software riceve un “rinforzo”, se è sbagliata riceve una “penalizzazione”.

Dopo la sottomissione di numerosi esempi e la ripetizione per più volte (dette “epoche”) al fine di migliorare le prestazioni di classificazione, il software è pronto per ricevere dati sconosciuti che proverà a classificare.

L’ing. Lezzerini, nel suo intervento, ha cercato, con esempi pratici, di evidenziare gli approcci progettuali e le difficoltà più comuni che si devono affrontare nello sviluppo di soluzioni di Machine Learning.

Il classificatore a reti neurali Fashion MNIST

In particolare, è stato presentato un sistema di Machine Learning basato su reti neurali realizzate in linguaggio Python e con l’ausilio di librerie specializzate open-source quali Tensorflow e Keras.

Il primo esempio mostrato è l’ormai leggendario MNIST Fashion Data Set, una raccolta di settantamila immagini di capi di abbigliamento su cui ha fatto grandi attività di ricerca anche la famosa azienda Zalando.

Il software di rete neurale utilizzato è una versione modificata di quello tradizionalmente usato come primo approccio al Machine Learning (tra gli addetti ai lavori è chiamato l’”Hello World” del Machine Learning).

In tale esempio, il sistema di intelligenza artificiale è stato addestrato con sessantamila immagini rappresentanti capi di abbigliamento di dieci categorie diverse (vestito da donna, sandalo da donna, cappotto, maglietta, camicia, scarponcino, …) con relativa indicazione della categoria di appartenenza.

Terminato in circa un minuto l’addestramento, al sistema sono state sottoposte diecimila immagini dello stesso tipo ma mai viste prima: il software di machine learning le ha classificate correttamente con un tasso di successo (accuracy) dell’87%, ossia quasi nove volte su dieci.

Classificazione di immagini reali di prodotti alimentari mediante reti neurali

Dopo l’esempio del Fashion MNIST, necessario per comprendere i meccanismi di base ed avere un termine di paragone, è stato utilizzato un database molto più complesso composto di 2640 immagini prese dagli scaffali di un negozio di alimentari. Nelle immagini erano presenti frutta, ortaggi e prodotti liquidi confezionati (latte, succo di frutta, yogurt, …). La maggiore complessità di questo database era dovuta al fatto che le immagini erano prese da prospettive diverse, riguardavano un numero variabile di elementi e, spesso, contenevano oggetti estranei (mano dell’operatore, altri prodotti, scaffalature ecc.).

Il sistema di machine learning utilizzato si limitava a classificare in tre sole categorie (frutta, ortaggi, confezionato) le immagini mostrate. Tale limitazione era dovuta essenzialmente al breve tempo a disposizione durante l’intervento per addestrare la rete neurale e non era certo un vincolo alla reale applicazione. Lo scopo di questa parte dell’intervento era, infatti, mostrare come diversi approcci alla struttura (topologia) della rete neurale e ai dati di addestramento potessero portare a risultati ben differenti.

Il confronto delle varie soluzioni progettuali

La comparazione di numerosi esempi di addestramento, variando il numero di hidden layers della rete neurale, il numero di neuroni per strato, l’ordinamento dei dati di input e altri aspetti, ha permesso di spiegare, dimostrando praticamente, come i vari fattori influenzino fenomeni quali l’accuratezza e, in particolare, di dimostrare operativamente, i fenomeni cosiddetti dell’underfitting e dell’overfitting.

Il codice utilizzato in questa seconda parte della live demo era sempre in linguaggio Python, realizzato direttamente dagli specialisti della CEDA, e basato su Tensorflow e Keras, le stesse due librerie dell’esempio di Fashion MNIST, per consentire una reale comparazione dei due casi.

Particolare interesse tra i partecipanti hanno suscitato gli aspetti dell’underfitting (la demo usata ha lasciato tutti stupiti del fenomeno, avvenuto, per loro, in via del tutto inattesa, apparentemente contro ogni logica) e quello dell’importanza di un ordinamento corretto dei dati di addestramento.

Il campione usato per il test era di 2385 immagini e i risultati raggiunti sono variati da un minimo di accuratezza del 31% (provare a caso ha un’accuratezza, sotto le ipotesi in questione, su grandi numeri, del 33%) fino ad un massimo del 72%.

Tenuto conto del tempo a disposizione per l’intero intervento (meno di un’ora) i risultati sono da considerarsi molto buoni.

La teoria e la storia del machine learning

Oltre alle dimostrazioni dal vivo, nell’intervento sono stati toccati numerosi aspetti teorici che agiscono dietro le quinte del machine learning basato su reti neurali, oltre al concetto di “unsupervised learning”.

Nell’ultima parte della presentazione sono stati trattati due temi che hanno catturato l’attenzione del pubblico.

Il primo è stata la rapida descrizione di tre applicazioni reali del machine learning su cui l’ing. Lezzerini e i suoi collaboratori hanno lavorato o stanno lavorando, due in campo medico ed uno nel campo del business del settore alimentare.

Il secondo è stata una personale riflessione del relatore su come si stanno delineando le figure professionali nell’ambito del profilo di Machine Learning Expert, tema certamente caro ad un contesto universitario impegnato in prima linea nel forgiare le prossime generazioni di tecnici.

Conclusioni sul machine learning a reti neurali

L’invito del Responsabile Ricerca & Sviluppo al Workshop in questione dimostra, ancora una volta, come la CEDA sia oggi in prima linea nel settore dello sviluppo di software basato sull’intelligenza artificiale applicata a varie realtà, incluse quelle sanitarie e quelle produttive. Ha riscosso, infine, particolare interesse, anche perché si tratta di un tema sconosciuto ai più, il sistema di previsione degli ordini da clienti e delle necessità di approvvigionamento degli imballaggi, applicato ad una fungaia industriale. Ma di questo progetto parleremo in un prossimo articolo essendo uno dei più recenti progetti software di Artificial Intelligence che la CEDA sta sviluppando. La CEDA è comunque a vostra disposizione per richieste di chiarimento o informazioni.

0 commenti

Lascia un Commento

Vuoi partecipare alla discussione?
Fornisci il tuo contributo!

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *