Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Impara TD(0): Stima della Funzione di Valore | Apprendimento a Differenza Temporale
Introduzione al Reinforcement Learning con Python

TD(0): Stima della Funzione di Valore

Scorri per mostrare il menu

La versione più semplice dell'apprendimento TD è chiamata TD(0). Aggiorna il valore di uno stato in base alla ricompensa immediata e al valore stimato dello stato successivo. È un metodo TD a un passo.

Regola di aggiornamento

Dato uno stato StS_t, una ricompensa Rt+1R_{t+1} e lo stato successivo St+1S_{t+1}, la regola di aggiornamento è la seguente:

V(St)V(St)+α(Rt+1+γV(St+1)V(St))V(S_t) \gets V(S_t) + \alpha\Bigl(R_{t+1}+\gamma V(S_{t+1}) - V(S_t)\Bigr)

dove

  • α\alpha è il tasso di apprendimento, o passo di aggiornamento;
  • δt=Rt+1+γV(St+1)V(St)\delta_t = R_{t+1}+\gamma V(S_{t+1}) - V(S_t) è l'errore TD.

Intuizione

La funzione di valore di stato vπv_\pi può essere definita ed espansa come segue:

vπ(s)=Eπ[GtSt=s]=Eπ[Rt+γGt+1St=s]=Eπ[Rt+γvπ(St+1)St=s]\def\E{\operatorname{\mathbb{E}}} \begin{aligned} v_\pi(s) &= \E_\pi[G_t | S_t = s] \\ &= \E_\pi[R_t + \gamma G_{t+1} | S_t = s] \\ &= \E_\pi[R_t + \gamma v_\pi(S_{t+1}) | S_t = s] \end{aligned}

Questo fornisce la prima parte di δt\delta_t — il ritorno sperimentato Rt+1+γV(St+1)R_{t+1} + \gamma V(S_{t+1}). La seconda parte di δt\delta_t è il ritorno atteso V(St)V(S_t). L'errore TD δt\delta_t rappresenta quindi la discrepanza osservabile tra ciò che è effettivamente accaduto e ciò che si credeva sarebbe accaduto. La regola di aggiornamento corregge quindi la convinzione precedente ad ogni passo, avvicinandola progressivamente alla realtà.

TD(0) vs Stima Monte Carlo

Sia TD(0) che la stima Monte Carlo utilizzano esperienze campionate per stimare la funzione di valore di stato vπ(s)v_\pi(s) per una politica π\pi. In condizioni standard di convergenza, entrambi convergono al vero vπ(s)v_\pi(s) quando il numero di visite a ciascuno stato tende all'infinito. Nella pratica, tuttavia, si dispone solo di una quantità finita di dati, e i due metodi differiscono significativamente sia nell'utilizzo di questi dati sia nella rapidità di apprendimento.

Compromesso bias-varianza

Combinazioni bias-varianza

Dal punto di vista del compromesso bias–varianza:

La stima Monte Carlo attende la fine di un episodio e poi utilizza il ritorno completo per aggiornare i valori. Questo produce stime non distorte — i ritorni riflettono realmente la distribuzione sottostante — ma possono variare notevolmente, soprattutto in compiti lunghi o altamente stocastici. Alta varianza significa che sono necessari molti episodi per mediare il rumore e ottenere stime di valore stabili.

TD(0) utilizza il bootstrap combinando ogni ricompensa a un passo con la stima attuale del valore dello stato successivo. Questo introduce bias — gli aggiornamenti iniziali si basano su stime imperfette — ma mantiene la varianza bassa, poiché ogni aggiornamento si basa su un piccolo errore incrementale. Varianza più bassa consente a TD(0) di propagare le informazioni sulla ricompensa attraverso lo spazio degli stati più rapidamente, anche se il bias iniziale può rallentare la convergenza.

Apprendimento dai dati vs apprendimento del modello

Approcci diversi per stimare il valore

Un altro modo per analizzare questi due metodi è esaminare cosa apprendono realmente:

La stima Monte Carlo apprende direttamente dai ritorni osservati, adattando efficacemente le sue stime di valore agli episodi specifici che ha visto. Questo significa che minimizza l'errore su quelle traiettorie di addestramento, ma poiché non costruisce mai una visione esplicita di come gli stati si susseguono, può avere difficoltà a generalizzare a situazioni nuove o leggermente diverse.

TD(0), al contrario, si basa su ogni transizione a un passo, combinando la ricompensa immediata con la sua stima del valore dello stato successivo. In questo modo, cattura efficacemente le relazioni tra gli stati — un modello implicito della dinamica dell'ambiente. Questa comprensione simile a un modello permette a TD(0) di generalizzare meglio a transizioni non viste, spesso producendo stime di valore più accurate su nuovi dati.

Pseudocodice

Pseudocodice TD(0) per la stima del valore di stato
question mark

Come si può descrivere il TD(0) in termini di bias e varianza?

Seleziona tutte le risposte corrette

Tutto è chiaro?

