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
course content

Contenuti del Corso

Introduzione al Reinforcement Learning

Introduzione al Reinforcement Learning

1. Teoria Fondamentale dell'RL
2. Problema del Multi-Armed Bandit
3. Programmazione Dinamica
4. Metodi Monte Carlo
5. Apprendimento a Differenza Temporale

book
Generalizzazione 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

course content

Contenuti del Corso

Introduzione al Reinforcement Learning

Introduzione al Reinforcement Learning

1. Teoria Fondamentale dell'RL
2. Problema del Multi-Armed Bandit
3. Programmazione Dinamica
4. Metodi Monte Carlo
5. Apprendimento a Differenza Temporale

book
Generalizzazione 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
some-alt