53
cenje sa pojaˇ cavanjem Petar Veliˇ ckovi´ c Matematiˇ cka gimnazija NEDELJA 4 INFORMATIKE 28. mart 2018. cenje sa pojaˇ cavanjem Petar Veliˇ ckovi´ c

Petar Velickoviˇ c´

  • Upload
    others

  • View
    4

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Petar Velickoviˇ c´

Ucenje sa pojacavanjem

Petar Velickovic

Matematicka gimnazijaNEDELJA4

INFORMATIKE

28. mart 2018.

Ucenje sa pojacavanjem Petar Velickovic

Page 2: Petar Velickoviˇ c´

Motivacija Teorijski uvod REINFORCE A2C Prakticni detalji Blast from the past

Za pocetak. . .

I Ovo je verovatno moje poslednje NI predavanje.

I Pokušacu da vam, u narednih sat vremena, docaramnajzabavniju stvar kojom sam imao prilike da se bavimotkako sam krocio na univerzitet. . .

I . . . Naucicu vas kako da naucite vaše programe da seinteligentno ponašaju u proizvoljnim okolnostima!

I Sledi nekoliko manje ili više bliskih primera. . .

Ucenje sa pojacavanjem Petar Velickovic

Page 3: Petar Velickoviˇ c´

Motivacija Teorijski uvod REINFORCE A2C Prakticni detalji Blast from the past

Arcade Learning Environment

Ucenje sa pojacavanjem Petar Velickovic

Page 4: Petar Velickoviˇ c´

Motivacija Teorijski uvod REINFORCE A2C Prakticni detalji Blast from the past

DeepMind Labyrinth

Ucenje sa pojacavanjem Petar Velickovic

Page 5: Petar Velickoviˇ c´

Motivacija Teorijski uvod REINFORCE A2C Prakticni detalji Blast from the past

DeepMind Labyrinth

Ucenje sa pojacavanjem Petar Velickovic

Page 6: Petar Velickoviˇ c´

Motivacija Teorijski uvod REINFORCE A2C Prakticni detalji Blast from the past

DeepMind Labyrinth

Ucenje sa pojacavanjem Petar Velickovic

Page 7: Petar Velickoviˇ c´

Motivacija Teorijski uvod REINFORCE A2C Prakticni detalji Blast from the past

MuJuCo

Ucenje sa pojacavanjem Petar Velickovic

Page 8: Petar Velickoviˇ c´

Motivacija Teorijski uvod REINFORCE A2C Prakticni detalji Blast from the past

MuJuCo

Ucenje sa pojacavanjem Petar Velickovic

Page 9: Petar Velickoviˇ c´

Motivacija Teorijski uvod REINFORCE A2C Prakticni detalji Blast from the past

StarCraft II

Ucenje sa pojacavanjem Petar Velickovic

Page 10: Petar Velickoviˇ c´

Motivacija Teorijski uvod REINFORCE A2C Prakticni detalji Blast from the past

Ucenje sa pojacavanjem (Reinforcement Learning)

I Radimo sa agentom koji je sposoban da izvodi akcijeunutar okruženja, cime:

I izaziva da okruženje promeni stanje;I dobija nagradni signal.

Cilj agenta je maksimizirati buduce nagrade.

Agent Okruženjeai

si+1, ri

s0

I Pri igranju video igrica: stanja mogu biti slike ekrana ilisadržaj memorije, akcije su moguci pritisci tastera(ukljucujuci NOP), nagrade su promene u poenima.

Ucenje sa pojacavanjem Petar Velickovic

Page 11: Petar Velickoviˇ c´

Motivacija Teorijski uvod REINFORCE A2C Prakticni detalji Blast from the past

Markovljev proces odlucivanja (MDP)

Problem

I Stanja, s ∈ S, i akcije, a ∈ A.I Model prelaza, T : S ×A → S. Novo stanje: T (s, a) = s′.I Model nagrada, R : S ×A → R. Nagrada: R(s, a) = r.

Rešenje

I Polisa, π : S → A, naucena iz videnih (s, a, r, s′) cetvorki.I U stanju s, izvesti akciju α = π(s).

Slicno ucenju psa, ili možda malog deteta. :)

Ucenje sa pojacavanjem Petar Velickovic

Page 12: Petar Velickoviˇ c´

Motivacija Teorijski uvod REINFORCE A2C Prakticni detalji Blast from the past

MDP pretpostavke

