Differenza tra la rete di politiche di AlphaGo e la rete di valori


25

Stavo leggendo un riassunto di alto livello su AlphaGo di Google ( http://googleresearch.blogspot.co.uk/2016/01/alphago-mastering-ancient-game-of-go.html ) e ho trovato i termini "policy network "e" value network ". Ad alto livello, capisco che la rete politica viene utilizzata per suggerire mosse e la rete del valore viene utilizzata per "Ridurre la profondità dell'albero di ricerca [e stimare] il vincitore in ogni posizione al posto della ricerca fino alla fine del gioco ".

Queste due reti mi sembrano ridondanti. Cosa sta facendo la rete delle politiche se non sta usando la rete dei valori per potare le sue politiche? Sembra abbastanza chiaro che la rete di valori sia una rete neurale di apprendimento profondo; la rete politica è solo un'astrazione teorica e non una vera rete neurale? La variabile target per la rete di valori sembra essere win / loss. Esiste una variabile target per la rete politica? Se è così, che cosa è? Cosa sta cercando di ottimizzare la rete politica?

Il pdf completo del documento di Google, pubblicato su Nature, è disponibile qui: https://vk.com/doc-44016343_437229031?dl=56ce06e325d42fbc72


Come nota veloce: la variabile target per la rete politica è una distribuzione di probabilità. Dall'articolo: "Questa rete neurale (la rete del valore) ha un'architettura simile alla rete politica, ma produce una singola previsione invece di una distribuzione di probabilità"
Zimano

3
Se qualcun altro si imbatte in questa vecchia domanda, come me, sarai lieto di sapere che il successore di AlphaGo, "AlphaGo Zero", così come il suo successore "AlphaZero" si sbarazzano della ridondanza solo addestrando UNA rete i cui risultati servire le funzioni sia della rete politica (fornisce una distribuzione di probabilità su possibili mosse) sia della rete di valori (dà probabilità di vincita dato il consiglio). Post di blog qui: deepmind.com/blog/alphago-zero-learning-scratch e il documento è collegato all'interno.
Kevin Wang,

Risposte:


11

In breve ogni rete ha uno scopo diverso come hai detto:

  • La rete di valori è stata utilizzata nei nodi foglia per ridurre la profondità della ricerca dell'albero.
  • La rete politica è stata utilizzata per ridurre l'ampiezza della ricerca da un nodo (guidando verso azioni immediate promettenti).

In generale, è possibile utilizzare i metodi delle funzioni di valore per trovare una politica ottimale o cercare direttamente nello spazio delle politiche per ottimizzare una funzione di politica parametrizzata (ovviamente ci sono pro e contro). È possibile utilizzare approssimatori di funzioni (ad es. Reti profonde) in ciascun caso. Vedo che principalmente sei confuso sulla rete politica, quindi concentro la mia risposta su questo.

La rete politica è stata la prima:

addestrato a fare le mosse che molto probabilmente un essere umano farebbe in uno stato di board (quindi input è uno stato di board e output è un istogramma che mostra la probabilità di ogni azione dato quello stato). La rete può approssimare la funzione di probabilità alla base della mappatura dagli stati alle azioni. È ragionevole pensare di iniziare a costruire la tua politica dai dati disponibili dopo tutto. Dopo l'addestramento supervisionato con mosse di esperti, la rete politica potrebbe giocare a sufficienza (anche se lontano dal livello di un Master). Semplicemente, hai tentato di catturare il modello generale di selezione delle azioni dei giocatori professionisti.

Poi,

è stato addestrato nei giochi con l'avversario stesso, al fine di ottimizzare la politica appresa in precedenza. Questa volta i suoi pesi sono stati aggiornati utilizzando l'algoritmo REINFORCE. In questo modo, aggiorni i parametri netti verso la massimizzazione della ricompensa prevista. Alla fine hai una rete che non solo seleziona le azioni come un giocatore professionista, ma anche verso la vittoria del gioco (tuttavia non può pianificare!).

Dopo questo passaggio, hanno approssimato la funzione di valore di una versione un po 'più rumorosa della politica appresa, mediante regressione (l'input è la scheda di stato e indirizza il risultato del gioco). È possibile utilizzare questa rete per influire sulla valutazione del nodo foglia.

