L’anno scorso AlphaGo di Google DeepMind ha preso d’assalto il mondo dell’intelligenza artificiale (IA), dimostrando che un programma per computer poteva battere i migliori giocatori umani di Go del mondo.
Ma a dimostrazione del ritmo febbrile del progresso dell’IA moderna, i dettagli di un nuovo traguardo raggiunto da una versione migliorata chiamata AlphaGo Zero sono stati pubblicati questa settimana su Nature.
Utilizzando meno potenza di calcolo e solo tre giorni di allenamento, AlphaGo Zero ha battuto l’originale AlphaGo in una partita di 100 partite per 100 a 0. Non è valsa nemmeno la pena di presentarsi.
Imparare a giocare a Go
Go è un gioco di strategia tra due giocatori che a turno piazzano “pietre” su una tavola 19×19. L’obiettivo è quello di circondare un’area del tabellone più grande di quella dell’avversario.
Go si è dimostrato molto più impegnativo degli scacchi per i computer. Ci sono molte più mosse possibili in ogni posizione in Go rispetto agli scacchi, e molte più partite possibili.
L’originale AlphaGo ha prima imparato studiando 30 milioni di mosse di gioco umano esperto. Ha poi migliorato oltre l’esperienza umana giocando molte partite contro se stesso, impiegando diversi mesi di tempo del computer.
Al contrario, AlphaGo Zero non ha mai visto giocare gli umani. Invece, ha iniziato conoscendo solo le regole del gioco. Da un relativamente modesto numero di cinque milioni di partite auto-giocate, impiegando solo tre giorni su un computer più piccolo dell’AlphaGo originale, ha poi imparato le prestazioni di super-AlphaGo.
Interessante, il suo apprendimento ha approssimativamente imitato alcune delle fasi attraverso le quali gli umani progrediscono nel padroneggiare il Go. AlphaGo Zero ha rapidamente imparato a rifiutare obiettivi ingenuamente a breve termine e ha sviluppato un pensiero più strategico, generando molti dei modelli di mosse spesso utilizzati dagli esperti umani di alto livello.
Ma soprattutto ha iniziato a rifiutare alcuni di questi schemi a favore di nuove strategie mai viste prima nel gioco umano.
Oltre il gioco umano
AlphaGo Zero ha raggiunto questa impresa approcciando il problema in modo diverso dall’AlphaGo originale. Entrambe le versioni utilizzano una combinazione di due dei più potenti algoritmi che attualmente alimentano l’IA: l’apprendimento profondo e il reinforcement learning.
Per giocare un gioco come Go, ci sono due cose fondamentali che il programma deve imparare. La prima è una politica: la probabilità di fare ciascuna delle mosse possibili in una data posizione. La seconda è un valore: la probabilità di vincere da una data posizione.
Nel puro approccio di apprendimento per rinforzo di AlphaGo Zero, l’unica informazione disponibile per imparare le politiche e i valori era quella di prevedere chi avrebbe potuto vincere alla fine. Per fare questa previsione ha usato la sua politica e i suoi valori attuali, ma all’inizio questi erano casuali.
Questo è chiaramente un approccio più impegnativo dell’originale AlphaGo, che usava mosse umane esperte per ottenere un vantaggio sull’apprendimento. Ma la versione precedente imparava politiche e valori con reti neurali separate.
La svolta algoritmica in AlphaGo Zero è stata quella di capire come queste potessero essere combinate in una sola rete. Questo ha permesso di semplificare notevolmente il processo di addestramento per auto-gioco, e ha reso fattibile partire da una tabula rasa piuttosto che imparare prima ciò che gli umani esperti avrebbero fatto.
Un punteggio Elo è una misura ampiamente utilizzata delle prestazioni dei giocatori in giochi come il Go e gli scacchi. Il miglior giocatore umano finora, Ke Jie, ha attualmente un punteggio Elo di circa 3.700.
AlphaGo Zero si è allenato per tre giorni e ha raggiunto un punteggio Elo di oltre 4.000, mentre una versione estesa dello stesso algoritmo si è allenata per 40 giorni e ha raggiunto quasi 5.200.
Questo è un passo avanti incredibilmente grande rispetto al migliore umano – molto più grande dell’attuale divario tra il miglior giocatore di scacchi umano Magnus Carlsen (circa 2.800) e il programma di scacchi (circa 3.400).
La prossima sfida
AlphaGo Zero è un importante passo avanti per l’IA perché dimostra la fattibilità del puro apprendimento per rinforzo, non corrotto da alcuna guida umana. Questo rimuove la necessità di una grande conoscenza umana esperta per iniziare, che in alcuni domini può essere difficile da ottenere.
Significa anche che l’algoritmo è libero di sviluppare approcci completamente nuovi che avrebbero potuto essere molto più difficili da trovare se fosse stato inizialmente costretto a “pensare dentro la scatola umana”. Sorprendentemente, questa strategia si rivela anche più efficiente dal punto di vista computazionale.
Ma Go è un gioco strettamente vincolato di informazioni perfette, senza la confusione della maggior parte dei problemi del mondo reale. L’addestramento di AlphaGo Zero ha richiesto la simulazione accurata di milioni di partite, seguendo le regole di Go.
Per molti problemi pratici tali simulazioni sono computazionalmente non fattibili, o le regole stesse sono meno chiare.
Ci sono ancora molti altri problemi da risolvere per creare un’IA di tipo generale, che possa affrontare una vasta gamma di problemi pratici senza l’intervento umano specifico del dominio.
Ma anche se gli umani hanno ormai completamente perso la battaglia con gli algoritmi di Go, fortunatamente l’IA (a differenza del Go) non è un gioco a somma zero. Molte delle partite di AlphaGo Zero sono state pubblicate, fornendo una vita di studio ispiratore per i giocatori umani di Go.
Più importante, AlphaGo Zero rappresenta un passo verso un mondo in cui gli umani possono sfruttare le IA potenti per aiutare a trovare soluzioni inimmaginabili (per gli umani) e creative a problemi difficili. Nel mondo dell’IA, non c’è mai stato un momento migliore per Go.