Cos'è esattamente il bootstrap nell'apprendimento per rinforzo?


23

Apparentemente, nell'apprendimento per rinforzo, il metodo della differenza temporale (TD) è un metodo di bootstrap. D'altro canto, i metodi Monte Carlo non sono metodi di bootstrap.

Che cos'è esattamente il bootstrap in RL? Che cos'è un metodo di bootstrap in RL?

Risposte:


22

Il bootstrap in RL può essere letto come "utilizzando uno o più valori stimati nella fase di aggiornamento per lo stesso tipo di valore stimato".

Nella maggior parte delle regole di aggiornamento TD, vedrai qualcosa di simile a questo aggiornamento SARSA (0):

Q(s,a)Q(s,a)+α(Rt+1+γQ(s,a)Q(s,a))

Il valore Rt+1+γQ(s,a) è una stima per il valore reale di Q(s,a) e chiamato anche obiettivo TD. È un metodo bootstrap perché in parte stiamo usando un valore Q per aggiornare un altro valore Q. Esiste una piccola quantità di dati reali osservati sotto forma di Rt+1 , la ricompensa immediata per il passaggio e anche nella transizione di stato ss .

Contrasto con Monte Carlo in cui la regola di aggiornamento equivalente potrebbe essere:

Q(s,a)Q(s,a)+α(GtQ(s,a))

Laddove Gt era la ricompensa totale scontata al momento t , supponendo in questo aggiornamento, che è iniziata nello stato s , ha intrapreso un'azione a , quindi ha seguito l'attuale politica fino alla fine dell'episodio. Tecnicamente, Gt=k=0Tt1γkRt+k+1 dove Tè la fase temporale per la ricompensa terminale e lo stato. In particolare, questo valore target non utilizza affatto alcuna stima esistente (da altri valori Q), ma utilizza solo una serie di osservazioni (ovvero premi) dall'ambiente. Come tale, è garantito che sia una stima imparziale del valore reale di Q(s,a) , dal momento che è tecnicamente un campione di Q(s,a) .

Il principale svantaggio del bootstrap è che è distorto verso qualunque sia il tuo valore iniziale di Q(s,a) (o V(s) ). Molto probabilmente sono sbagliati e il sistema di aggiornamento può essere instabile nel suo insieme a causa di troppi riferimenti personali e di dati reali insufficienti - questo è un problema con l'apprendimento off-policy (ad esempio Q-learning) che utilizza reti neurali.

Senza il bootstrap, usando traiettorie più lunghe, c'è spesso invece una varianza elevata , che, in pratica, significa che hai bisogno di più campioni prima che le stime convergano. Quindi, nonostante i problemi con il bootstrap, se può essere fatto funzionare, può imparare molto più velocemente ed è spesso preferito rispetto agli approcci Monte Carlo.

È possibile scendere a compromessi tra i metodi basati su campioni Monte Carlo e i metodi TD a passaggio singolo che eseguono il bootstrap utilizzando un mix di risultati provenienti da traiettorie di diversa lunghezza. Questo è chiamato apprendimento TD ( λ ) e ci sono una varietà di metodi specifici come SARSA ( λ ) o Q ( λ ).


1
Questa probabilmente dovrebbe essere un'altra domanda. Tuttavia, se vuoi rispondere, perché esattamente e stima per Q ( s , a ) ? Rt+1+γQ(s,a)Q(s,a)
nbro,

1
Q(s,a)=E[Rt+1+γQ(St+1,At+1)|St=s,At=a]saQ(St+1,At+1)

1
λTD

1
λλλλ=10.4λ

@NeilSlater, quando si utilizza il bootstrap, può convergere? Non riesco a capire perché dovrebbe poiché Q (s ', a') è solo un'ipotesi arbitraria che quindi distorce la stima per Q (s, a). Inoltre, perché MC ha una varianza elevata rispetto a TD?
d56,

4

In generale, il bootstrap in RL significa che aggiorni un valore basato su alcune stime e non su alcuni valori esatti . Per esempio

Aggiornamenti incrementali sulla valutazione delle polizze Monte Carlo:

V(St)=V(St)+α(GtV(St))

TD (0) Aggiornamenti della valutazione delle politiche:

V(St)=V(St)+α(Rt+1+γV(St+1)V(St))

sRt+1+γV(St+1) Gt

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.