Come possiamo migliorarlo?

Grazie per i tuoi commenti!

Sezione 5. Capitolo 2

Chieda ad AI

expand

Chieda ad AI

ChatGPT

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

TD(0): Stima della Funzione di Valore

La versione più semplice dell'apprendimento TD è chiamata TD(0). Aggiorna il valore di uno stato in base alla ricompensa immediata e al valore stimato dello stato successivo. È un metodo TD a un passo.

Regola di aggiornamento

Dato uno stato StS_t, una ricompensa Rt+1R_{t+1} e lo stato successivo St+1S_{t+1}, la regola di aggiornamento è la seguente:

V(St)V(St)+α(Rt+1+γV(St+1)V(St))V(S_t) \gets V(S_t) + \alpha\Bigl(R_{t+1}+\gamma V(S_{t+1}) - V(S_t)\Bigr)

dove

  • α\alpha è il tasso di apprendimento, o passo di aggiornamento;
  • δt=Rt+1+γV(St+1)V(St)\delta_t = R_{t+1}+\gamma V(S_{t+1}) - V(S_t) è l'errore TD.

Intuizione

La funzione di valore di stato vπv_\pi può essere definita ed espansa come segue:

vπ(s)=Eπ[GtSt=s]=Eπ[Rt+γGt+1St=s]=Eπ[Rt+γvπ(St+1)St=s]\def\E{\operatorname{\mathbb{E}}} \begin{aligned} v_\pi(s) &= \E_\pi[G_t | S_t = s] \\ &= \E_\pi[R_t + \gamma G_{t+1} | S_t = s] \\ &= \E_\pi[R_t + \gamma v_\pi(S_{t+1}) | S_t = s] \end{aligned}

Questo fornisce la prima parte di δt\delta_t — il ritorno sperimentato Rt+1+γV(St+1)R_{t+1} + \gamma V(S_{t+1}). La seconda parte di δt\delta_t è il ritorno atteso V(St)V(S_t). L'errore TD δt\delta_t rappresenta quindi la discrepanza osservabile tra ciò che è effettivamente accaduto e ciò che si credeva sarebbe accaduto. La regola di aggiornamento corregge quindi la convinzione precedente ad ogni passo, avvicinandola progressivamente alla realtà.

TD(0) vs Stima Monte Carlo

Sia TD(0) che la stima Monte Carlo utilizzano esperienze campionate per stimare la funzione di valore di stato vπ(s)v_\pi(s) per una politica π\pi. In condizioni standard di convergenza, entrambi convergono al vero vπ(s)v_\pi(s) quando il numero di visite a ciascuno stato tende all'infinito. Nella pratica, tuttavia, si dispone solo di una quantità finita di dati, e i due metodi differiscono significativamente sia nell'utilizzo di questi dati sia nella rapidità di apprendimento.

Compromesso bias-varianza

Combinazioni bias-varianza

Dal punto di vista del compromesso bias–varianza:

La stima Monte Carlo attende la fine di un episodio e poi utilizza il ritorno completo per aggiornare i valori. Questo produce stime non distorte — i ritorni riflettono realmente la distribuzione sottostante — ma possono variare notevolmente, soprattutto in compiti lunghi o altamente stocastici. Alta varianza significa che sono necessari molti episodi per mediare il rumore e ottenere stime di valore stabili.

TD(0) utilizza il bootstrap combinando ogni ricompensa a un passo con la stima attuale del valore dello stato successivo. Questo introduce bias — gli aggiornamenti iniziali si basano su stime imperfette — ma mantiene la varianza bassa, poiché ogni aggiornamento si basa su un piccolo errore incrementale. Varianza più bassa consente a TD(0) di propagare le informazioni sulla ricompensa attraverso lo spazio degli stati più rapidamente, anche se il bias iniziale può rallentare la convergenza.

Apprendimento dai dati vs apprendimento del modello

Approcci diversi per stimare il valore

Un altro modo per analizzare questi due metodi è esaminare cosa apprendono realmente:

La stima Monte Carlo apprende direttamente dai ritorni osservati, adattando efficacemente le sue stime di valore agli episodi specifici che ha visto. Questo significa che minimizza l'errore su quelle traiettorie di addestramento, ma poiché non costruisce mai una visione esplicita di come gli stati si susseguono, può avere difficoltà a generalizzare a situazioni nuove o leggermente diverse.

TD(0), al contrario, si basa su ogni transizione a un passo, combinando la ricompensa immediata con la sua stima del valore dello stato successivo. In questo modo, cattura efficacemente le relazioni tra gli stati — un modello implicito della dinamica dell'ambiente. Questa comprensione simile a un modello permette a TD(0) di generalizzare meglio a transizioni non viste, spesso producendo stime di valore più accurate su nuovi dati.

Pseudocodice

Pseudocodice TD(0) per la stima del valore di stato
Tutto è chiaro?

Come possiamo migliorarlo?

Grazie per i tuoi commenti!

Sezione 5. Capitolo 2
some-alt