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