Concettualmente parlando, la rete politica ti dà una probabilità rispetto alle azioni, ma questo non indica che finirai in una buona posizione, per vincere la partita, stato. AlphaGo ha avuto alcuni "punti ciechi" e durante il torneo ha fatto delle mosse davvero brutte ma anche una mossa eccezionale che un umano non avrebbe mai potuto pensare.

Finalmente puoi usare il tuo algoritmo di pianificazione (MCTS) in combinazione con queste reti. Perché abbiamo preso tutti questi passaggi? In breve, il semplice MCTS senza alcuna "intuizione" sarebbe fallito.


Stavo tornando a questa domanda dopo aver appreso dell'attore-critico e di come compensa i costi / benefici tra i metodi puramente basati sul valore rispetto a quelli basati sulle politiche. Penso che questa risposta sia la più vicina alla spiegazione di questo dettaglio, ma è trattata molto bene nella lezione di David Silver: www0.cs.ucl.ac.uk/staff/d.silver/web/Teaching_files/pg.pdf (lezione 7, è disponibile anche su YouTube - youtube.com/… ).
Neil Slater,

Gli approcci basati su MCTS puri hanno dimostrato di avere successo, quindi in un contesto più ampio non direi che sarebbe fallito.
Zimano,

1
Mi riferisco solo al caso del gioco Go e anche al raggiungimento del livello di gioco Master. In realtà David Silver (come altri ricercatori) stava lavorando per risolvere il gioco di Go with MCTS sin dal suo dottorato. Ma nulla poteva competere ai massimi livelli fino alla combinazione dei metodi sopra.
Constantinos,

9

Ecco il mio conciso processo di pensiero nella comprensione delle due diverse reti.

Innanzitutto, l'obiettivo è quello di trovare una soluzione ottimale (o quasi ottimale) senza utilizzare una ricerca esaustiva, il che è decisamente impegnativo.

Per posizione o stato, ci saranno N mosse possibili e su ogni mossa ci sarà la sua profondità D in un albero di ricerca completo. È teoricamente o matematicamente possibile percorrere tutti i percorsi e trovare una soluzione ottimale. Tuttavia, non vogliamo fare una ricerca completa.

Ora abbiamo due domande separate per lo sviluppo di un approccio di approssimazione.

Q1. Come possiamo saltare o ignorare alcune mosse da N per posizione? (ovvero riduzione del respiro)

Q2. Come possiamo fermarci a una profondità intermedia in un albero di ricerca piuttosto che camminare fino alla fine del gioco, senza riuscire a trovare una soluzione ottimale? (ovvero riduzione della profondità)

La rete di politiche è progettata principalmente per filtrare le mosse inutili da N, ma senza riuscire a trovare una soluzione ottimale. Qui questa rete inizialmente si basa su mosse di esperti umani, cioè SL, e migliorata da RL in seguito.

La rete di valori è progettata principalmente per trovare la probabilità di vincita senza una ricerca completa.

Queste due reti hanno un obiettivo comune di trovare una soluzione ottimale, tuttavia, in ogni scelta strategica di spostamento, ogni rete svolge un ruolo diverso.

Spero solo che questo aiuti. So che sarebbe ancora ad alto livello.


La tua spiegazione in due modi è molto concisa.
Tim

6

Penso che l'OP abbia confuso AlphaGo con alpha-beta. In alpha-beta, useresti davvero la rete di policy per aiutare con la potatura, ma non qui. Ancora una volta, non c'è potatura poiché l'algoritmo si basa sulla ricerca dell'albero di Monte-Carlo (MCTS).

Chiunque ritenga che la mia risposta sia troppo lunga potrebbe passare alla sezione di riepilogo, dove dichiaro perché le due reti non sono ridondanti.

