• Andrew Ng. Jeremy Portje

L’AI funziona anche con pochi dati buoni

Andrew Ng, un pioniere dell'intelligenza artificiale, ci parla di come le aziende possano utilizzare l'apprendimento automatico per trasformare le proprie attività e risolvere problemi critici.

di Karen Hao 27-03-21
Andrew Ng ha svolto molti ruoli nella sua vita. Fondatore del team di Google Brain, ex responsabile scientifico di Baidu, divulgatore dei principi dell'apprendimento automatico attraverso i suoi corsi online estremamente popolari. Ora nella sua ultima avventura, LandingAI, avviata nel 2017, sta esplorando come le aziende senza enormi set di dati a cui attingere possano ancora unirsi alla rivoluzione dell'AI.

Il 23 marzo, Ng si è unito all'EmTech Digital virtuale di “MIT Technology Review”, l’evento annuale sull'intelligenza artificiale della rivista, per condividere le sue conoscenze.

MIT Technology Review: Cosa risponde di solito a chi le chiede come creare un'attività basata sull'intelligenza artificiale?

Andrew Ng: Di solito rispondo: "Non farlo". Se vado in un team e dico loro di mettere al primo posto l’AI, si concentreranno sulla tecnologia, il che potrebbe essere ottimo per un laboratorio di ricerca. Ma rispetto a come viene eseguita l'attività, preferisco che si venga guidati dal cliente o dalla missione, quasi mai dalla tecnologia.

Può raccontarci cosa fa effettivamente Landing AI e perché ha scelto di lavorarci?

Dopo aver guidato i team di intelligenza artificiale di Google e Baidu, mi sono reso conto che l'intelligenza artificiale ha trasformato Internet con la ricerca sul Web e la pubblicità online. Ma volevo portare l'AI a tutti gli altri settori, che è una parte ancora più grande dell'economia. Quindi, dopo aver esaminato molti settori diversi, ho deciso di concentrarmi sulla produzione. Penso che più settori siano pronti per l'AI, in particolare se ci sono già a disposizione dei dati che i team di intelligenza artificiale possono utilizzare per creare valore.

Di recente, uno dei progetti che mi ha entusiasmato è il controllo visivo della produzione. Siamo in grado di guardare la foto di uno smartphone che esce dalla linea di produzione e vedere se c'è un difetto o guardare un componente dell'auto e vedere se c'è un'ammaccatura? A differenza del software di consumo su Internet con miliardi di utenti e un'enorme quantità di dati, nella produzione nessuna fabbrica produce un miliardo o addirittura un milione di smartphone graffiati.  In questo caso la sfida è: si può far funzionare un'intelligenza artificiale con un centinaio di immagini? Si scopre spesso che la risposta è sì. In realtà sono stato sorpreso molte volte da quanto si può fare con quantità di dati anche modeste. 

Come si ottengono questi risultati?

Spesso i dirigenti delle aziende mi dicono qualcosa del tipo: "Andrew, non abbiamo così tanti dati. Ci servono due anni per costruire una grande infrastruttura IT. Allora avremo tutti questi fantastici dati su cui costruire l'AI”. Rispondo sempre: "È un errore. Non fatelo". In primo luogo, non credo che nessuna azienda sul pianeta oggi, forse nemmeno i giganti della tecnologia, pensi che i propri dati siano completamente puliti e perfetti. Lasciar passare due o tre anni per costruire una bella infrastruttura di dati significa che manca il feedback dal team di intelligenza artificiale per aiutare a stabilire la priorità dell'infrastruttura IT da costruire.

Per esempio, se si hanno molti utenti, si possono porre loro domande in un sondaggio per ottenere un po' più di dati o in una fabbrica dare la priorità all'aggiornamento del sensore per fare in modo che registri le vibrazioni da 10 volte al secondo a 100 volte al secondo. Spesso si inizia a realizzare un progetto di intelligenza artificiale con i dati di cui già si dispone, consentendo al team di intelligenza artificiale di fornire il feedback per stabilire la priorità dei dati aggiuntivi da raccogliere.

