Alla fine, tutte le organizzazioni dovranno sfruttare l'apprendimento automatico per rimanere competitive. Proprio come nel caso del passaggio alle applicazioni web, alle applicazioni mobili e a cloud, l'apprendimento automatico sarà la norma, non l'eccezione, di un moderno stack tecnologico.
Se da un lato la tecnologia dell'intelligenza artificiale e dell'apprendimento automatico suscita molto clamore, dall'altro la realtà è molto promettente: lo sviluppo di software convenzionale può essere potenziato con software che imparano dalle attività e possono rispondere in modo appropriato, in modi non realizzabili con la codifica standard. Tuttavia, il processo di costruzione di una tecnologia di apprendimento automatico efficace è molto diverso da quello dello sviluppo di un software normale e, di conseguenza, richiede un approccio e una mentalità diversi. Questa mentalità richiede di riconoscere che lo sviluppo dell'apprendimento automatico è in gran parte un processo scientifico anziché un processo di sviluppo del software. Questa è la mentalità dell'intelligenza artificiale.
Intelligenza artificiale e apprendimento automatico: Quali sono le differenze?
Per la cronaca, il mio punto di vista sulla terminologia è che l'Intelligenza Artificiale (AI) è "aspirazionale" e l'Apprendimento Automatico (ML) è "pratico". In altre parole, la maggior parte di ciò che oggi viene chiamato AI è in realtà ML. La speranza è che gli ulteriori progressi nella ricerca e nelle tecniche di ML possano avvicinarci a un software che assomigli alla vera intelligenza umana, ma se alla fine riusciremo o meno a raggiungere questo obiettivo è molto discutibile. Tuttavia, le iniziative che rientrano nell'ambito dell'IA sono reali e possono aiutare le aziende a migliorare l'esperienza dei clienti e a snellire i processi mission-critical.
Tutte le parti interessate a un progetto di ML devono comprendere la mentalità dell'IA, in modo che ci sia una comprensione comune delle risorse necessarie, delle misurazioni dei progressi e delle realtà di ciò che è pratico con le attuali tecniche di ML. Ci sono ragioni per cui il mondo accademico e l'industria esistono separatamente e servono a scopi diversi. All'inizio, le grandi aziende hanno visto il valore dell'approccio scientifico e hanno finanziato laboratori di ricerca per lo più autonomi, come IBM, Xerox e DEC. Oggi, la maggior parte delle aziende non può finanziare un laboratorio di ricerca completamente separato con la speranza che alcuni dei risultati vengano prodotti. Tuttavia, i potenziali vantaggi dell'ML e le conseguenze di una sua mancata adozione impongono alle aziende un approccio diverso a questa tecnologia.
Che cos'è la mentalità dell'IA?
Come accennato in precedenza, la mentalità dell'IA è un ponte tra l'industria e le prospettive accademiche. Avendo vissuto a cavallo tra il mondo accademico e il settore privato, posso parlare bene dell'impiego di un approccio ibrido. Negli ultimi 20 anni ho fatto ricerca e insegnato informatica all'Università di San Francisco (USF). Sono anche lo scienziato capo di SnapLogic, dove mi occupo di ricerca sulle piattaforme orientate al futuro e dirigo il programma di apprendimento automatico.
Il mio primo progetto in SnapLogic, nell'estate del 2010, è stato un progetto di apprendimento automatico in cui ho sviluppato tecniche statistiche per imparare le mappature dei nomi dei campi in modo da poter prevedere le mappature future. Ho trascorso la maggior parte del tempo a comprendere i dati, a specificare una rappresentazione e a condurre migliaia di esperimenti per convalidare il modello. Ho generato centinaia di rapporti e visualizzazioni di dati per convincere me stesso e gli altri che l'approccio era valido. Il progetto di ricerca ha avuto successo ed è stato successivamente aggiunto al prodotto.
Cinque anni dopo, ho iniziato a esplorare nuove aree del prodotto in cui applicare il ML. Ho collaborato con gli studenti laureati della USF per esplorare le raccomandazioni e la sentiment analysis. Alla fine abbiamo avuto successo con le raccomandazioni, che hanno portato alla tecnologia Iris Integration Assistant. Oggi il team ML continua a trovare modi per migliorare l'esperienza dell'utente attraverso l'applicazione della tecnologia ML.
Più di un semplice software
Il mio doppio ruolo di accademico e di scienziato capo mi ha permesso di applicare una mentalità di ricerca in un contesto industriale.
Uno degli aspetti più importanti della mentalità dell'intelligenza artificiale è il riconoscimento che lo sviluppo di una tecnologia ML efficace non è come l'implementazione di una funzione software. Mentre disponiamo di buone strategie per stimare i costi della codifica convenzionale, a causa dell'incertezza nello sviluppo del ML, è più difficile stimare il tempo necessario per raggiungere il successo o per avere successo. Sebbene il ML sia in definitiva solo un software, il modo in cui il software viene costruito si basa sull'apprendimento dai dati osservati in passato. Il trucco consiste nel trovare i giusti dati storici, la giusta versione preparata dei dati e il giusto algoritmo di ML. Tuttavia, trovare la giusta combinazione richiede un processo iterativo che comprende la profilazione dei dati, la preparazione dei dati, la selezione dell'algoritmo, la configurazione dell'algoritmo, la sperimentazione e la valutazione.
Questo processo iterativo è essenzialmente un'applicazione del metodo scientifico e tutti coloro che partecipano a un progetto di ML devono comprendere l'incertezza di questo processo. Quando si inizia, è opportuno stabilire delle tappe fondamentali in base ai set di dati utilizzati, alle caratteristiche selezionate e agli algoritmi di ML impiegati. Anche se questo non vi darà un limite di tempo migliore, aiuterà tutti a capire i progressi. Può accadere che un particolare problema di ML richieda troppo tempo e sforzi, oppure che non sia tecnicamente trattabile.
Una volta che avete affrontato il processo più volte, voi e il vostro team potreste essere in grado di stimare meglio lo sforzo di sviluppo del ML se una nuova iniziativa condivide alcuni aspetti dei vostri primi progetti. Tuttavia, le nuove applicazioni del ML richiederanno lo stesso processo sperimentale.
Dove entra in gioco la prospettiva del settore
Sebbene abbia sostenuto che l'industria debba adottare un approccio più accademico all'apprendimento automatico, esistono pratiche industriali che possono essere sfruttate per contribuire al successo dei progetti di ML. La cosa più importante è la comprensione del problema, il "caso d'uso". Gli accademici spesso hanno difficoltà a stabilire un problema o a risolvere problemi che non sono utili. I progetti di ML possono trarre grande beneficio da obiettivi o risultati ben definiti. Nel caso del ML, i risultati possono essere inizialmente irraggiungibili, ma avere un buon obiettivo in primo luogo aiuterà a far muovere il progetto nella giusta direzione. Il risultato iniziale può essere rivisto man mano che si acquisiscono conoscenze sui limiti dei dati e degli algoritmi.
Mettere un limite di tempo a un progetto è ragionevole e richiesto in un contesto industriale. Alcuni accademici possono dedicare anni a un problema di ricerca specifico. La maggior parte delle aziende non ha il lusso di sostenere iniziative di ricerca completamente libere. Pertanto, un limite temporale può limitare i costi, ma non può garantire il successo di un progetto. Invece, un progetto di ML dovrebbe avere risultati aggiuntivi che possono essere utili all'organizzazione e a future iniziative di ML. Se è possibile definire questi risultati aggiuntivi in anticipo, un progetto di ML può avere successo anche senza un'implementazione completa del ML. Ad esempio, molti dati operativi non sono ben documentati. Una parte del processo di ML potrebbe consistere nel fornire una spiegazione dell'attuale schema operativo e del suo utilizzo.
Il meglio dei due mondi
Sono stato molto fortunato ad applicare la mia mentalità e sensibilità accademica in un contesto industriale presso SnapLogic. Incoraggio altre aziende e professori a creare collaborazioni simili che consentano ai docenti di lavorare part-time e di coinvolgere gli studenti nella ricerca. Soprattutto nel mondo del ML, l'industria è in una posizione unica per fornire dati su larga scala e problemi interessanti che sono difficili da ricreare in laboratorio.
Sfruttare questa mentalità dell'intelligenza artificiale può contribuire a guidare l'innovazione e, in ultima analisi, a migliorare l'interfaccia uomo-computer.
Per ulteriori informazioni, consultare il post del blog "IP Expo Europe 2018: riepilogo: AI e machine learning in mostra".