+ Markovljevo svojstvo (pretpostavljamo da prethodna stanjanemaju nikakav uticaj na trenutno okruženje);

+ Stacionarnost (parametri okruženja se ne menjaju);

− Zakasnele nagrade (bez momentalne ocene neke akcije);

− Male promene parametara okruženja mogu znacajnouticati na optimalnu polisu!

? Problem dodele zasluga: odrediti koje akcije u nekom nizusu najzaslužnije za dobijeni niz nagrada.

Ucenje sa pojacavanjem Petar Velickovic

Page 13: Petar Velickoviˇ c´

Motivacija Teorijski uvod REINFORCE A2C Prakticni detalji Blast from the past

Dodatne pretpostavke

I Beskonacni horizont (∼ agent može živeti vecno).I za konacne horizonte, u polisu uracunavamo i preostalo

vreme, tj. π(s, t).

I Vrednosti niza stanja:

V(s0, s1, . . . , sn, . . . ) > V(s0, s′1, . . . , s

′n, . . . )

=⇒ V(s1, s2, . . . , sn, . . . ) > V(s′1, s′2, . . . , s

′n, . . . )

I Naivno definisanje ovih vrednosti

V(s0, . . . sn, . . . ) =

+∞∑t=0

rt

ne radi za beskonacne horizonte! (zašto?)

Ucenje sa pojacavanjem Petar Velickovic

Page 14: Petar Velickoviˇ c´

Motivacija Teorijski uvod REINFORCE A2C Prakticni detalji Blast from the past

Kumulativna nagrada sa popustom

I Da bismo ispravili ovaj problem, uvodimo faktor popusta,γ ∈ [0, 1), koji skalira sve buduce nagrade:

V(s0, . . . sn, . . . ) =

+∞∑t=0

γtrt

Ovo je metrika koju uglavnom optimizuju algoritmi ucenjasa pojacanjem.

I Ukoliko pretpostavimo da su nagrade ogranicene odozgosa Rmax, lako je pokazati da ova metrika popravljaprethodni problem:

+∞∑t=0

γtrt ≤+∞∑t=0

γtRmax =Rmax

1− γ

Ucenje sa pojacavanjem Petar Velickovic

Page 15: Petar Velickoviˇ c´

Motivacija Teorijski uvod REINFORCE A2C Prakticni detalji Blast from the past

Modeliranje polise

I Pretpostavicemo da smo našu polisu, π, izrazili prekonekih N realnih parametara, θ ∈ RN .

I Takode cemo pretpostaviti da nam polisa, osim jedneakcije, vraca verovatnoce za svaku! Pišemo:

P(a|s, θ) = πθ(s, a)

I Obavezno važi da se ove verovatnoce sumiraju u 1:

∀s ∈ S.∑a∈A

πθ(s, a) = 1

Ucenje sa pojacavanjem Petar Velickovic

Page 16: Petar Velickoviˇ c´

Motivacija Teorijski uvod REINFORCE A2C Prakticni detalji Blast from the past

Greedy ilustracija

££ ££ ££

s0 s1 s2

[0.12,0.64, 0.07, 0.17] [0.03, 0.24,0.47, 0.26] [0.82, 0.04, 0.08, 0.06]

πθ(s0) πθ(s1) πθ(s2)

gore desno pokupi

r0 = 0 r1 = 0 r2 = 2

R(s0, ↑) R(s1,→) R(s2, ?)

T (s0, ↑) T (s1,→)

Ucenje sa pojacavanjem Petar Velickovic

Page 17: Petar Velickoviˇ c´

Motivacija Teorijski uvod REINFORCE A2C Prakticni detalji Blast from the past

Naš cilj: Ocekivana kumulativna nagrada

I Cilj je odabrati parametre θ tako da maksimiziramoocekivanu kumulativnu nagradu:

θ = argmaxθ

Eπθ

(+∞∑t=0

γtrt

)

gde je rt nagrada dobijena u t-tom koraku, sve vremeprateci polisu πθ.

I Ukoliko dizajniramo polisu tako da bude diferencijabilna posvakom od parametara, tj. možemo izracunati gradijent:

∇θπθ(s, a) =(∂πθ(s,a)∂θ1

∂πθ(s,a)∂θ2

. . . ∂πθ(s,a)∂θN

)moci cemo optimizovati polisu koristeci gradijentni spust.

Ucenje sa pojacavanjem Petar Velickovic

Page 18: Petar Velickoviˇ c´

Motivacija Teorijski uvod REINFORCE A2C Prakticni detalji Blast from the past