Dobbiamo cambiare mentalità e passare dai big data ai buoni dati. Se si hanno a disposizione milioni di immagini, fantastico, ma se non è così, molti problemi possono essere affrontati con set di dati molto più piccoli etichettati in modo schematico e attentamente curati.

Cosa intende per dati buoni? Potrebbe fare un esempio? 

Prendiamo il caso del riconoscimento vocale. Quando lavoravo con la ricerca vocale, mi sono capitati dei clip audio in cui si sentiva qualcuno dire: "Ehm, i tempi di oggi". La domanda è: qual è la trascrizione giusta per questo audio? “Ehm, i tempi di oggi" o "Ehm...i tempi di oggi" o semplicemente "Ehm"? Risulta che una qualsiasi di queste va bene, ma ciò che non va bene è se diversi trascrittori utilizzano ciascuna delle tre convenzioni di etichettatura. 

In questo caso i dati sono rumorosi e danneggiano il sistema di riconoscimento vocale. Ora, quando si hanno milioni o miliardi di utenti, si possono avere dati rumorosi e semplicemente fare una media: l'algoritmo di apprendimento andrà bene. Ma se ci si trova con un set di dati più piccolo, per esempio, questo tipo di dati rumorosi ha un enorme impatto sulle prestazioni.

Un altro esempio arriva dai sistemi produzione: l'ispezione dell'acciaio. Una volta, il lato dell’automobile dalla parte del guidatore era rinforzato con una lamiera d'acciaio. A volte ci sono piccole rughe nell'acciaio, o piccole ammaccature o macchie su di esso. Con una fotocamera e un sistema di visione artificiale si può vedere se ci sono difetti o meno. Ma etichettatori diversi tratteranno i dati in modo diverso. Alcuni metteranno un gigantesco riquadro di delimitazione in tutta la regione, altri piccoli riquadri. Quando si dispone di un set di dati modesto, assicurarsi che i diversi ispettori della qualità etichettino i dati in modo coerente, si rivela una delle cose più importanti.

Per molti progetti di intelligenza artificiale, il modello open source scaricato da GitHub, uno degli strumenti di controllo più diffusi, è abbastanza buono. Non per tutti i problemi, ma per quelli principali. Ho parlato con i miei collaboratori e ho detto: "L'unica cosa che faremo ora è creare processi per migliorare la qualità dei dati". E si è scoperto che spesso si traducono in miglioramenti più rapidi alle prestazioni dell'algoritmo.

Qual è la dimensione dei dati a cui sta pensando quando parla di set di dati più piccoli? Un centinaio di esempi? Dieci esempi?

L'apprendimento automatico è così diversificato che è diventato davvero difficile dare risposte valide per tutti. Ho lavorato su problemi in cui avevo da 200 a 300 milioni di immagini. Ho anche lavorato su problemi in cui avevo 10 immagini. Quando guardo alle applicazioni di produzione, penso che qualcosa come decine o forse cento immagini per una classe di difetti non sia insolito, ma c'è un livello di variazione molto ampio anche all'interno della fabbrica.

Trovo che le pratiche di intelligenza artificiale cambino quando le dimensioni del set di addestramento scendono sotto, diciamo, 10.000 esempi, perché questa è una sorta di soglia in cui l'ingegnere può fondamentalmente guardare ogni esempio e progettarlo da solo e quindi prendere una decisione. Recentemente stavo chattando con un ottimo ingegnere di una grande azienda tecnologica e gli ho chiesto: "Cosa fai se le etichette non sono coerenti?" Lui ha risposto: “Abbiamo una squadra di diverse centinaia di persone all'estero che si occupa dell'etichettatura. Scrivo le istruzioni per l'etichettatura, chiedendo a tre persone di etichettare ogni immagine, e poi faccio una media". 

