Giuseppe Porcelli, principal specialist solutions architect AI / ML di AWS, ci spiega cos’è il machine learning e quanto sia importante qualità e quantità dei dati utilizzati.
Parlando con le aziende nostre clienti – di ogni forma e dimensione – è evidente che condividiamo tutti le stesse sfide: stiamo correndo verso la digitalizzazione, trasformando il progresso in stallo in innovazione frequente e sfruttando i dati e il Machine Learning. Tuttavia, talvolta si tende a sottovalutare quanto i dati siano fondamentali per il successo e l’efficacia dell’apprendimento automatico. In realtà, l’apprendimento automatico non esiste senza dati; inoltre, se la dimensione del campione è troppo piccola o la qualità dei dati non rappresenta correttamente la realtà, i modelli di Machine Learning saranno inutilizzabili.
In questo articolo, esploreremo come addestrare modelli di Machine Learning ed esamineremo alcuni esempi di come i dati e la loro qualità possano avere un impatto sull’addestramento dei modelli.
Cos’è il Machine Learning?
Per capire meglio il Machine Learning, pensiamo all’apprendimento umano. Ci vogliono anni perché il cervello umano maturi. Molto di ciò che impariamo ci viene insegnato e viene conservato attraverso i lunghi processi di ripetizione, riconoscimento di pattern e feedback. La conoscenza si costruisce lentamente sulle lezioni di base dell’istruzione elementare. Inoltre, è stato dimostrato che l’applicazione di ciò che abbiamo imparato e l’uso della conoscenza cementano i concetti e rafforzano le nostre capacità decisionali. Grazie a una diversità di conoscenza, esperienze e feedback, impariamo a prendere decisioni diverse e migliori nel tempo.
L’apprendimento automatico è simile all’apprendimento umano, tranne per il fatto che la funzione cognitiva di una macchina è meno sofisticata di quella del cervello umano. Per esempio, gli esseri umani sono a volte costretti a prendere decisioni impulsive o decisioni per le quali sappiamo di avere solo una comprensione e una conoscenza parziale del problema. Riempiamo i dati mancanti con informazioni provenienti da esperienze passate apparentemente simili, facciamo supposizioni basate sulla nostra tolleranza al rischio.
Le macchine, invece, non prendono decisioni istintive; tutte le decisioni si basano su ciò che è stato appreso dai dati forniti. Ecco perché bisogna essere attenti a come si addestrano le macchine e assicurarsi di fornire i dati giusti per l’apprendimento, altrimenti, così come accade per gli esseri umani senza una formazione adeguata, il modello sarà mal preparato a prendere le decisioni giuste.
Machine Learning in azione
Ci sono diversi tipi di Machine Learning, ma ci concentreremo su un tipo popolare: l’apprendimento supervisionato. Nel caso di apprendimento supervisionato, addestriamo i modelli ad accettare un input e a rispondere con un output fornendo esempi di input e output per i quali l’output è stato validato da un supervisore umano.
Per esempio, possiamo fornire un’immagine come input e costruire un modello che calcolerà la probabilità che l’immagine contenga un certo oggetto; un altro esempio potrebbe essere l’utilizzo di una registrazione audio come input e l’addestramento di un modello per mappare frammenti audio su parole e produrre una trascrizione del testo. Prendiamo un esempio di riconoscimento di oggetti nelle immagini, perché è piuttosto semplice da illustrare.
I modelli di Machine Learning devono essere addestrati con dati sufficienti per poter prevedere con precisione la probabilità che, ad esempio, l’immagine inserita contenga una mela. Considerate le immagini delle mele qui sotto: è facile per un adulto dire che ogni immagine rappresenta una mela, ma quando si tratta di Machine Learning, cosa succederebbe se si addestrasse il proprio modello solo con immagini di mele rosse? O se tutte le mele usate nell’addestramento avessero la stessa forma? Come potrebbe il modello essere in grado di dire che le ultime due foto erano, in realtà, delle mele?
Ora, considerate la possibilità di cercare di differenziare tra i muffin ai mirtilli e i chihuahua: questo è un esempio banale di quanto possa essere difficile individuare le differenze tra due immagini. Ovviamente, dovremmo allenare il modello con abbastanza esempi di ciascuna, e dovremmo etichettare ogni immagine con “muffin ai mirtilli” o “chihuahua” in modo che il modello possa apprendere la differenza.
In ognuno di questi esempi, ci sono diversi modi in cui potremmo inavvertitamente addestrare il modello a produrre risultati imprecisi: i dati potrebbero essere troppo uniformi e mancare di varietà; il dataset potrebbe essere incompleto o contenere dati duplicati; oppure i dati potrebbero essere etichettati in modo errato (un essere umano particolarmente stanco potrebbe scambiare alcuni chihuahua per muffin o viceversa).
Usare il feedback nell’apprendimento automatico
Un altro step importante dell’addestramento dei modelli è il feedback; oltre a identificare correttamente gli esempi di muffin ai mirtilli, il modello deve sapere quando la previsione era sbagliata. Uno dei modi per aumentare la probabilità di predizione è quello di verificare i risultati del modello più e più volte. Questo è uno dei motivi per cui l’addestramento non è un’attività one-time ma è invece un processo iterativo: dobbiamo continuamente addestrare i nostri modelli con gli ultimi esempi e feedback.
Come potete immaginare, etichettare dati e collezionare feedback possono essere processi laboriosi. Fortunatamente, c’è un numero crescente di modelli di Machine Learning già addestrati e pronti all’uso disponibili nell’Amazon Web Services Marketplace, e l’AWS Data Exchange sta rendendo i dataset più accessibili.
Ci sono anche servizi come Amazon SageMaker Ground Truth che permettono di gestire il processo di etichettatura di dati e utilizzare il crowdsourcing. Tuttavia, ciò che trovo più interessante sull’etichettatura dei dati per l’apprendimento automatico è che alcune aziende hanno trovato modi innovativi per far sì che gli esseri umani etichettino i loro dati gratuitamente.
Raccogliere dati per l’apprendimento automatico
Quando si costruiscono data lakes per le aziende, bisogna pensare al machine learning fin dall’inizio, oltre alle soluzioni tradizionali per l’analisi di dati. Mentre la disciplina di Master Data Management (MDM) ci insegna l’importanza dell’uniformità e dell’accuratezza, il Machine Learning ci insegna l’importanza dei dati grezzi. Consideriamo il gioco del telefono senza fili, che dimostra come la perdita e la manipolazione dei dati possano influenzare la nostra prospettiva della verità: mentre raccogliamo i dati e li modifichiamo ripetutamente per adattarli a diversi usi, maggiore è il rischio di perdere dati preziosi e significativi.
Poiché vogliamo sfruttare al meglio i nostri dati ed essere in grado di scoprire cose che altrimenti non avremmo potuto conoscere, dobbiamo creare il data lake tenendo gli usi specifici a mente. Dovremmo raccogliere, archiviare e manipolare i dati per servire tali usi. Ad esempio, in Cox Automotive, i dati sono stati organizzarti in tier, da grezzi a raffinati e certificati, per consentire ai team di sperimentare rapidamente con i dati, estrarre informazioni rilevanti per il business e implementare soluzioni di Machine Learning. Il data lake è servito come base per tutto ciò che si cercava di ottenere. Una strategia olistica per i dati garantirà che il data lake fornisca le solide fondamenta di cui il business ha bisogno.
Alcune riflessioni finali sull’apprendimento automatico
Disporre dei dati corretti è molto importante per l’apprendimento automatico delle macchine. Tra tutte le sfide volte ad aumentare l’agilità del business e di innovare ad un ritmo più veloce, iniziare è la più difficile. Ma il successo deriva dalla frequente sperimentazione, riducendo al minimo i rischi. Iniziare in piccolo e con obiettivi specifici, scegliere piccole aree verticali (casi d’uso end-to-end), imparare rapidamente e trarre valore e progresso: si tratta di un viaggio, non di un cambiamento repentino one-shot.