Naša metoda: Gradijentni spust

I U narednih nekoliko slajdova, izvecemo formulu kojom, akomožemo izracunati ∇θπθ(s, a), možemo (približno)

izracunati i ∇θEπθ(

+∞∑t=0

γtrt

).

I Tada možemo koristiti ovu vrednost da bismo ažuriralinaše parametre θ (u pravcu gradijenta):

θ ← θ + η∇θEπθ

(+∞∑t=0

γtrt

)

gde je η brzina ucenja (learning rate).

I Možemo koristiti standardne algoritme (poput Adam iRMSprop) da bismo automatski odabrali vrednost η.

Ucenje sa pojacavanjem Petar Velickovic

Page 19: Petar Velickoviˇ c´

Motivacija Teorijski uvod REINFORCE A2C Prakticni detalji Blast from the past

Podsetnik: Gradijentni spust

Ucenje sa pojacavanjem Petar Velickovic

Page 20: Petar Velickoviˇ c´

Motivacija Teorijski uvod REINFORCE A2C Prakticni detalji Blast from the past

Prema efektivnom algoritmu

I Uslovicemo ocekivanu kumulativnu nagradu preko svihmogucih putanja (nizova stanja) τ = (sτ0 , s

τ1 , . . . , s

τkτ+1).

I Definišimo kumulativnu vrednost putanje τ , R(τ), kao:

R(τ) =

kτ∑t=0

γtrτt

.

I Tada možemo zapisati ocekivanje na sledeci nacin:

Eπθ

(+∞∑t=0

γtrt

)= Eτ |πθ (R(τ)) =

∑τ∈T

R(τ)P(τ |πθ)

Ucenje sa pojacavanjem Petar Velickovic

Page 21: Petar Velickoviˇ c´

Motivacija Teorijski uvod REINFORCE A2C Prakticni detalji Blast from the past

Prema efektivnom algoritmu, cont’d

Da bismo mogli upotrebiti gradijentni spust, poteban nam jegradijent ovog izraza, ∇θEτ |πθ (R(τ)):

∇θEτ |πθ (R(τ)) = ∇θ∑τ∈T

R(τ)P(τ |πθ)

=∑τ∈T

R(τ)∇θP(τ |πθ)

=∑τ∈T

R(τ)∇θP(τ |πθ)P(τ |πθ)

P(τ |πθ)

=∑τ∈T{R(τ)∇θ logP(τ |πθ)}P(τ |πθ)

= Eτ |πθ (R(τ)∇θ logP(τ |πθ))

Ucenje sa pojacavanjem Petar Velickovic

Page 22: Petar Velickoviˇ c´

Motivacija Teorijski uvod REINFORCE A2C Prakticni detalji Blast from the past

Prema efektivnom algoritmu, cont’d

Da bismo mogli upotrebiti gradijentni spust, poteban nam jegradijent ovog izraza, ∇θEτ |πθ (R(τ)):

∇θEτ |πθ (R(τ)) = ∇θ∑τ∈T

R(τ)P(τ |πθ)

=∑τ∈T

R(τ)∇θP(τ |πθ)

=∑τ∈T

R(τ)∇θP(τ |πθ)P(τ |πθ)

P(τ |πθ)

=∑τ∈T{R(τ)∇θ logP(τ |πθ)}P(τ |πθ)

= Eτ |πθ (R(τ)∇θ logP(τ |πθ))

Ucenje sa pojacavanjem Petar Velickovic

Page 23: Petar Velickoviˇ c´

Motivacija Teorijski uvod REINFORCE A2C Prakticni detalji Blast from the past

Prema efektivnom algoritmu, cont’d

Da bismo mogli upotrebiti gradijentni spust, poteban nam jegradijent ovog izraza, ∇θEτ |πθ (R(τ)):

∇θEτ |πθ (R(τ)) = ∇θ∑τ∈T

R(τ)P(τ |πθ)

=∑τ∈T

R(τ)∇θP(τ |πθ)

=∑τ∈T

R(τ)∇θP(τ |πθ)P(τ |πθ)

P(τ |πθ)

=∑τ∈T{R(τ)∇θ logP(τ |πθ)}P(τ |πθ)

= Eτ |πθ (R(τ)∇θ logP(τ |πθ))

Ucenje sa pojacavanjem Petar Velickovic

Page 24: Petar Velickoviˇ c´

Motivacija Teorijski uvod REINFORCE A2C Prakticni detalji Blast from the past

