Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Impara Valutazione della Policy | Programmazione Dinamica
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
Valutazione della Policy

Note
Definizione

Valutazione della policy è un processo che determina la funzione di valore di una data policy.

Note
Nota

La valutazione della policy può essere utilizzata per stimare sia la funzione di valore dello stato sia la funzione di valore dell'azione. Tuttavia, per i metodi DP, verrà utilizzata la funzione di valore dello stato.

Come già saprai, una funzione di valore dello stato di una data policy può essere determinata risolvendo un'equazione di Bellman:

vπ(s)=aπ(as)s,rp(s,rs,a)(r+γvπ(s))v_\pi(s) = \sum_a \pi(a | s) \sum_{s', r} p(s', r | s, a)\Bigl(r + \gamma v_\pi(s')\Bigr)

Se si dispone di un modello completo dell'ambiente (cioè, probabilità di transizione e ricompense attese note per tutte le coppie stato-azione), le uniche variabili sconosciute che rimangono nell'equazione sono i valori degli stati. Pertanto, l'equazione sopra può essere riformulata come un sistema di S|S| equazioni lineari con S|S| incognite.

Ad esempio, se un MDP ha 2 stati (s1s_1, s2s_2) e 2 azioni (muoversi verso s1s_1, muoversi verso s2s_2), la funzione di valore dello stato potrebbe essere definita così:

{V(s1)=0.5(5+0.9V(s1))+0.5(10+0.9V(s2))V(s2)=0.7(2+0.9V(s1))+0.3(0+0.9V(s2))\begin{cases} V(s_1) = 0.5 \cdot (5 + 0.9 \cdot V(s_1)) + 0.5 \cdot (10 + 0.9 \cdot V(s_2)) \\ V(s_2) = 0.7 \cdot (2 + 0.9 \cdot V(s_1)) + 0.3 \cdot (0 + 0.9 \cdot V(s_2)) \end{cases}

Questo sistema può essere risolto utilizzando le tecniche standard dell'algebra lineare.

Una soluzione unica per tale sistema lineare è garantita se almeno una delle seguenti condizioni è soddisfatta:

  • Il fattore di sconto soddisfa γ<1γ < 1;
  • La politica π\pi, se seguita da qualsiasi stato ss, garantisce che l'episodio termini eventualmente.

Valutazione Iterativa della Politica

La soluzione può essere calcolata direttamente, ma un approccio iterativo è più comunemente utilizzato per la sua facilità di implementazione. Questo metodo inizia assegnando valori arbitrari a tutti gli stati, eccetto per gli stati terminali, che sono impostati a 0. I valori vengono poi aggiornati iterativamente utilizzando l'equazione di Bellman come regola di aggiornamento:

vk+1(s)aπ(as)s,rp(s,rs,a)(r+γvk(s))v_{k+1}(s) \gets \sum_a \pi(a | s) \sum_{s', r} p(s', r | s, a)\Bigl(r + \gamma v_k(s')\Bigr)

La funzione di valore di stato stimata vkv_k converge infine alla vera funzione di valore di stato vπv_\pi quando kk \to \infty se vπv_\pi esiste.

Strategie di backup del valore

Durante l'aggiornamento delle stime di valore, le nuove stime vengono calcolate sulla base dei valori precedenti. Il processo di conservazione delle stime precedenti è noto come backup. Esistono due strategie comuni per eseguire i backup:

  • Backup completo: questo metodo prevede la memorizzazione delle nuove stime in un array separato, distinto da quello contenente i valori precedenti (di backup). Di conseguenza, sono necessari due array: uno per mantenere le stime precedenti e un altro per memorizzare i nuovi valori calcolati;
  • Backup in-place: questo approccio mantiene tutti i valori all'interno di un unico array. Ogni nuova stima sostituisce immediatamente il valore precedente. Questo metodo riduce l'utilizzo della memoria, poiché è necessario un solo array.

Generalmente, il metodo backup in-place è preferito perché richiede meno memoria e converge più rapidamente, grazie all'utilizzo immediato delle stime più recenti.

Quando interrompere gli aggiornamenti?

Nell'iterative policy evaluation, non esiste un punto esatto in cui l'algoritmo debba essere interrotto. Sebbene la convergenza sia garantita al limite, continuare i calcoli oltre un certo punto è inutile nella pratica. Un criterio di arresto semplice ed efficace consiste nel monitorare la differenza assoluta tra le stime di valore consecutive, vk+1(s)vk(s)|v_{k+1}(s) - v_k(s)|, e confrontarla con una piccola soglia θ\theta. Se, dopo un ciclo completo di aggiornamento (in cui i valori di tutti gli stati vengono aggiornati), nessuna variazione supera θ\theta, il processo può essere terminato in sicurezza.

Pseudocodice

question mark

Quale delle seguenti affermazioni è vera riguardo al metodo di valutazione iterativa delle politiche?

Select the correct answer

Tutto è chiaro?

Come possiamo migliorarlo?

Grazie per i tuoi commenti!

Sezione 3. Capitolo 4

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
Valutazione della Policy

Note
Definizione

Valutazione della policy è un processo che determina la funzione di valore di una data policy.

Note
Nota

La valutazione della policy può essere utilizzata per stimare sia la funzione di valore dello stato sia la funzione di valore dell'azione. Tuttavia, per i metodi DP, verrà utilizzata la funzione di valore dello stato.

Come già saprai, una funzione di valore dello stato di una data policy può essere determinata risolvendo un'equazione di Bellman:

vπ(s)=aπ(as)s,rp(s,rs,a)(r+γvπ(s))v_\pi(s) = \sum_a \pi(a | s) \sum_{s', r} p(s', r | s, a)\Bigl(r + \gamma v_\pi(s')\Bigr)

Se si dispone di un modello completo dell'ambiente (cioè, probabilità di transizione e ricompense attese note per tutte le coppie stato-azione), le uniche variabili sconosciute che rimangono nell'equazione sono i valori degli stati. Pertanto, l'equazione sopra può essere riformulata come un sistema di S|S| equazioni lineari con S|S| incognite.

Ad esempio, se un MDP ha 2 stati (s1s_1, s2s_2) e 2 azioni (muoversi verso s1s_1, muoversi verso s2s_2), la funzione di valore dello stato potrebbe essere definita così:

{V(s1)=0.5(5+0.9V(s1))+0.5(10+0.9V(s2))V(s2)=0.7(2+0.9V(s1))+0.3(0+0.9V(s2))\begin{cases} V(s_1) = 0.5 \cdot (5 + 0.9 \cdot V(s_1)) + 0.5 \cdot (10 + 0.9 \cdot V(s_2)) \\ V(s_2) = 0.7 \cdot (2 + 0.9 \cdot V(s_1)) + 0.3 \cdot (0 + 0.9 \cdot V(s_2)) \end{cases}

Questo sistema può essere risolto utilizzando le tecniche standard dell'algebra lineare.

Una soluzione unica per tale sistema lineare è garantita se almeno una delle seguenti condizioni è soddisfatta:

  • Il fattore di sconto soddisfa γ<1γ < 1;
  • La politica π\pi, se seguita da qualsiasi stato ss, garantisce che l'episodio termini eventualmente.

Valutazione Iterativa della Politica

La soluzione può essere calcolata direttamente, ma un approccio iterativo è più comunemente utilizzato per la sua facilità di implementazione. Questo metodo inizia assegnando valori arbitrari a tutti gli stati, eccetto per gli stati terminali, che sono impostati a 0. I valori vengono poi aggiornati iterativamente utilizzando l'equazione di Bellman come regola di aggiornamento:

vk+1(s)aπ(as)s,rp(s,rs,a)(r+γvk(s))v_{k+1}(s) \gets \sum_a \pi(a | s) \sum_{s', r} p(s', r | s, a)\Bigl(r + \gamma v_k(s')\Bigr)

La funzione di valore di stato stimata vkv_k converge infine alla vera funzione di valore di stato vπv_\pi quando kk \to \infty se vπv_\pi esiste.

Strategie di backup del valore

Durante l'aggiornamento delle stime di valore, le nuove stime vengono calcolate sulla base dei valori precedenti. Il processo di conservazione delle stime precedenti è noto come backup. Esistono due strategie comuni per eseguire i backup:

  • Backup completo: questo metodo prevede la memorizzazione delle nuove stime in un array separato, distinto da quello contenente i valori precedenti (di backup). Di conseguenza, sono necessari due array: uno per mantenere le stime precedenti e un altro per memorizzare i nuovi valori calcolati;
  • Backup in-place: questo approccio mantiene tutti i valori all'interno di un unico array. Ogni nuova stima sostituisce immediatamente il valore precedente. Questo metodo riduce l'utilizzo della memoria, poiché è necessario un solo array.

Generalmente, il metodo backup in-place è preferito perché richiede meno memoria e converge più rapidamente, grazie all'utilizzo immediato delle stime più recenti.

Quando interrompere gli aggiornamenti?

Nell'iterative policy evaluation, non esiste un punto esatto in cui l'algoritmo debba essere interrotto. Sebbene la convergenza sia garantita al limite, continuare i calcoli oltre un certo punto è inutile nella pratica. Un criterio di arresto semplice ed efficace consiste nel monitorare la differenza assoluta tra le stime di valore consecutive, vk+1(s)vk(s)|v_{k+1}(s) - v_k(s)|, e confrontarla con una piccola soglia θ\theta. Se, dopo un ciclo completo di aggiornamento (in cui i valori di tutti gli stati vengono aggiornati), nessuna variazione supera θ\theta, il processo può essere terminato in sicurezza.

Pseudocodice

question mark

Quale delle seguenti affermazioni è vera riguardo al metodo di valutazione iterativa delle politiche?

Select the correct answer

Tutto è chiaro?

Come possiamo migliorarlo?

Grazie per i tuoi commenti!

Sezione 3. Capitolo 4
some-alt