Comprendere l'apprendimento per rinforzo con la rete neurale (Q-learning)


9

Sto cercando di comprendere l'apprendimento per rinforzo e i processi decisionali markov (MDP) nel caso in cui una rete neurale venga utilizzata come approssimatore di funzioni.

Sto avendo difficoltà con la relazione tra MDP in cui l'ambiente viene esplorato in modo probabilistico, come questo si ricollega ai parametri di apprendimento e come si trovano la soluzione / le politiche finali.

È corretto supporre che, nel caso dell'apprendimento Q, la rete neurale agisca essenzialmente come un approssimatore di funzioni per il valore q stesso così tanti passi in futuro? In che modo questa mappa aggiorna i parametri tramite backpropagation o altri metodi?

Inoltre, una volta che la rete ha imparato a prevedere la ricompensa futura, in che modo si adatta al sistema in termini di prendere effettivamente decisioni? Suppongo che il sistema finale non realizzerebbe probabilisticamente transizioni di stato.

Grazie


Risposte:


4

In Q-Learning, ad ogni passaggio utilizzerai osservazioni e premi per aggiornare la tua funzione di valore Q:

Qt+1(st,at)=Qt(st,at)+α[Rt+1+γmaxaQt(st+1,a)Qt(st,at)]

Hai ragione nel dire che la rete neurale è solo un'approssimazione di funzione per la funzione valore q.

In generale, la parte di approssimazione è solo un problema di apprendimento supervisionato standard. La tua rete utilizza (s, a) come input e l'output è il valore q. Man mano che i valori q vengono adeguati, è necessario addestrare questi nuovi campioni alla rete. Tuttavia, troverai alcuni problemi mentre usi campioni correlati e SGD ne soffrirà.

Se stai guardando il documento DQN, le cose sono leggermente diverse. In tal caso, quello che stanno facendo è mettere dei campioni in un vettore (replay dell'esperienza). Per insegnare alla rete, campionano tuple dal vettore, bootstrap usando queste informazioni per ottenere un nuovo valore q che viene insegnato alla rete. Quando dico insegnamento, intendo regolare i parametri di rete usando la discesa gradiente stocastica o il tuo approccio di ottimizzazione preferito. Non insegnando i campioni nell'ordine che vengono raccolti dalla polizza li decorrelano e ciò aiuta nella formazione.

Infine, per prendere una decisione sullo stato , scegli l'azione che fornisce il valore q più alto:s

a(s)=argmaxa Q(s,a)

Se la funzione del valore Q è stata appresa completamente e l'ambiente è fermo, va bene essere avidi a questo punto. Tuttavia, mentre impari, devi esplorare. Esistono diversi approcci essendo -greedy uno dei modi più semplici e più comuni.ε


Grazie, è molto utile, ha molto senso! Solo per chiarire, una volta che il sistema è stato addestrato, daresti semplicemente ogni azione possibile con gli stati di input correnti alla rete neurale e selezioneresti l'azione che stima la ricompensa più grande (valore q)?
CatsLoveJazz

1
Corretta. Tuttavia, tieni presente che se l'ambiente non è fisso potresti voler continuare a esplorare. In generale, Q-learning funziona online e ti alleni continuamente.
Juan Leni,

Fantastico, sei a conoscenza di letteratura che circonda la tua risposta? Immagino che un'alternativa alla formazione online sarebbe quella di riqualificarsi sui dati appena osservati ogni n periodi di tempo per evitare che l'esplorazione fallita influenzi le prestazioni in un ambiente di produzione.
CatsLoveJazz

1
Mi riferisco sostanzialmente al dilemma esplorazione-sfruttamento. Ci sono molti approcci. Uno facile da applicare è qui: tokic.com/www/tokicm/publikationen/papers/… dove si adatta in modo adattivo epsilon in base all'errore della funzione del valore
Juan Leni,

1
Un classico sono questo paper / book (1996): web.mit.edu/people/dimitrib/NDP_Encycl.pdf . athenasc.com/ndpbook.html Oggi c'è molto lavoro che unisce Deep Neural Networks e RL. I documenti di Deepmind sono un buon esempio: storage.googleapis.com/deepmind-data/assets/papers/…
Juan Leni,
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.