Prema efektivnom algoritmu, cont’d

Da bismo mogli upotrebiti gradijentni spust, poteban nam jegradijent ovog izraza, ∇θEτ |πθ (R(τ)):

∇θEτ |πθ (R(τ)) = ∇θ∑τ∈T

R(τ)P(τ |πθ)

=∑τ∈T

R(τ)∇θP(τ |πθ)

=∑τ∈T

R(τ)∇θP(τ |πθ)P(τ |πθ)

P(τ |πθ)

=∑τ∈T{R(τ)∇θ logP(τ |πθ)}P(τ |πθ)

= Eτ |πθ (R(τ)∇θ logP(τ |πθ))

Ucenje sa pojacavanjem Petar Velickovic

Page 25: Petar Velickoviˇ c´

Motivacija Teorijski uvod REINFORCE A2C Prakticni detalji Blast from the past

Prema efektivnom algoritmu, cont’d

Da bismo mogli upotrebiti gradijentni spust, poteban nam jegradijent ovog izraza, ∇θEτ |πθ (R(τ)):

∇θEτ |πθ (R(τ)) = ∇θ∑τ∈T

R(τ)P(τ |πθ)

=∑τ∈T

R(τ)∇θP(τ |πθ)

=∑τ∈T

R(τ)∇θP(τ |πθ)P(τ |πθ)

P(τ |πθ)

=∑τ∈T{R(τ)∇θ logP(τ |πθ)}P(τ |πθ)

= Eτ |πθ (R(τ)∇θ logP(τ |πθ))

Ucenje sa pojacavanjem Petar Velickovic

Page 26: Petar Velickoviˇ c´

Motivacija Teorijski uvod REINFORCE A2C Prakticni detalji Blast from the past

Prema efektivnom algoritmu, cont’d

I Razmotrimo konkretnu putanju:

τ =

(s0

a0−→r0

s1a1−→r1

s2a2−→r2

. . .akτ−1−−−−→rkτ−1

skτakτ−−→rkτ

skτ+1

)I Tada, zbog pretpostavke da je sistem deterministicki, i da

sledece stanje zavisi samo od trenutnog:

logP(τ |πθ) = log

kτ∏t=0

P(at|st, θ)

= log

kτ∏t=0

πθ(st, at)

=

kτ∑t=0

log πθ(st, at)

Ucenje sa pojacavanjem Petar Velickovic

Page 27: Petar Velickoviˇ c´

Motivacija Teorijski uvod REINFORCE A2C Prakticni detalji Blast from the past

Prema efektivnom algoritmu, almost there. . .

I Konacno, možemo ovo ubaciti u prethodno rešenje, i dobiti:

∇θEτ |πθ (R(τ)) = Eτ |πθ

(R(τ)

kτ∑t=0

∇θ log πθ(st, at)

)

I Ovu ocekivanu vrednost možemo aproksimirati tako štokoristimo πθ da “odigramo” putanju τ , pa izracunamo ovajizraz (i ažuriramo θ) nad tom putanjom!

I Ovaj izraz možemo izracunati: R(τ) je lako izracunljiv izvidenih nagrada, a pretpostavili smo da možemo izracunati∇θπθ(st, at), pa možemo izracunati i ∇θ log πθ(st, at).

I Ovim smo izveli izuzetno koristan algoritam, REINFORCE!

Ucenje sa pojacavanjem Petar Velickovic

Page 28: Petar Velickoviˇ c´

Motivacija Teorijski uvod REINFORCE A2C Prakticni detalji Blast from the past

Algoritam REINFORCE

1. Poceti sa nasumicnim parametrima θ.

2. Odigrati putanju (s0, a0, r0, . . . , sk, ak, rk, sk+1) koristecipolisu πθ; za svaki korak t ∈ {0, . . . , k}:

I at ∼ πθ(st, at)I rt = R(st, at)I st+1 = S(st, at)

Ovo nastaviti sve dok st+1 nije konacno stanje, ili t = tmax.

3. Izracunati vrednost putanje, R =∑k

t=0 γtrt.

4. Za svaki korak t ∈ {0, . . . , k}, ažurirati θ:

θ ← θ + ηR∇θ log πθ(st, at)

Nazad na korak 2.

Ucenje sa pojacavanjem Petar Velickovic

Page 29: Petar Velickoviˇ c´

Motivacija Teorijski uvod REINFORCE A2C Prakticni detalji Blast from the past

REINFORCE: analiza