Nel seguente esempio, farò alcune semplificazioni per rendere le mie idee più facili da capire.

Esempio:

Immagina di avere una posizione in cui ci sono due mosse legali. La prima mossa è una perdita persa per te, tuttavia, la seconda mossa ti dà un vantaggio vincente.

  • Prima mossa: perdita forzata per te
  • Seconda mossa: vittoria forzata per te

Rete di valutazione

Supponiamo che la rete di valutazione che Google ti offre sia perfetta. Può valutare perfettamente qualsiasi posizione dell'anta nel nostro esempio. Nell'esempio non cambieremo la nostra rete di valori.

Per semplificare il nostro esempio, supponiamo che la nostra rete di valori dia:

  • -1000 per qualsiasi posizione dell'anta che è una perdita per te
  • +1000 per ogni posizione foglia che è una vittoria per te

Rete politica

Supponiamo che Google ti dia due reti di norme. Le probabilità generate per la nostra posizione sono:

  • Politica 1: 0.9 per la mossa 1 e 0.1 per la mossa 2
  • Politica 2: 0,2 per la mossa 1 e 0,8 per la mossa 2.

Si noti che la nostra prima rete di policy fornisce probabilità errate per il nostro esempio. Fornisce 0,9 per la mossa 1, che è una mossa persa. Questo va bene perché nemmeno Google potrebbe formare una rete politica perfetta.

Giocare con la prima rete politica

AlphaGo deve generare una simulazione con Monte-Carlo e deve scegliere la mossa 1 o 2. Ora AlphaGo disegna una variabile casuale distribuita uniformemente e sceglierà:

  • Sposta 1 se il numero casuale è <= 0.9
  • Sposta 2 se il numero casuale è> 0.9

Quindi AlphaGo ha molte più probabilità di scegliere la mossa perdente da simulare (nella nostra primissima simulazione). Nella nostra prima simulazione, utilizzeremo anche la rete di valori per ottenere un punteggio per la simulazione. Nel documento, è:

inserisci qui la descrizione dell'immagine

Questo valore sarebbe -1000, perché questa simulazione comporterebbe una perdita.

Ora AlphaGo deve generare la seconda simulazione. Ancora una volta, la prima mossa avrebbe molte più probabilità di scegliere. Ma alla fine, la seconda mossa sarebbe scegliere perché:

  • La nostra probabilità precedente per la seconda mossa è 0,1, non zero
  • AlphaGo è incoraggiato a provare mosse che non sono state esplorate molto. Nel documento, questo è fatto da questa equazione:

inserisci qui la descrizione dell'immagine

Si noti che Nè il numero di mosse ricercate per la mossa ed è nel denominatore. Più è probabile che venga cercata la nostra prima mossa, più piccola è la ufunzione. Pertanto, la probabilità di selezionare la nostra seconda mossa migliora perché AlphaGo effettivamente sceglie una mossa da questa equazione:

inserisci qui la descrizione dell'immagine

inserisci qui la descrizione dell'immagine

Questa è l' equazione chiave . Per favore, guardalo attentamente:

  • Ha un termine Pper la probabilità precedente (dato dalla rete politica)
  • Ha un termine Qper i punteggi di valutazione (forniti dalla rete di valori)

Ora sappiamo che alla fine verrà scelta la nostra seconda mossa. Quando ciò accade, la rete di valori fornisce +1000. Ciò aumenterà Q, il che rende molto più probabile che la seconda mossa venga scelta nelle simulazioni successive.

Date abbastanza simulazioni, il numero di volte in cui viene scelta la seconda mossa per la simulazione dovrebbe essere maggiore del numero di volte in cui viene scelta la prima mossa.

Infine, la mossa che AlphaGo decide di fare è (citato dal documento):

Una volta completata la ricerca, l'algoritmo sceglie la mossa più visitata dalla posizione radice.

Giocare con la seconda rete politica

