Scacchi, Go, Super Mario e Breakout. I software giocano per vincere e ci riescono meglio di noi. Il merito è dei progressi del machine learning.

Lee Se-Dol ha perso contro AlphaGo, il machine learning ha colpito ancora. A nulla sono valsi i 18 titoli internazionali conseguiti dal trentatreenne coreano. Il software sviluppato da Google Deepmind ha dominato quattro partite su cinque. E dire che la previsione era che se ne aggiudicasse al massimo una.

C’era da aspettarselo. Sfidare al gioco un software debitamente programmato è una fatica che può oscillare tra l’arduo e l’impossibile. Ci è stato insegnato nel 1997 quando Deep Blue vinse contro il campione di scacchi Garri Kasparov. Per spezzare una lancia in difesa della nostra specie bisogna specificare che in entrambi i casi le macchine erano state ben attrezzate per lo scontro. Deep Blue possedeva in memoria le tecniche di tre maestri di scacchi – Miguel Illescas, John Fedorowicz e Nick de Firmian – mentre AlphaGo si era allenato giocando contro se stesso milioni di partite.

In entrambi i casi i computer hanno dimostrato l’efficacia del machine learning.

I computer che decidono guardando gli alberi

Deep Blue basava la scelta delle mosse sul modello detto Monte Carlo Tree Search (MCTS), costruiva cioè un albero di decisione di sei livelli e vi applicava una funzione di valutazione ad algoritmo minimax. Tradotto in pratica: durante i propri turni di gioco calcolava tutte le combinazioni possibili delle sei mosse successive, quindi sceglieva quella che, in prospettiva, lo avrebbe allontanato maggiormente dallo scenario di sconfitta peggiore. Giocava per non perdere, scegliendo metodicamente il meno peggio.

La particolarità dell’MCTS è che struttura l’albero di decisione partendo da zero. Il software impara dai propri errori a sviluppare le strategie.

Un esempio semplice di questo tipo di machine learning è Akinator, il popolare gioco online in cui un genio della lampada tenta, attraverso una serie di domande, di indovinare il personaggio famoso a cui l’utente sta pensando. Essenzialmente si tratta di un software che perfeziona il proprio albero di decisione arricchendolo ogni volta che non riesce ad indovinare.

Se volete divertirvi potete anche andare a vedere il video di un utente di YouTube che ha insegnato al proprio computer a giocare a Super Mario (per inciso, ci sono voluti più 30 fallimenti perché riuscisse a vincere un livello).

Imparare dagli errori: lo stai facendo bene

Un altro tipo di apprendimento automatico è il deep learning, una tecnologia nata agli inizi del millennio e sviluppatasi notevolmente negli ultimi anni che consiste fondamentalmente nell’uso di numerosi strati di reti neurali artificiali.

Le reti neurali artificiali simulano il funzionamento delle reti neurali del cervello umano: sono strutture di mini-programmi che operano in modo indipendente ma interconnesso tra loro. Inviando più volte uno stesso input in una rete neurale questa utilizzerà sequenze di neuroni diversi, fino a individuare il percorso ottimale e più rapido per restituire l’output. Così, dal momento che questa struttura permette di modificare la loro stessa programmazione, le reti neurali artificiali possono fornire risposte nuove perfino per i loro stessi creatori.

Usando questo tipo di apprendimento i tecnici di Google Deepmind si sono divertiti a programmare un software perché giocasse a Breakout. È affascinante vederlo giocare le prime partite letteralemente a caso per poi, dopo sole quattro ore, avere addirittura sviluppato delle strategie per massimizzare più rapidamente il punteggio.

È un processo di auto-perfezionamento che può essere applicato anche alla catalogazione delle immagini e alla identificazione visiva. La ricerca di Google Immagini tramite l’upload di un file funziona proprio attraverso l’uso di una rete neurale.

AlphaGo sul podio al secondo posto (per ora)

Dal canto suo AlphaGo possiede ben 13 strati di reti neurali che usa però in contemporanea invece che in sequenza. Dunque sarebbe improprio dire che si affida al deep learning. Ci basterà notare che, per il processo decisionale che segue, Alphago prevede molte meno posizioni rispetto a Deep Blue, ma le valuta con maggiore precisione. Il risultato è che nella classifica dei migliori giocatori di go al mondo, Alphago è secondo, con un punteggio Elo di 3588.