In effetti è la cosa giusta da fare quando si ha un set di dati gigantesco. Ma quando si lavora con un team più piccolo e le etichette sono incoerenti, mi limito a rintracciare le due persone che non sono d'accordo tra loro, le convinco entrambe durante una chiamata su Zoom e le faccio parlare tra loro per cercare di raggiungere una risoluzione.

A suo parere, quali sono i problemi pratici su cui le aziende più piccole possono davvero concentrarsi per aiutare una reale adozione commerciale dell'AI?

Ritengo che molta dell'attenzione dei media tenda a essere sulle grandi aziende e, talvolta, sulle grandi istituzioni universitarie. Ma se si partecipa alle conferenze accademiche, c'è molto lavoro svolto da piccoli gruppi di ricerca e laboratori di ricerca. E quando parlo con persone diverse in aziende e settori diversi, sento che ci sono così tante applicazioni aziendali che potrebbero utilizzare l'intelligenza artificiale per affrontare le situazioni. Di solito vado dai leader aziendali e chiedo: "Quali sono i suoi maggiori problemi aziendali? Cosa la preoccupa di più?". In questo modo posso capire meglio gli obiettivi del business e poi fare un brainstorming sulla presenza o meno di una soluzione AI. 

Voglio menzionare un paio di lacune importanti. Penso che oggi la creazione di sistemi di intelligenza artificiale preveda ancora troppi passaggi manuali. Alcuni brillanti ingegneri esperti di apprendimento automatico e data scientist fanno le cose su un computer e poi le portano in produzione, ma rimangono snodi manuali nel processo. Per questa ragione sono entusiasta delle operazioni di apprendimento automatico come disciplina emergente per contribuire a rendere più sistematico il processo di creazione e distribuzione di sistemi di intelligenza artificiale.

Inoltre, se si esaminano molti dei classici problemi aziendali, tutte le funzioni dal marketing al talento, c'è molto spazio per l'automazione e il miglioramento dell'efficienza. Spero anche che la comunità dell'AI possa esaminare i maggiori problemi sociali, dal cambiamento climatico alla povertà. Oltre ai problemi aziendali a volte di gran peso, dovremmo lavorare anche sui maggiori problemi sociali.

In che modo identifica se si può utilizzare l'apprendimento automatico in azienda?

Di solito facciamo un brainstorming su una serie di progetti e per ciascuna delle idee. Ci sono abbastanza dati? Qual è il livello di precisione? C'è una lunga coda quando si distribuisce in produzione? Come si raccolgono i dati e si chiude il ciclo per l'apprendimento continuo? Quindi, ci si assicura che il problema sia tecnicamente affrontabile. E poi interviene la gestione aziendale: ci assicuriamo che si raggiunga il ritorno sull’investimento sperato. Infine, dopo questo passaggio, si procede con la stima delle risorse, le tappe intermedia e poi, si spera, si va in esecuzione.

Un altro suggerimento: è importante iniziare velocemente e va bene iniziare in piccolo. La mia prima applicazione aziendale significativa in Google è stata il riconoscimento vocale, non la ricerca sul Web o la pubblicità. Ma aiutare il team vocale di Google a rendere il riconoscimento vocale più accurato ha dato al team di Brain la credibilità e i mezzi per perseguire partnership sempre più grandi. Google Maps è stata la seconda grande partnership in cui abbiamo utilizzato la visione artificiale: leggere i numeri civici e geolocalizzare le case su Google Maps. E solo dopo questi primi due progetti di successo ho avuto una conversazione più seria con il team pubblicitario. 

Cosa dovrebbe iniziare a fare domani un imprenditore per implementare l'AI nella sua azienda?

Credere nell’AI. L’intelligenza a rtificiale sta causando un cambiamento nelle dinamiche di molti settori. Quindi, se la sua azienda non sta già facendo investimenti abbastanza aggressivi e intelligenti, questo è il momento giusto.

(rp)