Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Impara Generalizzazione dell'Apprendimento TD | Apprendimento a Differenza Temporale
Introduzione al Reinforcement Learning

bookGeneralizzazione dell'Apprendimento TD

Finora abbiamo considerato due casi estremi di apprendimento dall'esperienza:

  • TD(0): utilizza il ritorno a un passo;
  • Monte Carlo: attende la fine dell'episodio per calcolare il ritorno.

Ma cosa succede se desideriamo qualcosa di intermedio? Un metodo che sfrutti più informazioni future rispetto a TD(0), ma che non richieda di attendere l'intero episodio come Monte Carlo?

Qui entrano in gioco l'apprendimento TD a nn passi e TD(λ\lambda) — metodi che unificano e generalizzano i concetti visti finora.

n\Large n-Passi TD Learning

L'idea alla base dell'apprendimento TD a nn passi è semplice: invece di utilizzare solo il passo successivo o l'intero episodio, si utilizzano i prossimi nn passi, quindi si effettua il bootstrap:

Gt(n)=Rt+1+γRt+2+...+γn1Rt+n+γnV(St+1)G_t^{(n)} = R_{t+1} + \gamma R_{t+2} + ... + \gamma^{n-1} R_{t+n} + \gamma^n V(S_{t+1})

Questo consente un compromesso:

  • Quando n=1n = 1: equivale a TD(0);
  • Quando n=n = \infty: diventa Monte Carlo.

Questi ritorni possono quindi essere utilizzati per sostituire il target nella regola di aggiornamento di TD(0):

V(St)V(St)+α(Gt(n)V(St))V(S_t) \gets V(S_t) + \alpha\Bigl(G_t^{(n)} - V(S_t)\Bigr)

TD(λ\Large\lambda)

TD(λ\lambda) è un'idea ingegnosa che si basa sull'apprendimento TD a nn passi: invece di scegliere un valore fisso di nn, si combinano tutti i ritorni a nn passi insieme:

Lt=(1λ)n=0λn1Gt(n)L_t = (1 - \lambda) \sum_{n=0}^{\infty} \lambda^{n-1}G_t^{(n)}

dove λ[0,1]\lambda \in [0, 1] controlla la ponderazione:

  • Se λ=0\lambda = 0: solo il ritorno a un passo \to TD(0);
  • Se λ=1\lambda = 1: ritorno completo \to Monte Carlo;
  • Valori intermedi mescolano ritorni a più passi.

Quindi λ\lambda funge da regolatore del compromesso bias-varianza:

  • Basso λ\lambda: più bias, meno varianza;
  • Alto λ\lambda: meno bias, più varianza.

LtL_t può quindi essere utilizzato come target di aggiornamento nella regola di aggiornamento TD(0):

V(St)V(St)+α(LtV(St))V(S_t) \gets V(S_t) + \alpha\Bigl(L_t - V(S_t)\Bigr)
question mark

Quando il parametro λ\lambda è impostato a 1 in TD(λ\lambda), il metodo diventa equivalente a

Select the correct answer

Tutto è chiaro?

Come possiamo migliorarlo?

Grazie per i tuoi commenti!

Sezione 5. Capitolo 5

Chieda ad AI

expand

Chieda ad AI

ChatGPT

Chieda pure quello che desidera o provi una delle domande suggerite per iniziare la nostra conversazione

Suggested prompts:

Can you explain how to choose the best value for $$n$$ or $$\lambda$$ in practice?

What are the main advantages and disadvantages of using TD($$\lambda$$) compared to TD(0) and Monte Carlo?

Can you provide an example to illustrate how $$n$$-step TD learning works?

Awesome!

Completion rate improved to 2.7

bookGeneralizzazione dell'Apprendimento TD

Scorri per mostrare il menu

Finora abbiamo considerato due casi estremi di apprendimento dall'esperienza:

  • TD(0): utilizza il ritorno a un passo;
  • Monte Carlo: attende la fine dell'episodio per calcolare il ritorno.

Ma cosa succede se desideriamo qualcosa di intermedio? Un metodo che sfrutti più informazioni future rispetto a TD(0), ma che non richieda di attendere l'intero episodio come Monte Carlo?

Qui entrano in gioco l'apprendimento TD a nn passi e TD(λ\lambda) — metodi che unificano e generalizzano i concetti visti finora.

n\Large n-Passi TD Learning

L'idea alla base dell'apprendimento TD a nn passi è semplice: invece di utilizzare solo il passo successivo o l'intero episodio, si utilizzano i prossimi nn passi, quindi si effettua il bootstrap:

Gt(n)=Rt+1+γRt+2+...+γn1Rt+n+γnV(St+1)G_t^{(n)} = R_{t+1} + \gamma R_{t+2} + ... + \gamma^{n-1} R_{t+n} + \gamma^n V(S_{t+1})

Questo consente un compromesso:

  • Quando n=1n = 1: equivale a TD(0);
  • Quando n=n = \infty: diventa Monte Carlo.

Questi ritorni possono quindi essere utilizzati per sostituire il target nella regola di aggiornamento di TD(0):

V(St)V(St)+α(Gt(n)V(St))V(S_t) \gets V(S_t) + \alpha\Bigl(G_t^{(n)} - V(S_t)\Bigr)

TD(λ\Large\lambda)

TD(λ\lambda) è un'idea ingegnosa che si basa sull'apprendimento TD a nn passi: invece di scegliere un valore fisso di nn, si combinano tutti i ritorni a nn passi insieme:

Lt=(1λ)n=0λn1Gt(n)L_t = (1 - \lambda) \sum_{n=0}^{\infty} \lambda^{n-1}G_t^{(n)}

dove λ[0,1]\lambda \in [0, 1] controlla la ponderazione:

  • Se λ=0\lambda = 0: solo il ritorno a un passo \to TD(0);
  • Se λ=1\lambda = 1: ritorno completo \to Monte Carlo;
  • Valori intermedi mescolano ritorni a più passi.

Quindi λ\lambda funge da regolatore del compromesso bias-varianza:

  • Basso λ\lambda: più bias, meno varianza;
  • Alto λ\lambda: meno bias, più varianza.

LtL_t può quindi essere utilizzato come target di aggiornamento nella regola di aggiornamento TD(0):

V(St)V(St)+α(LtV(St))V(S_t) \gets V(S_t) + \alpha\Bigl(L_t - V(S_t)\Bigr)
question mark

Quando il parametro λ\lambda è impostato a 1 in TD(λ\lambda), il metodo diventa equivalente a

Select the correct answer

Tutto è chiaro?

Come possiamo migliorarlo?

Grazie per i tuoi commenti!

Sezione 5. Capitolo 5
some-alt