Petar Velickoviˇ c´

Preview:

Citation preview

Ucenje sa pojacavanjem

Petar Velickovic

Matematicka gimnazijaNEDELJA4

INFORMATIKE

28. mart 2018.

Ucenje sa pojacavanjem Petar Velickovic

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

Motivacija Teorijski uvod REINFORCE A2C Prakticni detalji Blast from the past

Arcade Learning Environment

Ucenje sa pojacavanjem Petar Velickovic

Motivacija Teorijski uvod REINFORCE A2C Prakticni detalji Blast from the past

DeepMind Labyrinth

Ucenje sa pojacavanjem Petar Velickovic

Motivacija Teorijski uvod REINFORCE A2C Prakticni detalji Blast from the past

DeepMind Labyrinth

Ucenje sa pojacavanjem Petar Velickovic

Motivacija Teorijski uvod REINFORCE A2C Prakticni detalji Blast from the past

DeepMind Labyrinth

Ucenje sa pojacavanjem Petar Velickovic

Motivacija Teorijski uvod REINFORCE A2C Prakticni detalji Blast from the past

MuJuCo

Ucenje sa pojacavanjem Petar Velickovic

Motivacija Teorijski uvod REINFORCE A2C Prakticni detalji Blast from the past

MuJuCo

Ucenje sa pojacavanjem Petar Velickovic

Motivacija Teorijski uvod REINFORCE A2C Prakticni detalji Blast from the past

StarCraft II

Ucenje sa pojacavanjem Petar Velickovic

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

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

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

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

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

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

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

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

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

Motivacija Teorijski uvod REINFORCE A2C Prakticni detalji Blast from the past

Podsetnik: Gradijentni spust

Ucenje sa pojacavanjem Petar Velickovic

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Motivacija Teorijski uvod REINFORCE A2C Prakticni detalji Blast from the past

Jedan stvaran neuron!

Ucenje sa pojacavanjem Petar Velickovic

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

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

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

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

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

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

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

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