AlphaGo (e altri programmi di gioco che usano il rinforzo-apprendimento) senza database umano


13

Non sono uno specialista in materia e la mia domanda è probabilmente molto ingenua. Deriva da un saggio per comprendere i poteri e le limitazioni dell'apprendimento per rinforzo come usato nel programma AlphaGo.

Il programma AlphaGo è stato realizzato utilizzando, tra le altre cose (esplorazione degli alberi di Monte-Carlo, ecc.) Reti neurali che sono addestrate da un enorme database di giochi go giocati dall'uomo, e che sono poi rafforzate lasciando entrare versioni del programma contro se stesso molte volte.

Ora mi chiedo cosa succederebbe se avessimo provato a costruire un programma del genere senza database umano, ovvero iniziando con un programma base di Go solo conoscendo le regole e alcuni metodi per esplorare gli alberi e lasciando che giocasse contro se stesso per migliorare la sua rete neurale. Riusciremo, dopo molte partite contro se stesso, a un programma in grado di competere con o battere i migliori giocatori umani? E se sì, quanti giochi (in ordine di grandezza) sarebbero necessari per questo? O al contrario, un tale programma converge verso un giocatore molto più debole?

Presumo che l'esperimento non sia stato effettuato, poiché AlphaGo è così recente. Tuttavia, la risposta può essere ovvia per uno specialista. Altrimenti qualsiasi ipotesi istruita mi interesserà.

Si può anche porre la stessa domanda per i giochi "più semplici". Se usassimo all'incirca le stesse tecniche di apprendimento del rinforzo utilizzate per AlphaGo, ma senza l'uso del database umano, per un programma di scacchi, alla fine avremmo un programma in grado di battere il miglior essere umano? E se è così, quanto velocemente? Questo è stato provato? O se non fosse per gli scacchi, che dire di Dama o anche di giochi più semplici?

Molte grazie.

Risposte:


10

Non sono un esperto ma sembra che AlphaGo Zero risponda alla tua domanda. https://deepmind.com/blog/alphago-zero-learning-scratch/

Le versioni precedenti di AlphaGo inizialmente si erano allenate su migliaia di giochi umani amatoriali e professionali per imparare a giocare a Go. AlphaGo Zero salta questo passaggio e impara a giocare semplicemente giocando contro se stesso, a partire da un gioco completamente casuale. In tal modo, ha rapidamente superato il livello di gioco umano e ha sconfitto la versione di AlphaGo che ha battuto il campione precedentemente pubblicato di 100 partite a 0.


È più recente?
Kosmos,

1
Questo è stato pubblicato il 18 ottobre 2017.
ncasas,

Sarebbe interessante conoscere i risultati contro gli umani. Perché uno dei motivi del database umano pre-addestrato è quello di perfezionare l'algoritmo MCTS contro gli avversari umani . AlphaGo originale è stato ottimizzato per giocare contro gli umani, non con altri ML. Pertanto, è più difficile stabilire se AlphaGo Zero sia strettamente "migliore" dell'originale AlphaGo o se semplicemente lo domini in senso teorico di gioco - ad esempio AlphaGo Zero batte AlphaGo batte Lee Sedol batte AlphaGo Zero. . .
Neil Slater,

4
Neil, Sì, questo sarebbe interessante. Ma non scommetterei un centesimo delle possibilità umane contro Alpha Go zero.
Joël,

1
Q

9

La stessa domanda è stata posta all'autore del documento AlphaGo e la sua risposta è stata che non sappiamo cosa accadrebbe se AlphaGo imparasse da zero (non l'hanno testato).

Tuttavia, data la complessità del gioco, sarebbe difficile addestrare un algoritmo da zero senza una conoscenza preliminare. Pertanto, è ragionevole all'inizio iniziare a costruire un tale sistema aggiornandolo a un livello Master usando le conoscenze acquisite dagli umani.

Vale la pena notare che, sebbene le mosse umane distorcano la selezione dell'azione sui nodi dell'albero (stati), questo precedente ha un fattore di decadimento. Ciò significa che un aumento delle visite a uno stato specifico riduce la forza del precedente per incoraggiare l'esplorazione dell'algoritmo.