I Intuitivno, ovaj algoritam pokušava da da veci znacaj onimnizovima akcija koji su, sveukupno, doveli do vecekumulativne nagrade (R).

I Medutim, nemamo nacin da razdvojimo uticaj svake akcijepojedinacno, kao ni relativan znacaj akcija iz nekog stanja:

I Šta ukoliko je neka akcija donela visoku nagradu, alipostojala je mnogo bolja iz datog stanja?

I Šta ukoliko je neka akcija donela nisku nagradu, ali nijemoglo bolje iz datog stanja?

I Borba sa ovim problemima dovešce nas do dalekostabilnijeg algoritma!

Ucenje sa pojacavanjem Petar Velickovic

Page 30: Petar Velickoviˇ c´

Motivacija Teorijski uvod REINFORCE A2C Prakticni detalji Blast from the past

Modeliranje vrednosti stanja i akcija

I Da bi mogli da napredujemo, neophodno je imati ocenuvrednosti nekog stanja, V (s), koje se može definisati kaoocekivana vrednost putanje u kojoj je s0 = s.

I Sada, ukoliko imamo putanju (s0, . . . , sk, sk+1), možemo zabilo koji korak t definisati vrednost akcije at u stanju st:

Qt(st, at) =

k−t∑i=0

γirt+i + γk−t+1V (sk+1)

gde uzimamo V (sk+1) = 0 ako je sk+1 konacno stanje.

Ucenje sa pojacavanjem Petar Velickovic

Page 31: Petar Velickoviˇ c´

Motivacija Teorijski uvod REINFORCE A2C Prakticni detalji Blast from the past

Modeliranje prednosti akcija

I Konacno, možemo definisati prednost akcije at u stanju st:

At(st, at) = Qt(st, at)− V (st)

I Ovu vrednost onda možemo koristiti za skaliranjeažuriranja koraka t u REINFORCE algoritmu:

θ ← θ + ηAt(st, at)∇θ log πθ(st, at)

I Primetite znacaj ovog broja: on predstavlja našu ocenukoliko je ova akcija bolja od ocekivane iz ovog stanja!

I Ovim uspešno balansiramo ažuriranja nad stanjima iz kojihsu skale nagrada drasticno drugacije.

Ucenje sa pojacavanjem Petar Velickovic

Page 32: Petar Velickoviˇ c´

Motivacija Teorijski uvod REINFORCE A2C Prakticni detalji Blast from the past

Funkcija vrednosti

I Medutim, uglavnom ne možemo izracunati vrednosti V (s)direktno (zahtevalo bi evaluaciju svih putanja iz stanja s).

I Stoga, moramo i njih da aproksimiramo: izrazicemofunkciju Vψ(s) preko realnih parametara ψ ∈ RM .

I Paralelno sa ucenjem θ, naucicemo i ψ tako da predvidenevrednosti Vψ(s) budu bliske vrednostima putanja kojevidimo tokom treninga.

I Ponovo, pretpostavicemo da je ova funkcija diferencijabilnapo parametrima, tj. možemo izracunati ∇ψVψ(s).

I Ovim smo izveli algoritam prednosti aktera-kriticara(Advantage Actor-Critic—A2C).

I Polisa πθ je “akter”, a vrednost Vψ je “kriticar”.

Ucenje sa pojacavanjem Petar Velickovic

Page 33: Petar Velickoviˇ c´

Motivacija Teorijski uvod REINFORCE A2C Prakticni detalji Blast from the past

Algoritam A2C

1. Poceti sa nasumicnim parametrima θ i ψ.

2. Odigrati putanju (s0, a0, r0, . . . , sk, ak, rk, sk+1) koristecipolisu πθ, kao i u REINFORCE algoritmu.

3. Za svaki korak t ∈ {0, . . . , k}, izracunati vrednost/prednost:

Qt =

k−t∑i=0

γirt+i + γk−t+1Vψ(sk+1), At = Qt − Vψ(st)

4. Za svaki korak t ∈ {0, . . . , k}, ažurirati θ i ψ:

θ ← θ + ηAt∇θ log πθ(st, at)

ψ ← ψ + η′∇ψ (Qt − Vψ(st))2

Nazad na korak 2.

Ucenje sa pojacavanjem Petar Velickovic

Page 34: Petar Velickoviˇ c´

Motivacija Teorijski uvod REINFORCE A2C Prakticni detalji Blast from the past

Istraživati ili eksploatisati?

