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
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
Controllo 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 saltare la tua solita scelta e optare invece per la fragola.

Questa decisione — affidarsi all'esperienza di qualcun altro per guidare la propria scelta — rappresenta 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 dalle 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 che entra in gioco il campionamento di importanza.

Il campionamento per importanza fornisce 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, dobbiamo 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 quale sarebbe stato il ritorno 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, possiamo comunque 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 d'Importanza

L'integrazione del campionamento d'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 d'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 d'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 d'importanza ordinario. Fornisce una stima non distorta di q(s,a)q(s, a), ma può soffrire di varianza molto elevata, specialmente quando le politiche di comportamento e target differiscono significativamente.

Per ridurre il problema della varianza, si può utilizzare un'alternativa più stabile: il campionamento d'importanza pesato. Questo metodo normalizza i pesi d'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 d'importanza, invece di un semplice conteggio.

Questa stima risulta distorta, ma il bias diminuisce all'aumentare dei campioni raccolti. In pratica, il campionamento d'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, il nostro obiettivo finale è una politica greedy. Tuttavia, in pratica, questo causa un problema principale: se in qualsiasi passo π(as)=0\pi(a | s) = 0 per l'azione effettivamente eseguita dalla politica di comportamento, il rapporto di campionamento dell'importanza ρ\rho diventa zero e la parte rimanente dell'episodio viene effettivamente scartata.

Utilizzando un piccolo ε\varepsilon (ad esempio, ε=0.01\varepsilon = 0.01) nella politica target, garantiamo 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, è banale 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 di come i numeri sono rappresentati 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

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
Controllo 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 saltare la tua solita scelta e optare invece per la fragola.

Questa decisione — affidarsi all'esperienza di qualcun altro per guidare la propria scelta — rappresenta 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 dalle 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 che entra in gioco il campionamento di importanza.

Il campionamento per importanza fornisce 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, dobbiamo 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 quale sarebbe stato il ritorno 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, possiamo comunque 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 d'Importanza

L'integrazione del campionamento d'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 d'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 d'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 d'importanza ordinario. Fornisce una stima non distorta di q(s,a)q(s, a), ma può soffrire di varianza molto elevata, specialmente quando le politiche di comportamento e target differiscono significativamente.

Per ridurre il problema della varianza, si può utilizzare un'alternativa più stabile: il campionamento d'importanza pesato. Questo metodo normalizza i pesi d'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 d'importanza, invece di un semplice conteggio.

Questa stima risulta distorta, ma il bias diminuisce all'aumentare dei campioni raccolti. In pratica, il campionamento d'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, il nostro obiettivo finale è una politica greedy. Tuttavia, in pratica, questo causa un problema principale: se in qualsiasi passo π(as)=0\pi(a | s) = 0 per l'azione effettivamente eseguita dalla politica di comportamento, il rapporto di campionamento dell'importanza ρ\rho diventa zero e la parte rimanente dell'episodio viene effettivamente scartata.

Utilizzando un piccolo ε\varepsilon (ad esempio, ε=0.01\varepsilon = 0.01) nella politica target, garantiamo 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, è banale 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 di come i numeri sono rappresentati 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