AlphaGo contro Lee Sedol

Da Wikipedia, l'enciclopedia libera.
Vai alla navigazione Vai alla ricerca
Partita 1, la mossa 102 di AlphaGo (bianco),
che ha obbligato Lee Sedol a riflettere per 10 minuti

AlphaGo contro Lee Sedol (nome ufficiale: Google DeepMind Challenge Match) è stato un incontro di Go su cinque partite (giocate senza handicap, con un normale tempo di riflessione da competizione) disputato tra Lee Sedol, un giocatore professionista sudcoreano considerato il migliore a livello mondiale a metà degli anni 2000, e AlphaGo, programma per giocare a Go di Google DeepMind, disputato a Seul, Corea del Sud, tra il 9 e il 15 marzo 2016. AlphaGo ha vinto l'incontro per 4-1,[1] (tutte le partite sono state vinte per abbandono);[2] questa partita vede la prima vittoria di un programma contro un grande professionista, ed è stata quindi paragonata con la storica partita di scacchi tra Deep Blue e Garry Kasparov nel 1997.

Durante l'incontro, AlphaGo ha mostrato una creatività e una precisione di lettura e di valutazione che ha sorpreso i migliori professionisti e li ha portati a dichiarare che dovevano ripensare alcune delle loro idee sul go. Lee Sedol, tuttavia, è riuscito in Gara 4 a scoprire una debolezza nel gioco di AlphaGo, assicurandosi così una vittoria che ha detto «impagabile».

La partita è stata seguita, soprattutto in Asia, da diverse centinaia di milioni di spettatori, suscitando un rinnovato interesse per il go. Ha anche provocato molte reazioni da parte degli specialisti di intelligenza artificiale che hanno salutato un significativo progresso nelle tecniche di apprendimento automatico.

Dopo la partita, la Hanguk Kiwon (la Federazione coreana di Go) ha assegnato ad AlphaGo il titolo onorifico di 9 dan (professionista) - il grado più alto esistente - in riconoscimento del livello di eccellenza raggiunto dal programma.[3] Questo incontro è stato scelto da Science come uno dei finalisti del Breakthrough of the Year il 22 dicembre 2016.[4]

Antefatti[modifica | modifica wikitesto]

Una sfida difficile nell'intelligenza artificiale[modifica | modifica wikitesto]

Il Go è un gioco di strategia astratto, a informazione completa e privo di elementi aleatori e movimenti simultanei, della stessa tipologia di scacchi e dama. I due avversari cercano di controllare la maggiore area possibile di una griglia regolare, il «goban», delimitando i propri territori attraverso delle pedine dette «pietre» che dispongono alternatamente, nere e bianche.[5]

Nonostante le sue semplici regole, è un gioco da tavolo complesso che richiede, oltre a calcoli precisi, intuizione e pensiero creativo e strategico.[6] È stato a lungo considerato una sfida difficile nel campo dell'intelligenza artificiale (IA),[7][Note 1] in quanto richiede di imitare aspetti del pensiero umano più complessi che per gli scacchi.[8] Nel 1965 il matematico I. J. Good scrisse:

(EN)

«Go on a computer? – In order to program a computer to play a reasonable game of Go, rather than merely a legal game – it is necessary to formalise the principles of good strategy, or to design a learning programme. The principles are more qualitative and mysterious than in chess, and depend more on judgment. So I think it will be even more difficult to programme a computer to play a reasonable game of Go than of chess.»

(IT)

«Il Go su un computer? - Per programmare un computer a giocare una partita ragionevole di Go, invece che fare semplicemente delle mosse legali, è necessario formalizzare i principi di una buona strategia o progettare un programma di apprendimento. I principi sono più qualitativi e misteriosi che negli scacchi e dipendono maggiormente dal giudizio. Quindi penso che sarà ancora più difficile programmare un computer per giocare una partita ragionevole di Go che di scacchi.»

( I. J. Good, The Mystery of Go, in New Scientist, 21 gennaio 1965.)

Prima del 2015, i progressi nella realizzazione di un software per giocare a Go ad alto livello erano stati molto lenti,[Note 2] con i migliori programmi che raggiungevano poco più del livello di un dilettante occasionale, intorno agli 8 kyu.[9] Un primo progresso essenziale è stato quindi ottenuto tramite un metodo di simulazione probabilistica, noto con il nome di «metodo Monte Carlo»;[Note 3] regolari miglioramenti avevano portato i migliori programmi del 2015 al livello di un forte dilettante, intorno al 5 dan.[10][11] Tuttavia, prima di AlphaGo, alcuni ricercatori avevano affermato che i computer non avrebbero mai battuto un professionista di alto livello[12] ed Elon Musk, uno dei primi investitori di DeepMind, ha ricordato che nel 2015 gli esperti del settore credevano che il successo contro un professionista richiedesse almeno un altro decennio di sviluppi.[13]

