Perché il tasso di sconto nell'algoritmo REINFORCE appare due volte?


11

Stavo leggendo il libro Reinforcement Learning: An Introduction di Richard S. Sutton e Andrew G. Barto (bozza completa, 5 novembre 2017).

A pagina 271, viene presentato lo pseudo-codice per il metodo episodico Monte-Carlo Policy-Gradient. Guardando questo pseudo-codice non riesco a capire perché sembra che il tasso di sconto appaia 2 volte, una volta nello stato di aggiornamento e una seconda volta all'interno del reso. [Vedi la figura sotto]

inserisci qui la descrizione dell'immagine

Sembra che il ritorno per i passaggi dopo il passaggio 1 sia solo un troncamento del ritorno del primo passaggio. Inoltre, se guardi solo una pagina sopra nel libro, trovi un'equazione con solo 1 tasso di sconto (quello all'interno del ritorno).

Perché allora lo pseudo-codice sembra essere diverso? La mia ipotesi è che sto fraintendendo qualcosa:

(13.6)θt+1 =˙ θt+αGtθπ(At|St,θt)π(At|St,θt).

Risposte:


5

Il fattore di sconto appare due volte e questo è corretto.

Questo perché la funzione che stai cercando di massimizzare in REINFORCE per un problema episodico (prendendo il gradiente) è il ritorno atteso da un dato (inizio di) stato iniziale:

J(θ)=Eπ(θ)[Gt|St=s0,t=0]

Pertanto, durante l'episodio, quando si campionano i ritorni , G 2 ecc., Questi saranno meno rilevanti per il problema che si sta risolvendo, ridotti del fattore di sconto una seconda volta, come notato. All'estremo con un problema episodico e γ =G1G2 REINFORCE troverà solo una politica ottimale per la prima azione.γ=0

Altri algoritmi, che funzionano con problemi continui, come Actor-Critic usano formulazioni diverse per , quindi non hanno quel fattore di γ t .J(θ)γt


5

La risposta di Neil fornisce già alcune intuizioni sul perché lo pseudocodice (con il termine extra ) sia corretto.γt

Vorrei solo chiarire ulteriormente che non sembra fraintendere nulla, l' equazione (13.6) nel libro è davvero diversa dallo pseudocodice .

Ora, non ho l'edizione del libro che hai citato proprio qui, ma ho una bozza successiva del 22 marzo 2018 e il testo su questo particolare argomento sembra essere simile. In questa edizione:

  • γ=1
  • Quella prova alla fine porta alla stessa equazione (13.6) a pagina 329.
  • γ=1
  • γ<1

2
Grazie. La spiegazione del terzo punto mancava nella bozza del 2017.
Diego Orellana,

2
@DiegoOrellana Non riesco più a trovare un link alla bozza del 22 marzo, sembra che ci sia una bozza anche successiva (non riesco a trovare una data menzionata) qui . Questa versione in realtà ha una copertina di fantasia, quindi potrebbe anche essere una versione finale piuttosto che una bozza. Se il collegamento si interromperà in futuro, sospetto che un nuovo collegamento sarà reso disponibile qui .
Dennis Soemers,

3

È un problema sottile.

Se guardi l'algoritmo A3C nel documento originale (p.4 e appendice S3 per pseudo-codice), il loro algoritmo critico-attore (stesso algoritmo sia episodico che continuo) è disattivato da un fattore di gamma relativo all'attore- pseudo-codice critico per problemi episodici nel libro di Sutton e Barto (p.332 dell'edizione di gennaio 2019 di http://incompleteideas.net/book/the-book.html ). Il libro di Sutton e Barto ha la "prima" gamma extra come etichettata nella tua foto. Quindi, il libro o la carta A3C sono sbagliati? Non proprio.

La chiave è a p. 199 del libro di Sutton e Barto:

Se c'è sconto (gamma <1), dovrebbe essere trattato come una forma di terminazione, che può essere fatta semplicemente includendo un fattore nel secondo termine di (9.2).

Il problema sottile è che ci sono due interpretazioni del fattore di sconto gamma:

  1. Un fattore moltiplicativo che mette meno peso sulle ricompense future lontane.
  2. Una probabilità, 1 - gamma, che una traiettoria simulata termina spuri, in qualsiasi momento. Questa interpretazione ha senso solo per casi episodici e non continui.

Implementazioni letterali:

  1. Basta moltiplicare le ricompense future e le relative quantità (V o Q) in futuro per gamma.
  2. Simula alcune traiettorie e termina casualmente (1 - gamma) di esse ad ogni passo temporale. Le traiettorie terminate non danno premi immediati o futuri.

Glnπ(a|s)

γ2Glnπ(a|s)0.81Glnπ(a|s)

Glnπ(a|s)G

Puoi scegliere qualunque interpretazione della gamma, ma devi essere consapevole delle conseguenze dell'algoritmo. Personalmente preferisco attenermi all'interpretazione 1 solo perché è più semplice. Quindi uso l'algoritmo nel documento A3C, non il libro di Sutton e Barto.

La tua domanda riguardava l'algoritmo REINFORCE, ma ho discusso dell'attore-critico. Hai lo stesso identico problema relativo alle due interpretazioni gamma e alla gamma extra in REINFORCE.

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.