La nostra seconda rete politica avrà bisogno di meno iterazioni per scegliere la mossa 2 perché la sua probabilità precedente data dalla rete politica è corretta in primo luogo.

Osservazioni

Tutto qui è molto simile Bayesianall'analisi. Iniziamo con alcune probabilità precedenti (fornite dalla rete delle politiche), quindi generiamo dati per spostare la distirubazione delle probabilità (fornita dalla rete dei valori).

Sintesi

  • La rete di politiche viene utilizzata per generare le probabilità precedenti per guidare ciò che la ricerca Monte-Carlo dovrebbe scegliere
  • La rete valori viene utilizzata per generare dati per convalidare la rete delle politiche. Se la rete dei criteri non funziona, AlphaGo avrebbe bisogno di più risorse di elaborazione per convergere (se mai).
  • Puoi pensarlo come un'analisi bayesiana

Penso che questo dia una visione molto più profonda dei meccanismi interni. Non sono ancora sicuro se spieghi perché le due reti. Il problema che ho è "supponi che la rete di valutazione ... sia perfetta". In tal caso, la rete politica è davvero ridondante. Basta guardare un passo avanti (per tutte le mosse possibili) e scegliere quello con la valutazione di rete con il miglior valore. Ovviamente la rete di valori non è perfetta, e sospetto che diventi più preciso quanto più si è evoluto nel gioco. . . ma non so quanto sia vero / utile o se completi questa risposta.
Neil Slater,

@NeilSlater Ok. Le reti non sono perfette, ma i motivi che ho qui sono ancora validi, solo che abbiamo bisogno di più simulazioni MC.
SmallChess

@StudentT Bella spiegazione di alcune delle equazioni chiave. Vorrei fare una piccola modifica: non ha molto senso dire "Devi vedere dieci mosse avanti" per capire la posizione in Monte Carlo Tree Search. MCTS è una ricerca numerica a prova di profondità e non raggiungiamo mai profondità fisse come faremmo con un approfondimento iterativo negli scacchi. Anche con la rete di valori che ci consente di valutare i nodi prima della fine del gioco, non li stiamo ancora raggiungendo in modo molto ampio, e non esiste una valutazione min-max dei nodi, ecc.
Imran

@Imran Sentiti libero di modificare il mio post.
SmallChess

3

Policy Network : la rete che impara a dare un risultato definito dando un particolare input al gioco è conosciuta come Policy Network.

Reti di valori : la rete di valori assegna valore / punteggio allo stato del gioco calcolando un punteggio cumulativo previsto per lo stato corrente s. Ogni stato passa attraverso la rete di valori. Gli stati che ottengono più ricompense ovviamente ottengono più valore nella rete.

Migliore comprensione con le animazioni Vai qui: reti politiche e reti di valori nell'apprendimento per rinforzo

inserisci qui la descrizione dell'immagine


0

Da quello che capisco la differenza sta negli output. Laddove la rete politica genera una distribuzione di probabilità sulle possibili mosse, la rete di valori restituisce un valore reale che può essere interpretato come la probabilità di vincita data la configurazione di questa scheda. Da lì la ricerca dell'albero di Monte-Carlo viene eseguita prendendo le mosse K principali da e quindi restringendo nuovamente l'albero di ricerca prendendo le uscite di rete con valore K superiore.

Sentiti obbligato a correggermi se sbaglio.


2
AFAIK non sbagli, ma non credo che questo risponda alla domanda. OP sembra essere consapevole della differenza tra un modello basato su valore o basato su criteri in RL. I due approcci hanno effettivamente risultati diversi. Tuttavia, è più comune vedere l'uno o l'altro, non entrambi, e i due modelli sono generalmente ridondanti in quel "Value_maxarg (S ') == Policy_maxarg (S, A)" dove S è lo stato corrente, A è azione per prendere, e S 'è lo stato risultante. Vale a dire che le due reti in una configurazione RL più normale produrrebbero semplicemente lo stesso risultato, anche se le uscite sono diverse.
Neil Slater,
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.