I Veliki problem kome treba posvetiti pažnju pri ucenju sapojacavanjem je problem istraživanja protiveksploatacije (exploration/exploitation tradeoff).

I Ne želimo da previše brzo postanemo samouvereni u našupolisu—verovatno je suboptimalna u ranijim fazamatreninga, kada treba ohrabriti agenta da istražuje!

I Ovo je bio centralni problem u jednom od zadataka naovogodišnjem testu! :)

I Želimo da favorizujemo “haoticnije” polise na pocetku.

I Jedna mera kojom možemo odrediti “haos” raspodeleverovatnoce je entropija.

Ucenje sa pojacavanjem Petar Velickovic

Page 35: Petar Velickoviˇ c´

Motivacija Teorijski uvod REINFORCE A2C Prakticni detalji Blast from the past

Entropija

I Ako imamo slucajnu promenljivu X koja uzima jednu od kvrednosti, sa verovatnocama p1, . . . , pk, onda se entropijaove promenljive, H(X), definiše kao:

H(X) = −k∑i=1

pi log pi

Entropija okvirno definiše koliko “informacija” saznajemokada saznamo vrednost X. Ishodi sa višim verovatnocamasu manje informativni (jer ih ocekujemo).

I Entropija je najveca (sistem je najhaoticniji) kada je, zasve i, pi ≈ 1

k (uniformna raspodela).I Entropija je najmanja (sistem je najstabilniji) kada je, za

neko i, pi ≈ 1, dok su svi ostali pj ≈ 0.

Ucenje sa pojacavanjem Petar Velickovic

Page 36: Petar Velickoviˇ c´

Motivacija Teorijski uvod REINFORCE A2C Prakticni detalji Blast from the past

Entropija jednog novcica

0.2 0.4 0.6 0.8 1

0.2

0.4

0.6

0.8

1

P(X = 1)

H(X

)

Ucenje sa pojacavanjem Petar Velickovic

Page 37: Petar Velickoviˇ c´

Motivacija Teorijski uvod REINFORCE A2C Prakticni detalji Blast from the past

Entropijska regularizacija

I U praksi cemo dodati parametar u ažuriranje parametarapolise πθ koji ce do neke mere održati entropiju u polisi.

I Konkretno, sada ažuriramo θ na sledeci nacin:

θ ← θ + η (At∇θ log πθ(st, at) + β∇θH(πθ(st)))

gde je πθ(st) =(πθ(st, α1) πθ(st, α2) . . . πθ(st, α|A|)

).

I Hiperparametar β kontroliše koliko haoticnu polisu želimo:prikladno je npr. poceti sa visokim vrednostima (da nebismo prerano konvergirali u suboptimalnu polisu), ipostepeno ih smanjivati tokom treninga.

I istraživanje −→ eksploatacija.

Ucenje sa pojacavanjem Petar Velickovic

Page 38: Petar Velickoviˇ c´

Motivacija Teorijski uvod REINFORCE A2C Prakticni detalji Blast from the past

Asinhrone metode

I Pošto pri ucenju sa pojacavanjem ucimo delovanjemunutar okruženja, koje se samo mora ažurirati (uglavnomunutar jednog procesorskog thread-a) svaki put kadaizvršimo akciju, prednosti koje dobijamo korišcenjemgrafickih karti su sada minimalne (ili nepostojece).

I Da bi naš algoritam maksimalno iskoristio potencijalprocesora, idealno bi trebalo da paralelno lansiramonekoliko kopija okruženja odjednom!

I Sada cemo ukratko definisati kako efikasno koordinisatiagentima koji deluju u svakoj od ovih kopija.

Ucenje sa pojacavanjem Petar Velickovic

Page 39: Petar Velickoviˇ c´

Motivacija Teorijski uvod REINFORCE A2C Prakticni detalji Blast from the past

A3C

I Održavacemo centralne parametre θ (od funkcije poliseπθ) i ψ (od funkcije vrednosti Vψ).

I Svaki agent ce najpre napraviti svoju kopiju centralnihparametara (θ′, ψ′), pa ce na osnovu njih izracunatineophodna ažuriranja:

∆θ ←k∑t=0

η (At∇θ′ log πθ′(st, at) + β∇θ′H(πθ′(st)))

∆ψ ←k∑t=0

η′∇ψ′(Qt − Vψ′(st)

)2

Ucenje sa pojacavanjem Petar Velickovic

Page 40: Petar Velickoviˇ c´

Motivacija Teorijski uvod REINFORCE A2C Prakticni detalji Blast from the past

