Sistemi Intelligenti Reinforcement Lerning: Itertive policy evlution Alberto Borghese Università degli Studi di Milno Lbortorio di Sistemi Intelligenti Applicti (AIS-Lb) Diprtimento di Scienze dell Informzione borghese@dsi.unimi.it 1/35 Sommrio Determinzione ricorsiv dell Vlue function Dlle equzioni di Bellmn ll itertive policy evlution. Determinzione dell policy ottim. 2/35 1
Esempio di clcolo dell Vlue function Vlue function Policy V(high) =? (s=high) =? V(low) =? (s=low) =? 3/35 Esempio di clcolo dell funzione vlore α=0.4, β=0.1, γ=0.8, R serch =3, R wit =1 Vh = Pr(W)x1x[1+0.8Vh] + Pr(S)x0.4x[3+0.8xVh]+Pr(S)x0.6x[3+0.8Vl] Wit Serch -> high Serch -> low Vl = Pr(W)x1x[1+0.8Vl] + Pr(S)x0.1x[3+0.8xVl]+Pr(S)x0.9x[-3+0.8Vh]+ 0 [ 8Vh]+ Wit Pr(R)x1x[0+0.8Vh] Serch -> High Rechrge Serch -> Low Sistem linere di 2 equzioni nelle 2 incognite: Vh e Vl Come clcolo Vh e Vl? 4/35 2
Sviluppo dei clcoli s = High Pr(W) = 0,4 Pr(S) = 0,6 s = Low Pr(W) = 0,4 Pr(S) = 0,6 Pr(R) = 0,1 0,488 Vh 0,288Vl = 2,20 0,44 Vh -0,64Vl = 0,8 Sistem linere di 2 equzioni in 2 incognite. E risolubile? Che relzione h con l intelligenz? 5/35 Clcolo ricorsivo dell Vlue function V π = = = k ( s) Eπ { Rt st s} Eπ γ rt k = 0 V π ( s') = Eπ { R + st+ 1 t 1 = s '} = + k + 1 st s Legme? Policy Next-stte P s = s' s = s, } s > s ' = Pr{ t+ 1 t t = π ( ) = + k V ( s) π j, s Ps s' Rs s E r j ' j π γ γ t+ j s' k = 0 π π V ( s) = π j, s Ps s + l R j s sl ' γ V ( s j l ' j sl' 6/35 k + 2 ( ) { ' [ )]} s = s t Bellmn s eqution 3
Osservzioni V π (s) = funz(v π (s )) Bckwrds in time V π ( s) π ( j, s) { Ps s ' [ Rs s ' + γ V ( sl ')]} = π j s ' l l j 7/35 l j Esempio di funzione vlore (possibile progetto) = π(s) equiprobbile = 0.25 R(s,) per stti sui bordi e zioni che portno fuori dl bordo. R(s) per tutti gli ltri stti (= 0, +5, +10) 8/35 4
t: s = s t = C Clcolo dell funzione vlore per uno stto t + 1: s = s = s t+1 I C + Dy p = 0.25 r = 0 II C Dy p = 0.25 r = 0 III C + Dx p = 0.25 r = 0 IV C p = 0.25 r = -1 y x Per clcolre il vlore di s: V(s), (), devo nlizzre il vlore di ogni s : C π(s,) -- P s-> s -- R s->s -- V π (s ) Vlue of s. policy Rispost mbiente Rewrd 9/35 t: s = s t = C Esempio di vlore di uno stto t + 1: s = s = s t+1 C+Dyp=025r=0 0.25 = 0 C Dy p = 0.25 r = 0 C + Dx p = 0.25 r = 0 C p = 0.25 r = -1 r t+1 = -0.25 y t + 2, s = C+Dx s = C-Dy A p = 0.25 r = 0 C r = 0 C +Dx+Dy p = 0.25 r = 0 C -2Dy r = 0 A +2Dx p = 0.25 r = 0 C Dy + Dx r = 0 C p = 0.25 r = 0 C Dy r = -1 r t+2 = 0.0 r t+2 = -0.25 10/35 C x 5
Sviluppo przile 2 pssi C su giù dx sx C+Dy C-Dy C+Dx C su giù dx sx A C-Dy +Dx C+2Dx C 11/35 3 ssunzioni: Problemtiche legte l clcolo di V(s): problem di policy evlution 1) Conoscenz dell dinmic dell mbiente: P(s->s j ) 2) Conoscenz osce dell policy (eventulmente e e stocstic), s c π(s, ) 3) Potenz di clcolo sufficiente 4) Proprietà Mrkovine dell mbiente (definizione di uno stto). Le equzioni contengono dei termini sttistici (vlori ttesi). Soluzione di un sistem linere in N incognite (numero di stti). Come mi posso determinre l Vlue function per l policy π(.), se quest si bs sul rewrd che riceverò negli istnti futuri? C e poc interzione con l mbiente e molt simulzione (cf. metodi Montecrlo). 12/35 6
L Vlue function sulle zioni L vlue function può rigurdre le zioni. Action-Vlue function Q = = = = k s, ) Eπ { Rt st s, t } Eπ γ rt + k + st = s, t = k = 0 π ( 1 Mssimizzo l ricompens lungo termine, Q(.). Dipende dll policy. Dove bbimo già trovto un Vlue function ssocit lle zioni? 13/35 Sommrio Determinzione ricorsiv dell Vlue function Dlle equzioni di Bellmn ll itertive policy evlution. Determinzione dell policy ottim. 14/35 7
Policy Fig. 3.4 L policy deve essere ncor determint. Come f l gente determinre l policy ottimle? Archi multipli fuoriuscenti d un zione sono ssociti ll probbilità di scegliere quel cmmino (mbiente stocstico). Archi multipli fuoriuscenti d uno stto, sono ssociti ll policy. 15/35 Ottimizzzione policy Per ogni stto scelgo le zioni secondo l policy: π(s,). Posso ordinre l Vlue function V(s) in funzione delle zioni scelte in s (policy). Si definisce un policy, π 1, migliore di un ltr, π 2, se e solo se: V π1 (s) > =V π2 (s) s. In prticolre si definisce un politic ottim, π *, se e solo se: V * (s) > =V π (s) s Q * (s,) > =Q π (s,) [s,]. 16/35 8
Rissunto Posso determinre l Vlue function in modo ricorsivo. Per ogni stto, srà funzione dell output dell mbiente in quell istnte (ttrverso l funzione stto prossimo ed il rewrd istntneo) e dell policy scelt in quell istnte e dei rewrd lungo termine ttesi negli stti in cui l mbiente mi port. Per scegliere l policy devo esminre il rewrd lungo termine che mi si prospett nello stto in cui mi trovo e scegliere l zione che lo mssimizz. 17/35 Itertive policy evlution Evoluzione del sistem d s(t=0) {s (t = T)} utilizzndo l policy π(s,), prefisst. Qunto vlgono gli stti? Prto d V(s(t=0)) k=0 rbitrri, otterrò un vlue function per ogni stto che srà funzione di V(s(t=0)). Devo migliorre, come? Utilizzimo l informzione sul pssto. {V} 0, {V} 1, {V} 2, {V} 3, {V} 4, {V} 5,. {V} 18/35 9
Fondmenti del metodo Supponimo di essere ll istnte t. In questo istnte t, si può pssre d un certo insieme di stti: {s t+1 }. Anlizzimo un solo psso: cos succede nell trnsizione d t t+1. Migliorre l stim dell nostr Vlue Function d ogni iterzione. 19/35 Tecnic full-bckup t Bck-up π(s,) fisst Conoscimo V k (s(t)) s, nche per s quindi Anlizzimo l trnsizione d s(t) -> {s (t+1)} Clcolimo un nuovo vlore di s: V k+1 (s(t)) congruente con V k (s(t)) ed r t+1 Full bckup se esminimo tutti gli s (cf. DP). π fisst D s mi gurdo indietro ed ggiorno V(s). 20/35 t+1 10
Clcolo itertivo dell Vlue Function Per ogni stto s, estrtto cso, nlizzimo un singol trnsizione. Equzione di Bellmn per itertive policy evlution : V (, s) P [ R V ( ')] 1( s) = π j s s' s s' + γ k s j j j s' k + Mi fido di V k (s ) (Bckup) lim k { V k ( s)} = V π ( s) 21/35 Algoritmo per itertive policy evlution, versione btch Prtimo d un politic π(s,) dt. Definimo un sogli di convergenz τ Inizilizzimo V(s) = 0 s, compreso gli stti finli. Repet { Δ = 0; for s = 1 : N // s, j TS j { π ( s, j ) P R ' V ( s') s s' s s + γ > > j s' W(s) = [ ] // W(s) è V k+1 (s) Δ = mx(δ, V(s) W (s) ) } for s=1:n V(s) = W(s); } Until (Δ < τ); 22/35 11
Interpretzione dell updte (btch o tril) j j ( s, j ) [ R ' V ( s') ] s s' s s V(s) = π P > + γ > () j s' Al termine dell ggiornmento dei V(s) per tutti gli stti, V(s) = V new (s). Aggiornmento btch. Utilizzerò in prte già il nuovo vlore di V(s) ll interno dell equzione equzione di ggiornmento. Aggiornmento per tril. Entrmbe le modlità di ggiornmento convergono. 23/35 Algoritmo per itertive policy evlution, versione per tril Prtimo d un politic π(s,) dt. Definimo un sogli reltiv di convergenz τ Inizilizzimo V(s) = 0 s, compreso gli stti finli. Repet { Δ = 0; for s = 1 : N // s, TS { Vlue = V(s); V k+1 (s) = k 1 j j [ Rs > s V ( s') ] π ( s, j ) P ' + γ s' j s > s' Δ = mx(δ, ( Vlue V k+1 (s) ) / Vlue ) } } Until (Δ < τ); 24/35 12
Esempio L gente evolve esplorndo gli stti 1-14. 14 TS sono gli stti TS 1 2 3 terminli. L gente può spostrsi: {dx, sx, lto, bsso} π(s,) è equiprobbile. R =-1 per ogni trnsizione, trnne qundo s = TS (R = 0). γ = 1. 4 5 6 7 8 9 10 11 12 13 14 TS 25/35 Esempio V(s) k=0 26/35 13
Esempio V(s) k=1 V(s) k=0 0-0.75-1 -1-0.75-1 -1-1 -1-1 -1-0.75-1 -1-0.75 0 V(s) k=1 Esempi: V(s=10) k=1 = 0.25 [1 (-1 + 1 V(14) k=0 ]+ 0.25 [1 (-1 + 1 V(6) k=0 ]+ 0.25 [1 (-1 + 1 V(9) k=0 ] + 0.25 [1 (-1 + 1 V(11) k=0 ] = -1 V(s=1) k=1 = 0.25 [1 (-1 + 1 V(1) k=0 ]+ 0.25 [1 (-1 + 1 V(5) k=0 ]+ 0.25 [1 (0 + 1 V(TS) k=0 ] + 0.25 [1 (-1 + 1 V(2) k=0 ] = -0.75 27/35 Esempio V(4) k=1 per tril V(s) k=0 0-0.75-1 -1-0,75?? 0 0 0 0-0 0 V(s) k=1 Per epoch: V(s=5) k=1 = 0.25 [1 (-1 + 1 V(9) k=0 ]+ 0.25 [1 (-1 + 1 V(6) k=0 ]+ 0.25 [1 (-1 + 1 V(4) k=0 ] + 0.25 [1 (-1 + 1 V(1) k=0 ] = -1 Per tril: V(s=5) k=1 = 0.25 [1 (-1 + 1 V(9) ]+ 0.25 [1 (-1 + 1 V(6)]+ 0.25 [1 (0 + 1 V(4)] + 0.25 [1 (-1 + 1 V(1)] = -1.375 28/35 14
Esempio V(s) k=2 0-0.75-1 -1-0.75 075-1 -1-1 -1-1 -1-0.75-1 -1-0.75 0 V(s) k=1 0-1.4375-1.9375-2 -1.4375-1.875-2 -1.9375-1.9375-2 -1.875-1.4375-2 -1.9375-1.4375 0 V(s) k=2 Esempi: V(s=10) k=2 = 0.25 [1 (-1 + 1 V(14) k=1 ]+ 0.25 [1 (-1 + 1 V(6) k=1 ]+ 0.25 [1 (-1 + 1 V(9) k=1 ] + 0.25 [1 (-1 + 1 V(11) k=0 ] = -1.875 V(s=1) k=2 = 0.25 [1 (-1 + 1 V(1) k=1 ]+ 0.25 [1 (-1 + 1 V(5) k=1 ]+ 0.25 [1 (0 + 1 V(TS) k=1 ] + 0.25 [1 (-1 + 1 V(2) k=1 ] = -1.4375 29/35 Sommrio Determinzione ricorsiv dell Vlue function Dlle equzioni di Bellmn ll itertive policy evlution. Determinzione dell policy ottim. 30/35 15
Esempio di clcolo di V*(s) - I V(high): stte = high, ction = wit Q( high, wit) = 1[ R α = 0.4, β = 0.1, γ = 0.8, R Wit = 1, R Serch = 3 wit * + γv ( high)] serch serch * stte = highh, ction = serch Q ( highh, serch ) = α [ R + γ V *( highh )] + (1 α )[ R + γ V ( low )] V(low): stte = low, ction = wit Q( low, wit) = [ R stte = low, ction = serch Q( low, serch) = β[ R stte = low, ction = rechr Q( low, rechr) = γv wit * + γv ( low)] 31/35 * serch ( h) * * + γv ( low)] + (1 β )[ 3 + γv ( high)] Esempio di clcolo di V*(s) - II s = HighEnergy = Serch; Vh 6 + 0.65V*l = Wit; Vh = 5 (per ogni V*l) s = Low = Serch; Vl -2.2 + 6.6 V*h = Wit; Vl = 5 = Rechrge; Vl = 0.8 V*h Come clcolo V*h ev*l? 32/35 16
Esempio di clcolo di V*(s) - III s = HighEnergy = Serch; Vh 6 + 0.65V*l = Wit; Vh = 5 (per ogni V*l) s = Low = Serch; Vl -2.2 + 6.6 V*h = Wit; Vl = 5 = Rechrge; Vl = 0.8 V*h Scelgo Mx Sistem non-linere.. si per lo stto High Energy che Low Energy 33/35 Esempio di clcolo di V*(s) - IV s = HighEnergy = Serch; Vh 6 + 0.65Vl 9.25 s = Low = Wit; Vl = 5 s = HighEnergy = Serch; Vh 6 + 0.65Vl 12 s = Low = Rechrge; Vl = 0.8 * Vh = 9.6 s = HighEnergy = Wit; Vh 5 s = Low = Serch; Vl = -2.2 + 6.6Vh 33 Serve comunque un vlutzione globle di V(s) per i vri stti. L soluzione dipende dl vlore dei prmetri. 34/35 17
Sommrio Determinzione ricorsiv dell Vlue function Dlle equzioni di Bellmn ll itertive policy evlution. Determinzione dell policy ottim. 35/35 18