Google e altri stanno sviluppando sistemi di intelligenza artificiale che dubitano di se stessi.
L'idea è che le AI sapranno prendere decisioni migliori abbracciando l'incertezza.
Uno degli approcci più potenti di cui disponiamo oggi nel campo dell'intelligenza artificiale è il il deep learning. L'apprendimento profondo - in inglese deep learning - è quel campo di ricerca dell'apprendimento automatico - machine learning - e dell'intelligenza artificiale che si basa su diversi livelli di rappresentazione, corrispondenti a gerarchie di caratteristiche di fattori o concetti, dove i concetti di alto livello sono definiti sulla base di quelli di basso.
Un sistema di deep learning è una rete neurale con tantissimi strati. Il sistema informatico imita alcuni aspetti della struttura del cervello umano, con una rete di unità, o neuroni artificiali, collegate tra loro con connessioni, proprio come i neuroni veri sono collegati da sinapsi. Ogni nodo riceve un segnale in entrata, lo modifica, lo trasmette ad altri nodi, che a loro volta fanno lo stesso. I nodi della rete non sono programmati in nessun modo, non sanno nulla del compito che devono svolgere. Semplicemente, la rete riceve un input (per esempio, la foto di un gatto) e deve restituire un output (scrivere “gatto” nella didascalia). Un sistema di deep learning non si programma. Si addestra. All'inizio, non produce risultati esatti. Ma dopo ogni tentativo ricalibra le connessioni tra i suoi nodi (ovvero il modo in cui ogni neurone artificiale modifica e trasmette ad altri il suo segnale), e riprova nel compito, fino a che l’output non si avvicina a quello atteso.
Il successo più eclatante del deep learning lo dobbiamo a DeepMind, società del gruppo Alphabet - Google, e al suo AlphaGo, un sistema di deep learning che gioca a Go: antico gioco da tavola cinese in cui si dispongono pedine bianche e nere su una scacchiera, e si muovono con lo scopo di circondare le pedine avversarie. Nella semplicità delle sue regole, Go è un gioco di enorme complessità matematica. Molto, molto superiore a quella degli scacchi, tanto è vero che, se Deep Blue di IBM già nel 1996 batteva Kasparov, GO è stato a lungo considerato un banco di prova e un obiettivo irraggiungibile per l’AI.
Nella primavera del 2016, quando AlphaGo ha battuto Lee Sedol, campione coreano, al meglio delle cinque partite. Per allenare Alpha Go gli sono stati forniti i dati su migliaia di partite giocate da umani, imparando da solo sia le regole, sia la strategia. La vittoria è stata sorprendente e celebrata, ma con un limite: l’apprendimento di AlphaGo era del tipo supervised, basato sulla disponibilità di un grande database di esempi opportunamente "etichettati", cioè rendendo intellegibile alla macchine le mosse vincenti, le mosse perdenti, le partite vinte dal bianco o dal nero, e così via.
Quindi la vittoria di AlphaGo non ha molto di nuovo: questo tipo di apprendimento esiste in letteratura fin dagli anni Novanta, qui la novità, e la possibilità di vittoria, è data da una enorme nuova potenza di calcolo e la grandissima disponibilità di dati.
La potenza del deep learning ci consente di pensare di applicare le AI a problemi generali come guidare una macchina o risolvere problemi complessi della vita ordinaria. Però passando dai giochi alla vita reale un sistema che apprende e che lo fa dai suoi errori è problematico. Le scelte nel mondo reali non sono prive di conseguenze e possono portare a esiti negativi: in ballo non c'è solo la perdita di una partita ma beni e valori reali e in alcune ipotesi di utilizzo, come le auto a guida autonoma, anche vite umane. Come risolvere questa fragilità delle AI migliorando la loro potenzialità?
Come riporta il MIT Technology Review, un'autorevole pubblicazione del Massachusetts Institute of Technology, Google e altri stanno sviluppando sistemi di intelligenza artificiale che hanno una nuova capacità: dubitare di se stessi. L'idea è che le AI potranno prendere decisioni migliori se dotate di incertezza. Per questo i sistemi di AI stanno per essere dotati di una nuova funzione acquisendo una nuova capacità: il senso dell'incertezza.
I ricercatori di Uber e Google stanno lavorando alle modifiche di due framework di deep-learning molto popolari che consentiranno alle AI di gestire le probabilità. Questo consente ai programmi di intelligenza artificiale di avere una sorta di misura la fiducia che possono porre in una previsione o in una decisione. In sostanza questi sistemi consentirebbero alla macchina, per utilizzare una metafora umana, di sapere quando dovrebbero dubitare di se stessa.
Il deep learning funziona fornendo dati di esempio a una rete neurale ampia e potente, e i successi che conosciamo richiedono molti dati di addestramento e potenza di calcolo. Un sistema così potente di fatto può essere sorprendentemente fragile se usato in senari di vita quotidiana.
In maniera che sembrerebbe un po' controintuitiva, dotare un sistema di AI di questa funzione di dubbio offre una soluzione a questo problema. Quello di cui sono convinti i ricercatori e gli sviluppatori è che questo nuovo approccio potrebbe essere utile in scenari critici che coinvolgono per esempio le auto a guida autonoma e altre forme di macchine autonome.
Dustin Tran, uno sviluppatore che sta lavorando a questo problema per Google al MIT Review ha detto: "Se un'auto a guida autonoma non conosce il suo livello di incertezza, può fare un errore fatale e questo può essere catastrofico".
Di fatto l'idea riflette la consapevolezza che l'incertezza è un aspetto chiave del ragionamento umano e dell'intelligenza. Rendere questo processo computabile e trasferirlo algoritmicamente ai programmi di intelligenza artificiale potrebbe renderli più "intelligenti" e meno inclini a errori grossolani, come sostiene ad esempio Zoubin Ghahramani, uno dei leader nella ricerca sull'intelligenza artificiale all'Università di Cambridge e capo ricercatore di Uber.
Questa nuova funzione potrebbe rivelarsi di vitale importanza poiché i sistemi di AI sono utilizzati in scenari sempre più critici.
I ricercatori vogliono realizzare una struttura solida per il deep learning che renda più facile per gli utenti rappresentare l'incertezza. Per implementare questo sviluppo è stato realizzato Pyro, un nuovo linguaggio di programmazione rilasciato da Uber che fonde il deep learning con programmazione probabilistica. Pyro è un linguaggio di programmazione probabilistico universale (PPL) scritto in Python e supportato da PyTorch che consente una modellazione probabilistica che viene definita dai suoi creatori profonda flessibile ed espressiva.
La capacità di incertezza di fatto non consente di implementare un libero arbitrio - free will - ma almeno di rendere pensabile implementare un free won't.
Noah Goodman, un professore di Stanford che lavora al laboratorio di intelligenza artificiale di Uber, sostiene che dare l'apprendimento profondo la capacità di gestire le probabilità può renderlo più "intelligente" in diversi modi. Ad esempio, potrebbe aiutare un programma a riconoscere le cose con un ragionevole grado di certezza dopo essere stato addestrato con pochi esempi piuttosto che da molte migliaia. Una AI che fosse in grado di offrire una misura di certezza piuttosto che una risposta secca sì o no potrebbe in futuro aiutare a progettare dei sistemi complessi.
Mentre un sistema di deep learning convenzionale impara solo dai dati con cui viene alimentato, Pyro può anche essere usato per costruire un sistema preprogrammato con delle forme di conoscenza. Questo potrebbe essere utile in quasi tutti gli scenari in cui potrebbe attualmente verificarsi l'apprendimento automatico.
Oltre a Pyro è stato sviluppato anche Edward un ulteriore altro linguaggio di programmazione (per essere precisi si tratta di una libreria di modellazione probabilistica per Python, che abbraccia la prospettiva dell'incertezza. Edward è stato sviluppato dalla Columbia University con finanziamenti della DARPA. Sia Pyro che Edward sono ancora alle prime fasi di sviluppo, ma non è difficile capire perché Uber e Google siano così tanto interessati a questi prodotti.
Uber utilizza l'apprendimento automatico in innumerevoli aree, dai sistemi di routing all'impostazione dei prezzi e, naturalmente, nelle auto a guida autonoma che l'azienda sta già testando. L'azienda ha investito molto in AI, assumendo un certo numero di esperti che lavorano su nuove idee. Google ha ricostruito il suo intero business intorno all'IA e il deep learning negli ultimi tempi. Come osserva Goodman Pyro ed Edward sono strumenti importanti perché uniscono due scuole concorrenti nell'intelligenza artificiale, una focalizzata sulle reti neurali e l'altra sulla probabilità. Negli ultimi anni, la scuola della rete neurale è stata così dominante che le altre prospettive sono state tralasciate. L'evoluzione delle intelligenze artificiali richiede di abbracciare queste nuove idee.
L'idea di includere l'incertezza nelle intelligenze artificiali non è interessante solo da un punto di vista funzionale. Non siamo interessati solo a sistemi che possono ottenere risultati migliori e più efficienti. L'idea che la macchina possa essere dotata di una funzione di incertezza potrebbe essere anche un'importante framework con cui pensare di implementare sistemi di AI dotati di controllo etico e uomo-centrici. L'idea che la macchina possa avere una computabilità dell'incertezza permette di pesare e gestire le questioni in modo da tutelare i valori e impedire scenari indesiderati. La capacità di incertezza di fatto non consente di implementare un libero arbitrio - free will - ma almeno di rendere pensabile implementare un free won't.