A3C, cont’d

I Onda se ova ažuriranja šalju centrali, koji ih primenjuje(θ ← θ + ∆θ, ψ ← ψ + ∆ψ), jedno po jedno, po redosledudolaska u centralu.

I Ovim nismo samo efektivno iskoristili procesorske resurse,nego i uveli dodatan šum u centralne parametre (pošto suse parametri gotovo sigurno promenili otkako ih je jedanagent iskopirao), kojim dodatno sprecavamo da se preranofokusiraju na suboptimalne vrednosti!

I Ovim smo definisali asinhronu verziju A2C algoritma(Asynchronous Advantage Actor-Critic—A3C).

I Danas jedan od najpopularnijih algoritama za ucenje zapojacavanjem—pogotovo zato što ne zahteva GPU!

Ucenje sa pojacavanjem Petar Velickovic

Page 41: Petar Velickoviˇ c´

Motivacija Teorijski uvod REINFORCE A2C Prakticni detalji Blast from the past

A3C ilustracija: inicijalizacija

Agent 1(θ′1, ψ

′1)

Agent 2(θ′2, ψ

′2)

Agent 3(θ′3, ψ

′3)

. . . Agent n(θ′n, ψ

′n)

Centralni parametri(θ, ψ)

Okruženje 1(T ,R)

Okruženje 2(T ,R)

Okruženje 3(T ,R)

Okruženje n(T ,R)

kopijakopija kopija

kopija

s0 s0 s0 s0

Red

(∆θ,∆ψ)

Ucenje sa pojacavanjem Petar Velickovic

Page 42: Petar Velickoviˇ c´

Motivacija Teorijski uvod REINFORCE A2C Prakticni detalji Blast from the past

A3C ilustracija: simulacija

Agent 1(θ′1, ψ

′1)

Agent 2(θ′2, ψ

′2)

Agent 3(θ′3, ψ

′3)

. . . Agent n(θ′n, ψ

′n)

Centralni parametri(θ, ψ)

Okruženje 1(T ,R)

Okruženje 2(T ,R)

Okruženje 3(T ,R)

Okruženje n(T ,R)

at at at atrt, st+1 rt, st+1 rt, st+1 rt, st+1

Red

(∆θ,∆ψ)

Ucenje sa pojacavanjem Petar Velickovic

Page 43: Petar Velickoviˇ c´

Motivacija Teorijski uvod REINFORCE A2C Prakticni detalji Blast from the past

A3C ilustracija: ažuriranje

Agent 1(θ′1, ψ

′1)

Agent 2(θ′2, ψ

′2)

Agent 3(θ′3, ψ

′3)

. . . Agent n(θ′n, ψ

′n)

Centralni parametri(θ, ψ)

Okruženje 1(T ,R)

Okruženje 2(T ,R)

Okruženje 3(T ,R)

Okruženje n(T ,R)

kopija

at at atrt, st+1 rt, st+1 rt, st+1s0

Red

(∆θ,∆ψ)

+

Ucenje sa pojacavanjem Petar Velickovic

Page 44: Petar Velickoviˇ c´

Motivacija Teorijski uvod REINFORCE A2C Prakticni detalji Blast from the past

Konacno. . . šta su πθ i Vψ?

I Iako πθ i Vψ mogu da budu bilo koje diferencijabilneparametrizovane funkcije, danas se u praksi gotovo uvekza njih koriste neuralne mreže (težine su parametri).

I Završicu ovo predavanje sa minimalnim opisom neuralnihmreža, i kratkim komentarom na koji nacin se uglavnomubacuju unutar A3C algoritma.

Ucenje sa pojacavanjem Petar Velickovic

Page 45: Petar Velickoviˇ c´

Motivacija Teorijski uvod REINFORCE A2C Prakticni detalji Blast from the past

Jedan stvaran neuron!

Ucenje sa pojacavanjem Petar Velickovic

Page 46: Petar Velickoviˇ c´

Motivacija Teorijski uvod REINFORCE A2C Prakticni detalji Blast from the past

Jedan veštacki neuron!

U ovom kontekstu cesto nazivan i perceptronom (. . . )

Σ σ

+1

x1

x2

x3

xn

bw1

w2

w3

w nh(~x; ~w) = σ

(b+

n∑i=1

wixi

)

...

Cesti izbori aktivacione funkcije σ:I σ(x) = x (identitet);I σ(x) = max(0, x) (ReLU);I σ(x) = 1

