211service.com
Deep Learning Machine impara da sé gli scacchi in 72 ore, gioca a livello internazionale di master
Sono passati quasi 20 anni da quando il supercomputer Deep Blue di IBM ha battuto per la prima volta il campione del mondo in carica di scacchi, Garry Kasparov, secondo le regole standard dei tornei. Da allora, i computer per giocare a scacchi sono diventati significativamente più potenti, lasciando poche possibilità ai migliori umani anche contro un moderno motore di scacchi in esecuzione su uno smartphone.
Ma mentre i computer sono diventati più veloci, il modo in cui funzionano i motori degli scacchi non è cambiato. Il loro potere si basa sulla forza bruta, il processo di ricerca attraverso tutte le possibili mosse future per trovare la migliore prossima mossa.
Naturalmente, nessun essere umano può eguagliarlo o avvicinarsi. Mentre Deep Blue cercava circa 200 milioni di posizioni al secondo, Kasparov probabilmente non ne cercava più di cinque al secondo. Eppure ha giocato essenzialmente allo stesso livello. Chiaramente, gli esseri umani hanno un asso nella manica che i computer devono ancora padroneggiare.
Questo trucco sta nel valutare le posizioni degli scacchi e nel restringere le vie di ricerca più redditizie. Ciò semplifica notevolmente il compito di calcolo perché pota l'albero di tutte le possibili mosse a pochi rami.
I computer non sono mai stati bravi in questo, ma oggi le cose cambiano grazie al lavoro di Matthew Lai all'Imperial College di Londra. Lai ha creato una macchina di intelligenza artificiale chiamata Giraffe che ha imparato da sola a giocare a scacchi valutando posizioni molto più simili agli umani e in un modo completamente diverso dai tradizionali motori di scacchi.
Immediatamente fuori dagli schemi, la nuova macchina funziona allo stesso livello dei migliori motori per scacchi convenzionali, molti dei quali sono stati perfezionati nel corso di molti anni. A livello umano, equivale allo status di FIDE International Master, collocandolo nel 2,2% dei migliori giocatori di scacchi da torneo.
La tecnologia alla base della nuova macchina di Lai è una rete neurale. Questo è un modo di elaborare le informazioni ispirate al cervello umano. È costituito da diversi livelli di nodi collegati in un modo che cambia man mano che il sistema viene addestrato. Questo processo di formazione utilizza molti esempi per mettere a punto le connessioni in modo che la rete produca un output specifico dato un determinato input, ad esempio per riconoscere la presenza di un volto in un'immagine.
Negli ultimi anni, le reti neurali sono diventate estremamente potenti grazie a due progressi. Il primo è una migliore comprensione di come mettere a punto queste reti man mano che imparano, grazie in parte a computer molto più veloci. Il secondo è la disponibilità di enormi set di dati annotati per addestrare le reti.
Ciò ha consentito agli informatici di addestrare reti molto più grandi organizzate in molti livelli. Queste cosiddette reti neurali profonde sono diventate estremamente potenti e ora superano regolarmente gli esseri umani nelle attività di riconoscimento di schemi come il riconoscimento facciale e il riconoscimento della grafia.
Quindi non sorprende che le reti neurali profonde dovrebbero essere in grado di individuare schemi negli scacchi e questo è esattamente l'approccio adottato da Lai. La sua rete è composta da quattro livelli che insieme esaminano ogni posizione sul tabellone in tre modi diversi.
Il primo esamina lo stato globale del gioco, come il numero e il tipo di pezzi su ogni lato, quale lato deve muovere, i diritti di arrocco e così via. Il secondo esamina le caratteristiche incentrate sul pezzo come la posizione di ogni pezzo su ciascun lato, mentre l'aspetto finale è mappare le caselle che ogni pezzo attacca e difende.
Lai allena la sua rete con un set di dati generato con cura e tratti da partite di scacchi reali. Questo set di dati deve avere la corretta distribuzione delle posizioni. Ad esempio, non ha senso allenare il sistema su posizioni con tre regine per lato, perché quelle posizioni non vengono praticamente mai visualizzate nelle partite reali, dice.
Deve anche avere un'ampia varietà di posizioni disuguali oltre a quelle che di solito si verificano nelle partite di scacchi di alto livello. Questo perché sebbene posizioni diseguali si presentino raramente nelle partite di scacchi reali, affiorano continuamente nelle ricerche che il computer esegue internamente.
E questo set di dati deve essere enorme. L'enorme numero di connessioni all'interno di una rete neurale deve essere messo a punto durante l'addestramento e questo può essere fatto solo con un vasto set di dati. Utilizzare un set di dati troppo piccolo e la rete può stabilizzarsi in uno stato che non riesce a riconoscere l'ampia varietà di modelli che si verificano nel mondo reale.
Lai ha generato il suo set di dati scegliendo casualmente cinque milioni di posizioni da un database di partite di scacchi per computer. Ha quindi creato una maggiore varietà aggiungendo una mossa legale casuale a ciascuna posizione prima di usarla per l'allenamento. In totale ha generato 175 milioni di posizioni in questo modo.
Il modo usuale per addestrare queste macchine è valutare manualmente ogni posizione e usare queste informazioni per insegnare alla macchina a riconoscere quelle che sono forti e quelle che sono deboli.
Ma questo è un compito enorme per 175 milioni di posizioni. Potrebbe essere fatto da un altro motore di scacchi, ma l'obiettivo di Lai era più ambizioso. Voleva che la macchina imparasse da sola.
Invece, ha utilizzato una tecnica di bootstrapping in cui Giraffe ha giocato contro se stessa con l'obiettivo di migliorare la propria previsione della propria valutazione di una posizione futura. Funziona perché ci sono punti di riferimento fissi che alla fine determinano il valore di una posizione, indipendentemente dal fatto che la partita venga successivamente vinta, persa o pareggiata.
In questo modo il computer impara quali posizioni sono forti e quali deboli.
Dopo aver addestrato Giraffe, il passaggio finale è testarlo e qui i risultati costituiscono una lettura interessante. Lai ha testato la sua macchina su un database standard chiamato Strategic Test Suite, che consiste in 1.500 posizioni scelte per testare la capacità di un motore di riconoscere diverse idee strategiche. Ad esempio, un tema mette alla prova la comprensione del controllo dei file aperti, un altro mette alla prova la comprensione di come i valori dell'alfiere e del cavallo cambiano l'uno rispetto all'altro in situazioni diverse e un altro ancora mette alla prova la comprensione del controllo centrale, dice.
I risultati di questo test sono valutati su 15.000.
Lai lo usa per testare la macchina in varie fasi durante il suo addestramento. All'inizio del processo di bootstrap, Giraffe raggiunge rapidamente un punteggio di 6.000 e alla fine raggiunge un picco di 9.700 dopo sole 72 ore. Lai dice che corrisponde ai migliori motori di scacchi del mondo.
[Ciò] è notevole perché le loro funzioni di valutazione sono tutte colossi progettati con cura a mano con centinaia di parametri che sono stati regolati sia manualmente che automaticamente nel corso di diversi anni, e molti di essi sono stati elaborati da grandi maestri umani, aggiunge.
Lai continua a utilizzare lo stesso tipo di approccio di apprendimento automatico per determinare la probabilità che valga la pena perseguire una determinata mossa. Questo è importante perché impedisce ricerche non necessarie su rami non redditizi dell'albero e migliora notevolmente l'efficienza computazionale.
Lai afferma che questo approccio probabilistico prevede la mossa migliore il 46% delle volte e colloca la mossa migliore tra le prime tre posizioni, il 70% delle volte. Quindi il computer non deve preoccuparsi delle altre mosse.
Questo è un lavoro interessante che rappresenta un grande cambiamento nel modo in cui funzionano i motori degli scacchi. Non è perfetto, ovviamente. Uno svantaggio di Giraffe è che le reti neurali sono molto più lente di altri tipi di elaborazione dati. Lai afferma che Giraffe impiega circa 10 volte più tempo di un motore di scacchi convenzionale per cercare lo stesso numero di posizioni.
Ma anche con questo svantaggio, è competitivo. Giraffe è in grado di giocare al livello di un FIDE International Master su un moderno PC mainstream, afferma Lai. In confronto, i motori di punta giocano a livello di Super-Grandmaster.
È ancora impressionante. A differenza della maggior parte dei motori scacchistici esistenti oggi, Giraffe trae la sua forza di gioco non dall'essere in grado di vedere molto lontano, ma dall'essere in grado di valutare accuratamente posizioni difficili e comprendere concetti posizionali complicati che sono intuitivi per l'uomo, ma sono stati sfuggenti agli scacchi motori per molto tempo, dice Lai. Questo è particolarmente importante nelle fasi di apertura e di fine partita, dove gioca eccezionalmente bene.
E questo è solo l'inizio. Lai dice che dovrebbe essere semplice applicare lo stesso approccio ad altri giochi. Uno che spicca è il tradizionale gioco cinese di Go, in cui gli umani hanno ancora un vantaggio impressionante sui loro concorrenti di silicio. Forse Lai potrebbe avere una possibilità dopo.
Rif: arxiv.org/abs/1509.01549 : Giraffa: Utilizzo del rinforzo profondo per imparare a giocare a scacchi