Un valore notevole constatando che, a discapito delle sue regole estremamente semplici, go è un gioco molto più complesso degli scacchi: se per questi esistono 10120 partite diverse, il go ne vanta lo spaventoso numero di 10761. Giusto per farvi rendere conto, nell’universo è stimato che esistano circa 1080 atomi.

Idealmente, se si continuasse ad aumentare la potenza e a perfezionare la funzione di valutazione, sarebbe possibile creare un software dalle capacità previsionali imbattibili se applicate a sistemi chiusi come scacchi e go. Giocare contro un computer del genere avrebbe lo stesso senso di sfidare a sollevamento pesi un carroponte.

La legge di Moore è storia passata?

Ma allo stato attuale l’evoluzione dei computer non è una faccenda così semplice. Siamo usciti dalla rassicurante prevedibilità della legge di Moore.

Già, la legge di Moore. La teoria del cofondatore dell’Intel datata 1965 sanciva che il numero di transistor nei processori sarebbe raddoppiato ogni 18 mesi.

Forse non tutti sanno che a partire dagli anni ’90 l’industria dei semiconduttori ha stilato roadmap biennali che prescrivessero a produttori e distributori i comportamenti necessari per rispettarla, creando una profezia che si autoavvera.

Roadmap che non hanno potuto evitare di scontrarsi con i limiti fisici delle dimensioni dei processori, che sotto una certa soglia iniziano ad accusare effetti indesiderati di natura quantistica.

Così, per preservare la validità della legge fin dai primi anni del nuovo millennio è stato necessario raddoppiare e poi quadruplicare il numero di processori, senza risolvere il problema – se tale può essere considerato – alla radice. Insomma iniziò ad essere evidente che non era più possibile mantenere lo stesso ritmo.

Nonostante tutto, continuando a perfezionare la tecnica oggi siamo arrivati a produrre microprocessori con componenti delle dimensioni di 14 nanometri. Entro quattro anni si dovrebbe arrivare a 2-3 nanometri – più o meno lo spessore di dieci atomi. Un limite oltre il quale il comportamento negli elettroni è governato appunto dall’improbabilità quantistica, rendendo i transistor inaffidabili.

Che fare allora?

Il progresso non è finito. Anzi, tutto si farà più interessante con la varietà di strade che ci si aprono davanti. Prima si cercherà di ottimizzare i software, poi per l’hardware si punterà ai computer quantistici e a quelli neuromorfici. Allora ci si potrebbe incamminare a grandi passi verso la singolarità.

Singolarità e self-improvement informatico

Immaginate che un’intelligenza artificiale possa imparare a migliorare se stessa ri-progettandosi. Ogni nuova versione di sé sarebbe in grado di svilupparne una nuova più potente. Si verrebbe a creare un circolo virtuoso di perfezionamento costante che segnerebbe un’impennata evolutiva nelle generazioni dei computer. Un evento comunemente definito singolarità tecnologica.

Da alcuni è considerato un mito, da altri è visto come l’alba idilliaca di una nuova epoca di scoperte e innovazioni.

Un sostenitore della teoria della singolarità è l’informatico Raymond Kurzweil, il quale ha affermanto nella Legge dei ritorni accelerati che il progresso dei processi evolutivi aumenta esponenzialmente. Ha anche osservato che, data la rapidità con cui si susseguono i cambiamenti, sia impossibile prevedere il futuro, neanche alla distanza – relativamente vicina – di 10 anni.

Quel che è chiaro è che il potenziale di queste tecnologie è grande e che le IA potrebbero evolvere molto rapidamente grazie alle reti neurali. Microsoft ha già costruito un computer che ne usa 152.

Nel paper Singularity: a philosophical analysis il filosofo David Chalmers sostiene che per tutelare l’incolumità dell’uomo sarebbe bene che le intelligenze artificiali fossero testate in un mondo virtuale prima di permettere loro di intervenire sul mondo reale. La stessa preoccupazione ha spinto Stephen Hawking l’anno scorso a scrivere una lettera aperta per chiedere di bloccare la corsa allo sviluppo di intelligenze artificiali per l’industria militare. Un pericolo più grande delle armi atomiche, secondo lo scienziato.

Data l’abilità che hanno dimostrato nel vincere a scacchi e go, due giochi in cui l’obiettivo è annientare l’avversario distruggendo le sue pedine e conquistando più territorio possibile, ci sembra una proposta più che sensata.

A proposito di intelligenza artificiale ti può interessare: Per un’etica dell’AI

A proposito di machine learning ti può interessare: Machine learning e business intelligence