1+exp(−x) ; σ(x) = tanhx (sigmoidne funkcije).

Ucenje sa pojacavanjem Petar Velickovic

Page 47: Petar Velickoviˇ c´

Motivacija Teorijski uvod REINFORCE A2C Prakticni detalji Blast from the past

Aktivacione funkcije

−2−1.8−1.6−1.4−1.2−1−0.8−0.6−0.4−0.2 0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 2−2

−1.5

−1

−0.5

0

0.5

1

1.5

2

z

σ(z)Ceste aktivacione funkcije

IdentityLogisticTanhReLU

Ucenje sa pojacavanjem Petar Velickovic

Page 48: Petar Velickoviˇ c´

Motivacija Teorijski uvod REINFORCE A2C Prakticni detalji Blast from the past

Neuralne mreže

I Lako je proširiti jedan neuron na neuralnumrežu—povezivanjem izlaza neurona sa ulazima drugihneurona (uz specijalne ulazne i izlazne neurone).

I Ovo možemo uraditi na dva nacina:I Aciklicno (feedforward): ne postoji ciklus izmedu neurona.I Rekurentno (recurrent): postoji ciklus izmedu neurona.

I Ovde cemo se fokusirati samo na aciklicne neuralnemreže, ali su rekurentne sve popularnije za RL.

Ucenje sa pojacavanjem Petar Velickovic

Page 49: Petar Velickoviˇ c´

Motivacija Teorijski uvod REINFORCE A2C Prakticni detalji Blast from the past

Višeslojni perceptroni

Aciklicna arhitektura sa najvecim kapacitetom dozvoljavapotpunu povezanost izmedu susednih slojeva—ponekadnazivana i višeslojnim perceptronom (multilayerperceptron—MLP).

Σ σ

+1

x1

x2

x3

xn

bw1

w2

w3

w n

σ

(b+

n∑i=1

wixi

)

...

I1

I2

I3

Ulaznisloj

Skrivenisloj

Izlaznisloj

O1

O2

Ucenje sa pojacavanjem Petar Velickovic

Page 50: Petar Velickoviˇ c´

Motivacija Teorijski uvod REINFORCE A2C Prakticni detalji Blast from the past

Mreže za polisu i vrednost

I Iako mogu da budu potpuno odvojene mreže, πθ i Vψ ceuglavnom deliti sve skrivene slojeve (radi zaštite odprekomernog fitovanja)!

I Vrednosti potrebnih gradijenata se mogu izracunatikoristeci algoritam propagacije unazad(backpropagation)—ovo je vec implementirano za nas uvecini biblioteka za duboko mašinsko ucenje!

Ucenje sa pojacavanjem Petar Velickovic

Page 51: Petar Velickoviˇ c´

Motivacija Teorijski uvod REINFORCE A2C Prakticni detalji Blast from the past

Ulazni i izlazni neuroni

Na ulazne neurone dolazi stanje s, dok mreža ima dva izlaznasloja (oba izvedena iz poslednjeg skrivenog sloja):

I Za vrednosti πθ(s), koristi se |A| izlaznih neurona, na kojeje primenjena softmaks aktivacija; za akciju αi, ciji neuronima vrednost zi:

softmax(~z)i =exp(zi)∑j exp(zj)

Ova funkcija je monotona i sabija vrednoti u opseg [0, 1],tako da se sumiraju u 1—efektivno modelirajuci raspodeluverovatnoca po akcijama.

I Za vrednost Vψ(s), koristi se jedan izlazni neuron, bezaktivacione funkcije.

Ucenje sa pojacavanjem Petar Velickovic

Page 52: Petar Velickoviˇ c´

Motivacija Teorijski uvod REINFORCE A2C Prakticni detalji Blast from the past

A3C mreže

πθ(s, α3)

πθ(s, α4)

πθ(s, α5)

πθ(s, α2)

πθ(s, α1)

Vψ(s)

s

Ucenje sa pojacavanjem Petar Velickovic

Page 53: Petar Velickoviˇ c´

Motivacija Teorijski uvod REINFORCE A2C Prakticni detalji Blast from the past

That’s all, folks. . .

I Hvala vam na pažnji (pogotovo onima koji su me slušalivec cetiri godine)! Bilo mi je zadovoljstvo. :’)

I Za bilo kakva pitanja, ne ustrucavajte se!

I Nadam se da ce vam se svideti RL radionica!

Ucenje sa pojacavanjem Petar Velickovic