Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Impara Controllo Monte Carlo Off-Policy | Metodi Monte Carlo
Introduzione al Reinforcement Learning

bookControllo Monte Carlo Off-Policy

Mentre i metodi on-policy apprendono seguendo e migliorando la stessa politica, i metodi off-policy introducono una variazione: apprendono riguardo a una politica (la politica target) mentre ne seguono un'altra (la politica di comportamento). Questa separazione è potente — consente di valutare o migliorare una politica target senza la necessità di seguirla effettivamente durante la raccolta dei dati.

Analogia

Torniamo alla gelateria del capitolo precedente. Tu e il tuo amico entrate e, ancora una volta, ci sono i tre gusti familiari: cioccolato, vaniglia e fragola. Il cioccolato è il tuo preferito e il tuo primo istinto è ordinarlo. Tuttavia, questa gelateria è nuova per te e non sei sicuro che scegliere il cioccolato sia la scelta giusta. Fortunatamente, il tuo amico è un appassionato di gelato che ha visitato quasi tutte le gelaterie della città. Chiedi la sua opinione. "Il cioccolato qui è discreto," dice, "ma fidati — la fragola è eccezionale." Così, basandoti sulla sua esperienza, decidi di rinunciare alla tua scelta abituale e optare invece per la fragola.

Questa decisione — affidarsi all'esperienza di qualcun altro per guidare la propria scelta — è l'essenza dei metodi off-policy. Si cerca di migliorare il processo decisionale utilizzando dati raccolti secondo il comportamento di un altro. Si tratta comunque di esplorazione, ma guidata da esperienze esterne invece che proprie.

Campionamento di importanza

Poiché l'agente segue la policy di comportamento durante la generazione degli episodi, è necessario tenere conto della discrepanza tra ciò che la policy di comportamento genera e ciò che la policy target genererebbe. Qui entra in gioco il campionamento di importanza.

Il campionamento per importanza offre un metodo per regolare i ritorni osservati sotto la policy di comportamento affinché siano stime valide per la policy target.

Consideriamo una traiettoria che inizia da uno stato StS_t e segue una certa policy π\pi fino a quando l'episodio termina in un tempo TT. In particolare, osserviamo:

At,St+1,At+1,...,STA_t, S_{t+1}, A_{t+1}, ..., S_{T}

Qual è la probabilità che questa traiettoria si verifichi sotto una policy π\pi? Dipende sia dalle probabilità delle azioni della policy sia dalla dinamica di transizione dell'ambiente:

p(trajectoryπ)=k=tT1π(AkSk)p(Sk+1Sk,Ak)p(trajectory | \pi) = \prod_{k=t}^{T-1} \pi(A_k | S_k)p(S_{k+1} | S_k, A_k)

Supponiamo ora che la traiettoria sia stata effettivamente generata da una policy diversa — la policy di comportamento bb. Per utilizzare correttamente questa traiettoria per stimare le aspettative sotto la policy target π\pi, è necessario considerare quanto questa sequenza di azioni sarebbe stata più o meno probabile sotto π\pi rispetto a bb.

Qui entra in gioco il rapporto di campionamento per importanza. Esso è definito come la probabilità relativa della traiettoria sotto le due policy:

ρ=p(trajectoryπ)p(trajectoryb)=k=tT1π(AkSk)p(Sk+1Sk,Ak)b(AkSk)p(Sk+1Sk,Ak)=k=tT1π(AkSk)b(AkSk)\rho = \frac{p(trajectory | \pi)}{p(trajectory | b)} = \prod_{k=t}^{T-1} \frac{\pi(A_k | S_k)p(S_{k+1} | S_k, A_k)}{b(A_k | S_k)p(S_{k+1} | S_k, A_k)} = \prod_{k=t}^{T-1} \frac{\pi(A_k | S_k)}{b(A_k | S_k)}

Alla fine, le probabilità di transizione si annullano, poiché entrambe le policy operano nello stesso ambiente, e il valore di ρ\rho dipende solo dalle policy, non dall'ambiente.

Perché è importante

Il rapporto ρ\rho indica come ripesare il ritorno GtG_t osservato sotto la policy di comportamento affinché diventi una stima non distorta di ciò che il ritorno sarebbe stato sotto la policy target:

Eπ[Gt]=Eb[ρGt]\def\E{\operatorname{\mathbb{E}}} \E_\pi[G_t] = \E_b[\rho \cdot G_t]

In altre parole, anche se i dati sono stati raccolti utilizzando bb, è comunque possibile stimare i ritorni attesi sotto π\pi — a condizione che bb assegni una probabilità diversa da zero a ogni azione che π\pi potrebbe intraprendere (ipotesi di copertura).

Considerazioni pratiche

Varianza del campionamento per importanza

L'integrazione del campionamento per importanza è concettualmente semplice. Si modifica la funzione di valore d'azione stimata q(s,a)q(s, a) pesando ogni ritorno osservato con il corrispondente rapporto di campionamento per importanza. La formulazione più semplice è la seguente:

q(s,a)=i=0N(s,a)ρi(s,a)Returnsi(s,a)N(s,a)q(s, a) = \frac{\sum_{i=0}^{N(s, a)} \rho_i(s, a) \cdot Returns_i(s, a)}{N(s, a)}

dove:

  • ρi(s,a)\rho_i(s, a) è il rapporto di campionamento per importanza per la ii-esima traiettoria a partire da (s,a)(s, a);
  • Returnsi(s,a)Returns_i(s, a) è il ritorno da quella traiettoria;
  • N(s,a)N(s, a) è il numero di volte in cui (s,a)(s, a) è stato visitato.

Questo è noto come campionamento per importanza ordinario. Fornisce una stima non distorta di q(s,a)q(s, a), ma può soffrire di varianza molto elevata, soprattutto quando le politiche di comportamento e target differiscono in modo significativo.

Per ridurre il problema della varianza, si può utilizzare un'alternativa più stabile: il campionamento per importanza pesato. Questo metodo normalizza i pesi di importanza, riducendo l'impatto dei rapporti elevati e portando a un apprendimento più stabile:

q(s,a)=i=0N(s,a)ρi(s,a)Returnsi(s,a)i=0N(s,a)ρi(s,a)q(s, a) = \frac{\sum_{i=0}^{N(s, a)} \rho_i(s, a) \cdot Returns_i(s, a)}{\sum_{i=0}^{N(s, a)} \rho_i(s, a)}

In questa versione il numeratore è la stessa somma pesata dei ritorni, ma il denominatore è ora la somma dei pesi di importanza, invece di un semplice conteggio.

Questa stima risulta distorta, ma il bias diminuisce con l'aumentare dei campioni raccolti. In pratica, il campionamento per importanza pesato è preferito grazie alla sua varianza significativamente inferiore e alla maggiore stabilità numerica.

Politiche

Come nel caso on-policy, utilizziamo politiche ε\varepsilon-greedy sia per la politica target π(as)\pi(a | s) sia per la politica di comportamento b(as)b(a | s).

A prima vista, sembra naturale rendere la politica target completamente greedy — dopotutto, l'obiettivo finale è una politica greedy. Tuttavia, in pratica, ciò causa un problema importante: se in qualsiasi passo π(as)=0\pi(a | s) = 0 per l'azione effettivamente eseguita dalla politica di comportamento, il rapporto di campionamento per importanza ρ\rho diventa zero e la parte restante dell'episodio viene di fatto scartata.

Utilizzando un piccolo ε\varepsilon (ad esempio, ε=0.01\varepsilon = 0.01) nella politica target, si garantisce che π(as)>0\pi(a | s) > 0 per ogni azione, quindi ρ\rho non si annulla mai a zero durante l'episodio. Una volta terminato l'addestramento, è semplice convertire la politica ε\varepsilon‑greedy appresa in una politica strettamente greedy. Come nell'apprendimento on-policy, si dovrebbe utilizzare un ε\varepsilon decrescente nella politica di comportamento, ma questa volta principalmente per stabilità numerica, poiché ρ\rho può comunque annullarsi a zero durante l'episodio, a causa della rappresentazione numerica nei computer.

Pseudocodice

question mark

Qual è lo scopo del campionamento di importanza?

Select the correct answer

Tutto è chiaro?

Come possiamo migliorarlo?

Grazie per i tuoi commenti!

Sezione 4. Capitolo 6

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 the difference between ordinary and weighted importance sampling in more detail?

