La creazione di un degno avversario

Andrea Baresi
Apprendimento Automatico
5 min readJan 30, 2016
Lo snodarsi di un percorso nel grafo di AlphaGo

Di recente si è parlato molto di macchine intelligenti. Lo scorso dicembre ha suscitato parecchio clamore la nascita di un laboratorio non-profit sul deep learning sostenuto, con un investimento multimiliardario, da Elon Musk e altri magnati statunitensi. In questi giorni —proprio nella settimana in cui è scomparso a 88 anni il pioniere dell’intelligenza artificiale (AI, artificial intelligence) Marvin Minsky — è invece arrivato il primo grande successo di Google DeepMind nel solving del plurimillenario gioco del Go, ritenuto il più difficile da affrontare tra quelli classici. Queste notizie hanno portato sui quotidiani storie di inarrestabili ricerche finalizzate alla creazione di macchine che affiancheranno l’uomo in compiti sempre più difficili, per aiutarlo. Macchine che molto probabilmente arriveranno al punto di poter competere con, e superare, la specie creatrice su molti aspetti rilevanti —pensate, per esempio, alle auto che si guidano da sole.

Per rilassarci un po’ e non pensare a prospettive distopiche — a la Skynet — parliamo di macchine che giocano contro avversari umani. Subito ci vengono in mente le prodezze scacchistiche di DeepBlue, oppure lo sfoggio di una raffinata e precisa cultura generale di Watson (ancora oggi cavallo di battaglia dell’AI di IBM) nella sfida contro i campioni di Jeopardy! Ma non ci siamo fermati qui, perché qualche giorno fa la versione distribuita di AlphaGo di DeepMind ha battuto Fan Hui, il campione di Go europeo, per 5 giochi a 0. Nel mondo del Go è stata la prima vittoria di un programma contro un giocatore professionista, senza handicap, su un goban standard (19x19).

Quanto accaduto, per ricercatori e ingegneri nell’ambito del machine learning, è un successo davvero rilevante. Queste tecnologie, in grado di affrontare e risolvere con successo problemi prima considerati impossibili, stanno diventando sempre più popolari.

popolarità di ‘machine learning’ (blu) e ‘deep learning’ (rosso)

Lo spazio di ricerca delle mosse legali nel Go è vasto. E’ estremamente più grande di quello degli scacchi, di un numero che si stima sia molto maggiore di quello degli atomi presenti nell’universo.

Nel caso di un gioco come il Go, risolverlo significa creare un programma in grado di battere sistematicamente un avversario umano, adesso questo programma (quasi certamente) esiste. Esso effettua i suoi “ragionamenti” attraverso una tecnologia — le reti neurali — che fino a non molti anni fa veniva irrisa, perché considerata troppo inefficiente, da buona parte dei ricercatori (vi rimando a questo articolo sulla nascita del deep learning per approfondire). AlphaGo arriva dal laboratorio londinese DeepMind recentemente acquisito da Google, specializzato nelle reti neurali deep per il reinforcement learning. Per la sfida contro Fan Hui è stata usata una versione distribuita del programma, che ha girato su 1202 CPU e 176 GPU (i chip principali delle schede video) sia per il training che per la partita.

Di deep reinforcement learning ne abbiamo già sentito parlare negli ultimi anni. Volodymyr Mnih e il gruppo (che comprende David Silver) di ricercatori e ingegneri di DeepMind, nel 2013 hanno sviluppato un agente chiamato deep Q-network (DQN) che combina un algoritmo classico di reinforcement learning con una rete neurale convoluzionale, una ConvNet deep per l’elaborazione di immagini. Nelle applicazioni che DeepMind ci ha mostrato, l’input è rappresentato da sequenze di frame di videogiochi, mentre l’output consiste nei movimenti di un joystick virtuale in un sistema Atari 2600 (per esempio quello in questo popolare filmato). I movimenti e le decisioni, attraverso un modello adattivo ispirato alla psicologia comportamentale fatto di esplorazioni e ricompense, migliorano continuamente fino ad arrivare a un livello super-umano. In questo caso stiamo parlando di videogiochi “essenziali”, quindi il contesto è ultra-semplificato, comunque i risultati ottenuti sono davvero sorprendenti.

Per affrontare il gioco del Go invece è stato seguito un approccio ibrido innovativo, combinando le tecniche più tradizionali di supervised learning (così è chiamato l’apprendimento automatico attraverso esempi) per il training con sessioni storiche di gioco di esperti, con il reinforcement learning attraverso partite simulate. Non vado oltre con i dettagli tecnici — in verità mi ero già fermato — gli interessati possono approfondire l’argomento leggendo il nuovo paper su AlphaGo di David Silver (et al.) pubblicato sulla rivista Nature. Lì si trovano riferimenti alle diverse tecniche e agli algoritmi usati (per esempio l’ormai assodato Monte Carlo tree search) e all’ingegnosa struttura del modello, composto da due reti neurali deep (policy network e value network) per la selezione e la valutazione delle mosse. Il sistema fa in modo che AlphaGo alla fine dell’elaborazione scelga ogni volta la mossa successiva che nelle simulazioni risulta migliore.

Ma torniamo al “nostro” goban

Go resta un gioco ostico per le macchine, AlphaGo ha però una serie di vantaggi rispetto agli avversari a base carbonio. Gli esseri umani hanno parecchie debolezze. Si stancano dopo un po’ di tempo. Inoltre anche i migliori professionisti in un certo ambito possono commettere gravi errori, spesso legati a questioni di precisione e attenzione, che commettono proprio perché essi non sono macchine. Le macchine invece non hanno di questi problemi, soprattutto quelle che non hanno bisogno di essere programmate in modo tradizionale.

Il limite più grande degli umani in questo gioco è legato al numero di esempi di partite che sono in grado di “processare”; quante partite di Go può giocare un essere umano nella sua intera esistenza? AlphaGo può processare milioni di partite in una sola giornata, apprendendo qualcosa da ognuno di questi esempi. Il Go per un umano è un gioco molto intuitivo. Spesso anche giocatori esperti effettuano mosse senza attuare un particolare ragionamento, e senza essere in grado di spiegare precisamente il motivo di certe scelte. Le prossime sfide del team di DeepMind suonano come uno scontro tra l’intuizione umana e una sorta di intuizione artificiale, fondata sulla precisione computazionale unita al rigore statistico delle macchine create dall’uomo stesso.

In marzo si apprestano a incontrare in Seul il più grande giocatore del mondo Lee Sedol (9 dan), che ha accettato la sfida con AlphaGo. Al gruppo di Demis Hassabis restano meno di due mesi per migliorare e addestrare un campione.

Probabilmente scommetterei i miei soldi sull’umano, ma non ne scommetterei mica tanti su di lui..

--

--