Algoritmi di apprendimento con rinforzo applicati al problema del

Algoritmi di apprendimento con rinforzo applicati al problema
del “Windy Gridworld”
Barbara PRALIO
Corso di Dottorato in Sistemi di Produzione
XXIII Ciclo
Corso di Apprendimento Mimetico Pagina 1 La presente relazione ha l’obiettivo di riportare i risultati dell’applicazione di algoritmi di apprendimento con
rinforzo al problema della “Windy Gridworld”.
1. Definizione del problema
Data una griglia standard di dimensioni nrxnc, al centro della quale sia presente una componente di vento in
direzione verticale e di intensità variabile w ci , si individui la “policy” ottima per raggiungere la casella G G(rG, cG) partendo dalla casella S S(rS, cS).
Figura 1: Windy gridworld.
Il generico stato si è rappresentato da una casella della griglia e, quindi, da una coppia di valori
rappresentanti la riga e la colonna corrispondenti:
si
( ri , ci )
L’insieme delle azioni possibili è dato da:
A
{up, down, right, left}
Per la presente applicazione si considera una griglia con nr = 7, nc = 10, G G(4, 8) e S S(4, 1). L’intensità
del vento viene riportata in Fig. 1. Si osservi che la componente di vento agisce traslando gli stati verso l’alto
e con riferimento allo stato di partenza.
Per ogni transizione fra stati che non porti allo stato G viene assegnata una ricompensa pari a R = -1. Per la
transizione che porta nello stato finale, invece, viene assegnata una ricompensa R = 0.
Se l’azione corrente a t porta l’agente ad uno stato ipotetico s t 1 al di fuori della griglia, l’agente rimane
nello stato corrente (s t 1
s t ) e non viene applicata alcuna penalità.
Corso di Apprendimento Mimetico Pagina 2 2. Algoritmi di apprendimento con rinforzo
Per la soluzione del presente problema sono stati applicati due algoritmi di apprendimento con rinforzo
basati su differenze temporali: l’algoritmo SARSA e l’algoritmo Q-Learning.
I metodi basati sulle differenze temporali permettono di gestire il problema del controllo (ovvero di ricerca
della policy ottima) attraverso l’aggiornamento delle “value function” in base agli esiti della transizione allo
stato successivo. Ad ogni passo la funzione Q (action-value function) viene aggiornata sulla base del valore
da essa assunto per la coppia stato-azione successiva e dalla ricompensa ottenuta attraverso la relazione:
Q ( s t ,a t )
Q ( s t ,a t ) α ⎡⎣ rt
1
‐ γQ ( s t 1 ,a t
1
) ‐ Q ( s t ,a t ) ⎤⎦
in cui α rappresenta un parametro costante legato all’apprendimento e γ è il fattore di sconto.
Un aspetto caratterizzante i diversi tipi di algoritmi basati su differenze temporali è la metodologia di scelta
di un’azione. Esistono metodi alle differenze temporali “on-policy”, in cui l’aggiornamento viene effettuato
sulla base dei risultati di azioni determinate dalla policy selezionata e metodi “off-policy”, in cui diverse
policy possono essere valutate tramite azioni ipotetiche, non effettivamente intraprese. A differenza dei
metodi “on-policy”, questi ultimi possono separare il problema dell’esplorazione da quello del controllo,
imparando tattiche non necessariamente applicate durante la fase di apprendimento.
Algoritmo SARSA
L’algoritmo SARSA implementa un metodo alle differenze temporali “on-policy”, in cui l’aggiornamento
della funzione Q (action-value function) viene effettuato in base agli esiti della transizione dallo stato s s t allo stato s’ s t 1 tramite l’azione a t , intrapresa in base ad una policy selezionata π(s, a).
Esistono policy che scelgono sempre l’azione che fornisce la massima ricompensa e policy nondeterministiche (ε-greedy, ε-soft, softmax), che assicurano un elemento di esplorazione nella fase di
apprendimento.
L’algoritmo implementato nel presente lavoro è strutturato come segue:
Dato un insieme S di stati e un insieme A di azioni possibili:
1. inizializzare π(s), Q(s, a)
s S , a A ;
2. per ogni episodio Ei i 1, …, Emax
2.1. inizializzare lo stato di partenza s(t = 1) = s(S);
2.2. selezionare l’azione a(t = 1) in base ad una ε-greedy policy riferita a Q;
2.3. per ogni iterazione It t 1, …, Imax
Corso di Apprendimento Mimetico Pagina 3 2.3.1 intraprendere l’azione a(t ) e valutare il nuovo stato s(t 1 ) e la ricompensa r(t +1);
2.3.2 selezionare l’azione a(t + 1) in base ad una ε-greedy policy riferita a Q;
2.3.3 aggiornare il valore della funzione Q s t , a t in base alla formula:
Q ( s t ,a t )
Q ( s t ,a t ) α ⎡⎣ rt
1
‐ γQ ( s t 1 ,a t
1
) ‐ Q ( s t ,a t ) ⎤⎦ ;
2.3.4 aggiornare stato e azione correnti (s(t) = s(t 1 ); a(t) = a(t 1 ));
2.3.5 ripetere dal punto 2.3;
2.4 salvare percorso da S a G e relativo numero di passi;
3. calcolare il percorso da S a G caratterizzato dal minor numero di passi.
Algoritmo Q-Learning
L’algoritmo Q-Learning implementa un metodo alle differenze temporali “off-policy” e si differenzia
dall’algoritmo SARSA in quanto, nella fase di predizione, viene applicata una greedy policy riferita a Q. Si
intende, quindi, che, l’azione a t 1 viene scelta sulla base del valore massimo della funzione Q s(t 1)).
La struttura dell’algoritmo è coincidente con quella dell’algoritmo SARSA, tranne che per quanto riguarda lo
step 2.3.2, in cui non vi è alcun elemento di scelta stocastica.
Risultati
L’algoritmo SARSA, applicato alla “windy gridworld”, è stato affrontato impostando i seguenti valori per i
parametri del problema: ε = 0.1, α = 0.1, γ = 1.0. Con un numero di episodi pari a Emax = 500, per ognuno dei
quali è stato impostato un numero massimo di iterazioni Imax = 500, la soluzione del problema è quella
riportata in Fig. 2 e prevede un numero minimo di passi pari a 15. In Fig. 3 si riporta l’andamento del
numero di iterazioni (i.e. del numero di passi del percorso che collega il punto di partenza S con il punto di
arrivo G) in funzione del numero di episodi. E’ possibile osservare che l’algoritmo inizia ad apprendere dopo
una decina di episodi, diminuendo il numero di iterazioni fino a valori ottimali entro i primi 50 episodi.
L’andamento non monotono della funzione è da ascrivere alla componente stocastica associata
all’applicazione di una policy ε-greedy.
Corso di Apprendimento Mimetico Pagina 4 Figura 2: Risultato dell’applicazione dell’algoritmo SARSA alla “windy gridworld”. La linea tratteggiata rappresenta il
percorso ottimale, corrispondente ad un numero di passi pari a 15.
Figura 3: Relazione tra il numero di episodi e il numero di iterazioni necessarie ad ottenere un percorso che colleghi il punto
di partenza e il punto di arrivo. Si osservi che per i primi 8 episodi l’algoritmo non riesce, entro il limite massimo Imax = 500
iterazioni, a trovare un percorso completo (asterisco rosso).
Corso di Apprendimento Mimetico Pagina 5 Al fine di valutare l’effetto di fattori quali il rateo di apprendimento α e il parametro ε, è stata condotta
un’analisi di sensibilità fissando il numero di episodi massimo.
In Fig. 4 viene riportato il confronto, in termini di numero di passi della soluzione al variare del numero di
episodi, fra tre strategie caratterizzate da un differente rateo di apprendimento, fissato ε = 0.1. E’ possibile
osservare che l’agente risulta in grado di apprendere più velocemente all’aumentare del parametro α.
Figura 4: Confronto di prestazioni dell’algoritmo SARSA al variare del parametro α (linea nera: α = 0.1; linea rossa: α = 0.5;
linea blu: α = 0.9).
L’analisi di sensibilità è stata condotta, in modo analogo, anche per il parametro e, fissando a = 0.1. Come si
può osservare in Fig. 5, un aumento del fattore ε comporta un maggiore sbilanciamento sul piano
dell’esplorazione degli stati piuttosto che dello sfruttamento di una soluzione. Per valori molto elevati (ε =
0.9) si osserva un comportamento pressoché completamente stocastico, caratterizzato dal fatto che l’agente
sceglie direzioni casuali, sfruttando solo raramente le più “promettenti”.
Al fine di stabilire un numero di episodi sufficiente per un corretto apprendimento, è stata effettuata una
valutazione della percentuale di successi, intesi come procedure di apprendimento in grado di generare un
percorso dal punto di partenza S al punto di arrivo G con un numero di passi non superiore ad un valore
limite. Tale valutazione ha significato dal momento che, implementando una policy ε-greedy, si considera
una componente stocastica nella scelta dell’azione. In Fig. 6 vengono riportati i valori di tale analisi,
considerando quale valori dei riferimento un numero di passi non superiore a 16. E’ possibile osservare che il
100% di successi si ottiene con un numero minimo di episodi pari a circa 600.
Corso di Apprendimento Mimetico Pagina 6 Figura 5: Confronto di prestazioni dell’algoritmo SARSA al variare del parametro ε (linea nera: ε = 0.1; linea rossa: ε = 0.5;
linea blu: ε = 0.9).
Figura 6: Valutazione della percentuale di successi al variare del numero di episodi. Un successo viene associato alla capacità
dell’agente di trovare un percorso che conduca allo stato finale con un numero di passi non superiore a nmin = 16.
E’ stata, infine, effettuata una valutazione comparata delle prestazioni dell’algoritmo SARSA rispetto
all’algoritmo Q-learning, applicato al problema della “windy gridworld”. In base a quanto riportato in Fig. 7
è possibile valutare le caratteristiche di apprendimento dei due algoritmi. Si può osservare che, a parità di
Corso di Apprendimento Mimetico Pagina 7 rateo di apprendimento e fattore ε, l’algoritmo Q-Learning presenta un apprendimento più rapido e una più
netta convergenza al numero di passi minimo del percorso ottimale rispetto all’algoritmo SARSA.
Quest’ultimo presenta, infatti, un andamento disomogeneo, con “picchi” ascrivibili a tentativi (non andati a
buon fine) di esplorare lo spazio degli stati.
Figura 7: Confronto prestazionale fra algoritmo SARSA (linea nera) e algoritmo Q-learning (linea rossa) in termini di
numero di passi della soluzione ottimale e sua evoluzione in funzione del numero di episodi (α = 0.5; ε = 0.1).
Figura 8: Confronto prestazionale fra algoritmo SARSA (nero) e algoritmo Q-learning (blu) in termini di percentuale di
successi in funzione del numero di episodi (α = 0.5; ε = 0.1).
E’, inoltre, possibile osservare che l’algoritmo Q-learning apprende più rapidamente, presentando una
percentuale di successi più elevata rispetto all’algoritmo SARSA a parità di numero di episodi (Fig. 8).
Corso di Apprendimento Mimetico Pagina 8