L'incontro di AlphaGo contro Lee Sedol è paragonabile alla partita di scacchi del 1997 tra Deep Blue e Garry Kasparov:[9] segna il punto di svolta simbolico in cui i computer diventano migliori degli umani in una determinata attività.[14][15] Tuttavia, AlphaGo è molto diverso dai precedenti tentativi di usare l'intelligenza artificiale per creare un computer che sapesse giocare a go ad alto livello, in quanto impiega le reti neurali, in cui l'euristica di valutazione non è codificata dagli esseri umani, ma è invece in larga misura appresa dal programma stesso, attraverso le registrazioni di decine di milioni di partite di go oltre alle partite che il programma ha giocato contro sé stesso.[16] Nemmeno gli sviluppatori di AlphaGo sono in grado di spiegare in che modo AlphaGo valuti la situazioni di gioco e scelga la sua prossima mossa. Queste reti guidano una ricerca ad albero Monte Carlo che esplora le mosse future molto in profondità.[9][17]

I risultati simili sono applicati a campi come la scienza cognitiva, il riconoscimento di pattern e l'apprendimento automatico.[18]

AlphaGo contro Fan Hui[modifica | modifica wikitesto]

Fan Hui contro AlphaGo - partita 5

Nell'ottobre 2015, AlphaGo aveva sconfitto 5-0 Fan Hui, 2 dan professionista e tre volte campione europeo: si era trattato della prima volta che un'IA aveva battuto un goista professionista su un goban a grandezza naturale senza handicap.[19][20] Alcuni commentatori avevano sottolineato il divario tra Fan e Lee, che è un 9 dan professionista nonché uno dei giocatori più vittoriosi di sempre, che ha dominato la scena goistica internazionale.[21] I programmi per computer Zen e Crazy Stone avevano precedentemente sconfitto giocatori umani classificati 9 dan professionisti con handicap di quattro o cinque pietre.[22] Lo specialista canadese di intelligenza artificiale Jonathan Schaeffer, commentando la vittoria contro Fan, ha paragonato AlphaGo a un «bambino prodigio» che mancava di esperienza e ha affermato che «la vera impresa sarà quando il programma giocherà contro un giocatore al vertice». Ha poi creduto che Lee avrebbe vinto la partita nel marzo 2016. Hajin Lee, goista professionista e segretario generale dell'International Go Federation, ha commentato di essere «molto eccitata» all'idea che un'IA sfidasse Lee e pensava che i due giocatori avessero le stesse possibilità di vincere.

All'indomani della sua partita contro AlphaGo, Fan Hui ha notato che l'incontro gli aveva insegnato a essere un giocatore migliore e a vedere cose che non aveva visto in precedenza. A marzo 2016, Wired ha riferito che il suo livello era salito 633 a 300 circa a livello mondiale.[23]

Preparazione[modifica | modifica wikitesto]

Gli esperti di Go hanno riscontrato degli errori nel gioco di AlphaGo contro Fan, in particolare relativamente alla mancanza di consapevolezza dell'intero goban. Prima della partita contro Lee, non si sapeva quanto il programma avesse migliorato il suo gioco dall'incontro di ottobre.[21][24] I dati originali per l'addestramento di AlphaGo contenevano inizialmente le partite su internet di goisti amatoriali di alto livello, in seguito AlphaGo si è allenato giocando contro sé stesso per decine di milioni di partite.[25]

Contendenti[modifica | modifica wikitesto]

AlphaGo[modifica | modifica wikitesto]

Logo di AlphaGo

