Upload
others
View
4
Download
0
Embed Size (px)
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