Why does using a fully greedy target policy cause problems in off-policy learning?

Can you summarize the key advantages of off-policy methods compared to on-policy methods?

Awesome!

Completion rate improved to 2.7

bookControllo Monte Carlo Off-Policy

Scorri per mostrare il menu

Mentre i metodi on-policy apprendono seguendo e migliorando la stessa politica, i metodi off-policy introducono una variazione: apprendono riguardo a una politica (la politica target) mentre ne seguono un'altra (la politica di comportamento). Questa separazione è potente — consente di valutare o migliorare una politica target senza la necessità di seguirla effettivamente durante la raccolta dei dati.

Analogia

Torniamo alla gelateria del capitolo precedente. Tu e il tuo amico entrate e, ancora una volta, ci sono i tre gusti familiari: cioccolato, vaniglia e fragola. Il cioccolato è il tuo preferito e il tuo primo istinto è ordinarlo. Tuttavia, questa gelateria è nuova per te e non sei sicuro che scegliere il cioccolato sia la scelta giusta. Fortunatamente, il tuo amico è un appassionato di gelato che ha visitato quasi tutte le gelaterie della città. Chiedi la sua opinione. "Il cioccolato qui è discreto," dice, "ma fidati — la fragola è eccezionale." Così, basandoti sulla sua esperienza, decidi di rinunciare alla tua scelta abituale e optare invece per la fragola.

Questa decisione — affidarsi all'esperienza di qualcun altro per guidare la propria scelta — è l'essenza dei metodi off-policy. Si cerca di migliorare il processo decisionale utilizzando dati raccolti secondo il comportamento di un altro. Si tratta comunque di esplorazione, ma guidata da esperienze esterne invece che proprie.

Campionamento di importanza

Poiché l'agente segue la policy di comportamento durante la generazione degli episodi, è necessario tenere conto della discrepanza tra ciò che la policy di comportamento genera e ciò che la policy target genererebbe. Qui entra in gioco il campionamento di importanza.

Il campionamento per importanza offre un metodo per regolare i ritorni osservati sotto la policy di comportamento affinché siano stime valide per la policy target.

Consideriamo una traiettoria che inizia da uno stato StS_t e segue una certa policy π\pi fino a quando l'episodio termina in un tempo TT. In particolare, osserviamo:

At,St+1,At+1,...,STA_t, S_{t+1}, A_{t+1}, ..., S_{T}

Qual è la probabilità che questa traiettoria si verifichi sotto una policy π\pi? Dipende sia dalle probabilità delle azioni della policy sia dalla dinamica di transizione dell'ambiente:

p(trajectoryπ)=k=tT1π(AkSk)p(Sk+1Sk,Ak)p(trajectory | \pi) = \prod_{k=t}^{T-1} \pi(A_k | S_k)p(S_{k+1} | S_k, A_k)

Supponiamo ora che la traiettoria sia stata effettivamente generata da una policy diversa — la policy di comportamento bb. Per utilizzare correttamente questa traiettoria per stimare le aspettative sotto la policy target π\pi, è necessario considerare quanto questa sequenza di azioni sarebbe stata più o meno probabile sotto π\pi rispetto a bb.

Qui entra in gioco il rapporto di campionamento per importanza. Esso è definito come la probabilità relativa della traiettoria sotto le due policy:

ρ=p(trajectoryπ)p(trajectoryb)=k=tT1π(AkSk)p(Sk+1Sk,Ak)b(AkSk)p(Sk+1Sk,Ak)=k=tT1π(AkSk)b(AkSk)\rho = \frac{p(trajectory | \pi)}{p(trajectory | b)} = \prod_{k=t}^{T-1} \frac{\pi(A_k | S_k)p(S_{k+1} | S_k, A_k)}{b(A_k | S_k)p(S_{k+1} | S_k, A_k)} = \prod_{k=t}^{T-1} \frac{\pi(A_k | S_k)}{b(A_k | S_k)}

Alla fine, le probabilità di transizione si annullano, poiché entrambe le policy operano nello stesso ambiente, e il valore di ρ\rho dipende solo dalle policy, non dall'ambiente.

Perché è importante

Il rapporto ρ\rho indica come ripesare il ritorno GtG_t osservato sotto la policy di comportamento affinché diventi una stima non distorta di ciò che il ritorno sarebbe stato sotto la policy target:

Eπ[Gt]=Eb[ρGt]\def\E{\operatorname{\mathbb{E}}} \E_\pi[G_t] = \E_b[\rho \cdot G_t]

In altre parole, anche se i dati sono stati raccolti utilizzando bb, è comunque possibile stimare i ritorni attesi sotto π\pi — a condizione che bb assegni una probabilità diversa da zero a ogni azione che π\pi potrebbe intraprendere (ipotesi di copertura).

Considerazioni pratiche

Varianza del campionamento per importanza

L'integrazione del campionamento per importanza è concettualmente semplice. Si modifica la funzione di valore d'azione stimata q(s,a)q(s, a) pesando ogni ritorno osservato con il corrispondente rapporto di campionamento per importanza. La formulazione più semplice è la seguente:

q(s,a)=i=0N(s,a)ρi(s,a)Returnsi(s,a)N(s,a)q(s, a) = \frac{\sum_{i=0}^{N(s, a)} \rho_i(s, a) \cdot Returns_i(s, a)}{N(s, a)}

dove:

  • ρi(s,a)\rho_i(s, a) è il rapporto di campionamento per importanza per la ii-esima traiettoria a partire da (s,a)(s, a);
  • Returnsi(s,a)Returns_i(s, a) è il ritorno da quella traiettoria;
  • N(s,a)N(s, a) è il numero di volte in cui (s,a)(s, a) è stato visitato.

Questo è noto come campionamento per importanza ordinario. Fornisce una stima non distorta di q(s,a)q(s, a), ma può soffrire di varianza molto elevata, soprattutto quando le politiche di comportamento e target differiscono in modo significativo.

Per ridurre il problema della varianza, si può utilizzare un'alternativa più stabile: il campionamento per importanza pesato. Questo metodo normalizza i pesi di importanza, riducendo l'impatto dei rapporti elevati e portando a un apprendimento più stabile:

q(s,a)=i=0N(s,a)ρi(s,a)Returnsi(s,a)i=0N(s,a)ρi(s,a)q(s, a) = \frac{\sum_{i=0}^{N(s, a)} \rho_i(s, a) \cdot Returns_i(s, a)}{\sum_{i=0}^{N(s, a)} \rho_i(s, a)}

In questa versione il numeratore è la stessa somma pesata dei ritorni, ma il denominatore è ora la somma dei pesi di importanza, invece di un semplice conteggio.

Questa stima risulta distorta, ma il bias diminuisce con l'aumentare dei campioni raccolti. In pratica, il campionamento per importanza pesato è preferito grazie alla sua varianza significativamente inferiore e alla maggiore stabilità numerica.

Politiche

Come nel caso on-policy, utilizziamo politiche ε\varepsilon-greedy sia per la politica target π(as)\pi(a | s) sia per la politica di comportamento b(as)b(a | s).

A prima vista, sembra naturale rendere la politica target completamente greedy — dopotutto, l'obiettivo finale è una politica greedy. Tuttavia, in pratica, ciò causa un problema importante: se in qualsiasi passo π(as)=0\pi(a | s) = 0 per l'azione effettivamente eseguita dalla politica di comportamento, il rapporto di campionamento per importanza ρ\rho diventa zero e la parte restante dell'episodio viene di fatto scartata.

Utilizzando un piccolo ε\varepsilon (ad esempio, ε=0.01\varepsilon = 0.01) nella politica target, si garantisce che π(as)>0\pi(a | s) > 0 per ogni azione, quindi ρ\rho non si annulla mai a zero durante l'episodio. Una volta terminato l'addestramento, è semplice convertire la politica ε\varepsilon‑greedy appresa in una politica strettamente greedy. Come nell'apprendimento on-policy, si dovrebbe utilizzare un ε\varepsilon decrescente nella politica di comportamento, ma questa volta principalmente per stabilità numerica, poiché ρ\rho può comunque annullarsi a zero durante l'episodio, a causa della rappresentazione numerica nei computer.

Pseudocodice

question mark

Qual è lo scopo del campionamento di importanza?

Select the correct answer

Tutto è chiaro?

Come possiamo migliorarlo?

Grazie per i tuoi commenti!

Sezione 4. Capitolo 6
some-alt