AlphaGo è un programma per computer sviluppato da Google DeepMind per giocare a Go. L'algoritmo di AlphaGo utilizza una combinazione di apprendimento automatico e tecniche di ricerca ad albero, combinate con un addestramento approfondito, sia con partite tra umani sia con partite tra computer. Le reti neurali del sistema sono state inizializzate con le partite tra umani, in modo da addestrare AlphaGo a imitare il gioco umano, cercando di fargli imparare le mosse di giocatori esperti contenute nei registri delle partite storiche, utilizzando una base di dati di partite giocate sul KGS Go Server di circa 30 milioni di mosse da 160.000 partite tra giocatori di livello compreso tra 6 e 9 dan.[26] Una volta raggiunto un certo grado di competenza, è stato ulteriormente addestrato facendolo giocare contro sé stesso un gran numero di partite, utilizzando l'apprendimento per rinforzo per migliorare il suo gioco.[27] Il sistema non utilizza quindi un registro di mosse da giocare. Come ha spiegato uno dei creatori di AlphaGo:

«Anche se abbiamo programmato questa macchina per giocare, non abbiamo idea di quali mosse troverà. Le sue mosse sono un fenomeno emergente dall'addestramento. Creiamo solo i set di dati e gli algoritmi di addestramento. Ma le mosse che ne derivano sono fuori dalle nostre mani e molto meglio di quanto noi, come giocatori di Go, potremmo inventare.»