L'attuale livello di Padronanza di AlphaGo non è noto quanto sia vicino o lontano il modo di giocare di un essere umano (nel torneo ha fatto una mossa che un umano aveva probabilità quasi nulle di eseguire! - ma ha fatto anche alcune mosse davvero cattive) . Probabilmente rimane la risposta a tutte queste domande implementando effettivamente i corrispondenti algoritmi di test.

Devo modificare la mia risposta poiché il recente documento di DeepMind risponde alla tua domanda. Ci sono stati molti progressi emersi dall'intera esperienza precedente con la prima versione di AlphaGo e vale davvero la pena leggerlo.


Prego :)
Constantinos,

8

Per quanto ho capito l'algoritmo di AlphaGo, si basa su un semplice framework di apprendimento di rinforzo (RL), usando la ricerca dell'albero di Monte-Carlo per selezionare le azioni migliori. Inoltre, gli stati e le azioni coperte dall'algoritmo RL non sono semplicemente l'intera configurazione possibile del gioco (Go ha un'enorme complessità) ma si basano su una rete politica e una rete di valori, apprese da giochi reali e quindi migliorato giocando AlphaGo vs AlphaGo.

Quindi potremmo chiederci se l'allenamento da giochi reali è solo una scorciatoia per risparmiare tempo o un'opzione necessaria per ottenere tale efficienza. Immagino che nessuno conosca davvero la risposta, ma potremmo affermare alcune ipotesi. Innanzitutto, la capacità umana di promuovere buone mosse è dovuta a un'intelligenza molto più complessa di una semplice rete neurale. Per i giochi da tavolo, è un mix tra memoria, esperienza, logica e sentimenti. In questa direzione, non sono sicuro che l'algoritmo AlphaGo possa costruire un modello del genere senza esplorare esplicitamente un'enorme percentuale dell'intera configurazione del gioco Go (che è praticamente impossibile). Le ricerche attuali si concentrano sulla costruzione di una rappresentazione più complessa di tale gioco, come RL relazionale o apprendimento della logica induttiva. Quindi, per giochi più semplici (potrebbe essere il caso degli scacchi ma niente di sicuro),

Tuttavia è solo un'opinione. Ma sono abbastanza sicuro che la chiave per rispondere alla tua domanda risieda nell'approccio RL che al giorno d'oggi è ancora abbastanza semplice in termini di conoscenza. Non siamo davvero in grado di identificare ciò che ci rende in grado di gestire questi giochi, e il modo migliore che abbiamo ancora trovato per sconfiggere l'umano è imparare approssimativamente da lui e migliorare (un po ') il modello appreso con calcoli enormi.


1

L'auto-gioco competitivo senza database umano è persino possibile per ambienti complicati, parzialmente osservati. OpenAI si sta concentrando su questa direzione. Secondo questo articolo :

L'auto-gioco garantisce che l'ambiente sia sempre la giusta difficoltà per migliorare un'IA.

Questa è una ragione importante per il successo del gioco personale.

OpenAI ha ottenuto risultati sovrumani per Dota 2 1v1, l'11 agosto 2017 ha battuto Dendi 2-0 secondo le regole del torneo standard.

Il bot ha imparato da zero il gioco da solo e non utilizza l'apprendimento dell'imitazione o la ricerca dell'albero. Questo è un passo verso la costruzione di sistemi di intelligenza artificiale che raggiungono obiettivi ben definiti in situazioni complicate e disordinate che coinvolgono esseri umani reali.

Non solo giochi, questa direzione è anche promettente per le attività di robotica.

Abbiamo scoperto che l'auto-gioco consente agli IA simulati di scoprire abilità fisiche come affrontare, anatra, simulare, calciare, prendere e tuffarsi per la palla, senza progettare esplicitamente un ambiente con queste abilità in mente.

Nel passaggio successivo, estendono il metodo per imparare a cooperare, competere e comunicare , non solo limitarsi all'auto-gioco.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.