Sistemi Intelligenti Reinforcement Learning: Eligibility traces - Examples Alberto Borghese Università degli Studi di Milano Laboratorio di Sistemi Intelligenti Applicati (AIS-Lab) Dipartimento di Informatica borghese@di.unimi.it 1/39 http:\\borghese.di.unimi.it\ A.A. 2019-2020 Sommario Traccia Esempi 2/39 http:\\borghese.di.unimi.it\ A.A. 2019-2020 1
Schematic diagram of an agent Agent s(t+1) s(t+1) What the world Sensors s(t) is like now STATE (internal Environment representation)? r(t+1) s(t) Condition- a(t) action rule What action Actuators (vocabulary) should I do now? s(t+1) = f[s(t),a(t)] s, stato; a(t) = g[s(t)] a, ingresso s, stato; a = uscita 3/39 A.A. 2019-2020 Formulazione di TD(0) Correggo la stima corrente valutando l’”errore” ad un passo. Q ( s , a ) Q ( s , a ) 1 k k t t t t r Q s , a Q s , a k k 1 1 1 t t t t t Q ( s , a ) t t k r Q s , a Q s , a k k k t 1 t 1 t 1 t t Come estendere l’orizzonte temporale dell’apprendimento? 4/39 http:\\borghese.di.unimi.it\ A.A. 2019-2020 2
Cosa rappresenta la Eligibility trace Buffer di memoria: contiene traccia di eventi passati (stati visitati, azioni…); la traccia evapora nel tempo. Quando viene calcolato un errore usando metodi basati su TD, la eligibility trace suggerisce quali variabili aggiornare (credit assignement). Amplia l’orizzonte temporale sul quale fare l’aggiornamento a più di 1 passo. Definisce se uno stato è eleggibile e “quanto” sia eleggibile, cioè che percentuale di aggiornamento meriti. NB L’errore modifica il valore di Q(s,a) ma questo modifica a sua volta il valore di Q(s t-1 , a t-1 ).... 5/39 http:\\borghese.di.unimi.it\ A.A. 2019-2020 Eligibility trace per la funzione Q decay Increases: depends only on visiting the state e(s,a) = 0 at start, e(s,a) ≥ 0. 6/39 http:\\borghese.di.unimi.it\ A.A. 2019-2020 3
Esempio Con il semplice costo di una variabile per ogni coppia stato-azione, ho un aggiornamento graduale della funzione valore di più stati. Q (s,a) inizializzati ad un valore leggermente negativo. r = 0 per ogni stato prossimo, tranne lo stato finale, per il quale r = +1. 7/39 http:\\borghese.di.unimi.it\ A.A. 2019-2020 Osservazioni Figure 7.8: The backward or mechanistic view. Each update depends on the current TD error combined with traces of past events. Earlier states are given less credit for the TD(0) error 8/39 http:\\borghese.di.unimi.it\ A.A. 2019-2020 4
Come utilizzare la eligibility trace TD(0) Learning: Q ( , s a ) Q ( , s a ) r Q s , a Q s a , k 1 t t k t t t 1 k t 1 t 1 k t t Errore: t Q ( s , a ) Q ( s , a ) 1 Per 1 coppia (s,a) k 1 k t t t t t Q ( s , a ) Q ( s , a ) e ( s , a ) Per tutte le coppie (s,a) t k 1 k Eleggibilità: e t (s,a) Propagate error at time t to all (s,a) 9/39 http:\\borghese.di.unimi.it\ A.A. 2019-2020 SARSA( l ) 10/39 http:\\borghese.di.unimi.it\ A.A. 2019-2020 5
Trace and Q( l ) Q ( s , a ) Q ( s , a ) r max Q s , a Q s , a t t t t t 1 t 1 t 1 t t a t 1 Quanto posso propagare all’indietro l’”errore”? NB L’azione che scelgo può non essere la migliore, la policy viene modificata run-time e la funzione Q viene associata a cammini diversi nel grafo di transizione di stato. Watkin’s version 11/39 http:\\borghese.di.unimi.it\ A.A. 2019-2020 Watkin’s Q( l ) Q ( s , a ) Q ( s , a ) r max Q s , a Q s , a t t t t t 1 t 1 t 1 t t a t 1 Suppongo di scegliere a’ = a t+1 azione prescritta dalla policy . Posso sempre calcolare Q(s t , a t ), scegliendo il max(Q(s t+1 , a t+1 )). Questo vuole dire ipotizzare di scegliere a max = argmax(max(Q(s t+1 , a t+1 ) ≠ (s’)); in questo caso: a max ≠ a’. Ma poi devo ripartire da capo perchè da lì in poi seleziono una sequenza diversa di transizioni di stato. Visito il grafo in modo diverso. 12/39 http:\\borghese.di.unimi.it\ A.A. 2019-2020 6
Analisi grafica delle mosse e - eplorative Se scelgo un’azione Se scelgo un’azione diversa, vuol dire che diversa, lo stato Q(s’,a’ l ) > Q(s’,a’ j ), e successivo sarà diverso. quindi anche Q(s,a) Percorro un «sentiero» aumenta. diverso. Aggiorno Q(s,a) . . . Max a j a l a l sub-optimal a j optimal chosen 13/39 http:\\borghese.di.unimi.it\ A.A. 2019-2020 Osservazioni When to stop propagation? k Error propagation When s t-k = s t+1 14/39 http:\\borghese.di.unimi.it\ A.A. 2019-2020 7
New strategy for updating eligibility trace Eligibility set to 0 for the states in which the non-greedy action was chosen. First decay or set to 0 the eligibility. Then increment by 1 the eligibility of the current state. 15/39 http:\\borghese.di.unimi.it\ A.A. 2019-2020 Q-learning Aggiorno Q: Q ( , ) s a Q ( . ) s a e s a ( , ) k 1 k 1 t k Scelta di a: Se scelgo a max , continuo come SARSA, altrimenti e(s,a) = 0. Aggiorno e: 16/39 http:\\borghese.di.unimi.it\ A.A. 2019-2020 8
Algorithm for Watkin’s Q( l ) 17/39 http:\\borghese.di.unimi.it\ A.A. 2019-2020 Sommario Traccia Esempi 18/39 http:\\borghese.di.unimi.it\ A.A. 2019-2020 9
Clever Pac-man Tohru Iwatani, formato arcade da sala, 1980. N.A.Borghese, A.Rossini and C.Quadri (2012) Clever Pac-man, Proceedings of the 21st Italian Workshop on Neural Nets, WIRN2011, Frontiers in Artificial Intelligence and Applications, IOS Press (Apolloni, Bassis, Esposito, Morabito eds.), pp.11-19. Applied Intelligent Systems Laboratory Computer Science Department University of Milano http://ais-lab.dsi.unimi.it 19/39 http:\\borghese.di.unimi.it\ A.A. 2019-2020 Motivation How can we make a computer agent play Pac-man? 20/39 http:\\borghese.di.unimi.it\ A.A. 2019-2020 10
The Pac-man game Arcade computer game - An agent that moves in a maze. The agent is a stilyzed yellow mouth that opens/closes. - The maze is constituted of corridors paved with (yellow) pills. - When all pills are eaten the agent can move to the next game level. - Some enemies, with the shape of pink ghosts, are present, that go after the pacman. - Special pills, called power pills (pink spheres) are present among the pills. They allow the pacman to eat the ghosts but their effect lasts for a limited amount of time. - Each eaten pill is worth one point, while each eaten ghost is worth 200, 400, 800, 1600 points (first, second, third ghost). 21/39 http:\\borghese.di.unimi.it\ A.A. 2019-2020 Pac-man as a learning agent No a-priori information is available to the pac-man. Enviroment The environment (maze structure, ghosts and pills position) is not known to the pac-man environment identification. Large number of cells ( 30 x 32 = 960) and situations. Reward is not known. Ghosts behavior has also to be specified. Agent: • Elements: State, Actions, Rewards, Value function. • Policy: Action = f(State). • Learning machinery. 22/39 http:\\borghese.di.unimi.it\ A.A. 2019-2020 11
Pac-man learning Reinforcement learning is explored here. Fuzzy state definition allows managing the number of cells Agent: • Elements: State, Actions, Rewards, Value function. • Policy: Action = f(State). • Learning machinery. Environment: • Ghosts behavior. • Rewards 23/39 http:\\borghese.di.unimi.it\ A.A. 2019-2020 The ghosts original behavior In the original game design ( Susan Lammers: "Interview with Toru Iwatani, the designer of Pac-Man", Programmers at Work 1986 ), the four ghosts had different personalities: Ghost #1, chases directly after Pac- man. Ghost #2, positions himself a few dots in front of Pac- man mouth (if these two ghosts and the Pac-man are inside the same corridor a sandwich movement occurs). Ghost #3 and #4, move randomly. In the present implementation all the four ghosts can assume all three possible behaviors depending on the situation of the game (the state). Ghosts have to escape the Pac-man when the power pill is active. The more the game progresses the more the ghosts have to aim to the Pac-man. 24/39 http:\\borghese.di.unimi.it\ A.A. 2019-2020 12
Recommend
More recommend