(Tore Grapael, da (EN) Cade Metz, Google's AI Wins Pivotal Second Game in Match With Go Grandmaster, su Wired, 10 marzo 2016. URL consultato il 3 dicembre 2020.)

Nella partita contro Lee, AlphaGo ha utilizzato all'incirca la stessa potenza di calcolo che aveva nella partita contro Fan Hui,[28] nel corso della quale ha utilizzato 1.202 CPU e 176 GPU. The Economist ha riportato che abbia usato 1.920 CPU e 280 GPU.[29] Google ha anche affermato che le sue Tensor Processing Unit proprietarie sono state utilizzate nella partita contro Lee Sedol.[30]

Lee Sedol[modifica | modifica wikitesto]

Lee Sedol nel 2012

Lee Sedol è un goista di grado 9 dan professionista[31] ed è uno dei giocatori più forti nella storia del Go. Ha iniziato la sua carriera nel 1996, quando è stato promosso 1 dan professionista all'età di 12 anni, e da allora ha vinto 18 titoli mondiali.[32] È un eroe nazionale nella sua nativa Corea del Sud, noto per il suo gioco non convenzionale e creativo.[33] Lee Sedol inizialmente aveva predetto che avrebbe ampiamente sconfitto AlphaGo. Qualche settimana prima della partita ha vinto il titolo di Myungin, uno dei principali titoli coreani.[34]

Partite[modifica | modifica wikitesto]

L'incontro prevedeva cinque partite con un milione di dollari come primo premio,[35] usando regole cinesi con un komi di 7,5 punti.[36] Il limite di tempo di ciascuna partita era pari a due ore per ciascun giocatore, seguito da tre periodi di byo-yomi 60 secondi. Ogni partita è iniziata alle 13:00 KST (04:00 GMT).

La partita è stata giocata al Four Seasons Hotel di Seul, in Corea del Sud ed è stata trasmessa in streaming diretto con il commento di Michael Redmond (professionista di 9 dan) e Chris Garlock.[37] Aja Huang, un membro del team DeepMind e giocatore amatoriale 6-dan di Go, ha avuto il compito di disporre materialmente sul goban le mosse di AlphaGo, che girava attraverso Google Cloud Platform sui server localizzati negli Stati Uniti.[38]

Riepilogo dei risultati[modifica | modifica wikitesto]

Partita Data Nero Bianco Risultato Mosse
1 9 marzo 2016 Lee Sedol AlphaGo Vittoria di Bianco per abbandono 186 Partita 1
2 10 marzo 2016 AlphaGo Lee Sedol Vittoria di Nero per abbandono 211 Partita 2
3 12 marzo 2016 Lee Sedol AlphaGo Vittoria di Bianco per abbandono 176 Partita 3
4 13 marzo 2016 AlphaGo Lee Sedol Vittoria di Bianco per abbandono 180 Partita 4
5 15 marzo 2016 Lee Sedol AlphaGo Vittoria di Bianco per abbandono 280 Partita 5
Risultato: AlphaGo 4 - 1 Lee Sedol
Nota: per la quinta partita, secondo le regole ufficiali, l'assegnazione dei colori sarebbe stata sorteggiata;[39] tuttavia, durante la conferenza stampa che ha fatto seguito alla quarta partita, Lee ha chiesto « [...] dato che ho vinto con il bianco, spero davvero che nella quinta partita possa vincere con il nero, perché vincere con il nero è molto più prezioso».[40] Il responsabile di AlphaGo ha allora accettato che Lee giocasse con il nero.

Partita 1[modifica | modifica wikitesto]

AlphaGo (bianco) ha vinto la prima partita. Lee sembrava avere il controllo per gran parte della partita, ma AlphaGo ha guadagnato il vantaggio negli ultimi 20 minuti e Lee ha abbandonato. Lee ha poi dichiarato di aver commesso un errore critico all'inizio della partita; ha detto che la strategia del computer nella prima parte del gioco era «eccellente» e che l'IA aveva fatto una mossa insolita che nessun giocatore umano di Go avrebbe fatto.[41]

David Ormerod, commentando la partita su Go Game Guru, ha descritto la mossa numero 7 di Lee come «una strana mossa per testare la forza di AlphaGo nelle aperture», giudicando questa mossa un errore e la risposta di AlphaGo come «accurata ed efficiente». Ha descritto la posizione di AlphaGo come favorevole nella prima parte del gioco, considerando che Lee ha iniziato a recuperare con la mossa 81, prima di fare due mosse «discutibili» (119 e 123), seguite da una mossa «perdente», 129.[42]

Il goista professionista Cho Hanseung ha commentato che il gioco di AlphaGo era notevolmente migliorato da quando aveva battuto Fan Hui nell'ottobre 2015. Michael Redmond ha descritto il gioco del computer come più aggressivo rispetto a quello contro Fan.[43]

Secondo Kim Seong-ryong 9p, Lee sembrava sbalordito dal forte gioco di AlphaGo alla 102ª pietra;[44] dopo aver visto AlphaGo giocare quella mossa, Lee ha rimuginato sulle proprie opzioni per più di 10 minuti.

Prime 99 mosse. Mossa 7 di Nero (Lee)
è un'apertura insolita. Dalla mossa 81
Nero ha iniziato a recuperare
lo svantaggio iniziale
Mosse 100–186. La mossa 102 di Bianco
ha obbligato Lee a riflettere per 10 minuti.
Le mosse 119 e 123 di Nero
sono state discutibili, mentre la mossa 129
è considerata la mossa fatale di Nero.

Partita 2[modifica | modifica wikitesto]

AlphaGo (nero) ha vinto la seconda partita. Lee ha dichiarato in seguito che «AlphaGo ha giocato una partita quasi perfetta»,[45] «dall'inizio della partita non mi è mai sembrato che ci fosse un momento in cui fossi in vantaggio».[46] Uno dei creatori di AlphaGo, Demis Hassabis, ha affermato che il sistema era fiducioso della vittoria da metà partita, anche se i commentatori professionisti non potevano dire quale giocatore fosse in vantaggio.

Michael Redmond (9p) ha commentato che la mossa 37 di AlphaGo era «creativa» e «unica», e che Lee ha usato un tempo insolitamente lungo per rispondere a tale mossa. An Younggil (8p) ha definito la mossa 37 di AlphaGo «un raro e intrigante colpo alla spalla» ma ha detto che la risposta di Lee era «squisita»; ha affermato che i giocatori si sono scambiati il vantaggio diverse volte prima della fine del gioco, e ha particolarmente lodato le mosse 151, 157 e 159 di AlphaGo, definendole «brillanti».[47]

AlphaGo ha giocato mosse anomale, che i giocatori professionisti hanno descritto come un errore a prima vista ma una strategia deliberata col senno di poi.[48] Come ha spiegato uno dei creatori del sistema, AlphaGo non cerca di massimizzare i suoi punti o il suo margine di vittoria, come fanno normalmente i giocatori umani, ma cerca di massimizzare la sua probabilità di vittoria: se AlphaGo deve scegliere tra uno scenario in cui vincerà di 20 punti con l'80% di probabilità e un altro in cui vincerà di 1 punto e mezzo con il 99% di probabilità, sceglierà quest'ultimo, anche se deve rinunciare a dei punti per riuscirci.[17][49] In particolare, la mossa 167 di AlphaGo sembrava dare a Lee una possibilità di recupero ed è stata descritta come un evidente errore dai commentatori. An Younggil ha dichiarato: «Quindi, quando AlphaGo gioca una mossa apparentemente pacifica, possiamo considerarlo un errore, ma forse dovrebbe essere visto più accuratamente come una dichiarazione di vittoria?».[50]

Prime 99 mosse. La mossa 37 di Nero
è l'insolito «colpo alla spalla» in 5ª linea
di AlphaGo, che pochi giocatori umani avrebbero
mai considerato.
Mosse 100–199