G epi Tanul as El}oad as 2 - Eötvös Loránd University · 2019-05-10 · G epi Tanul as El}oad as...

15
epi Tanul´ asEl˝oad´ as 2 Fel¨ ugyelt Tanul´ as: Mesters´ eges M´ ely Neur´ alis H´ al´ ozatok Milacski Zolt´ an ´ Ad´ am 1 1 E¨otv¨ os Lor´ and Tudom´ anyegyetem Programoz´ aselm´ elet ´ esSzoftvertechnol´ogiaiTansz´ ek [email protected] 2019. m´ ajus 8. Milacski Zolt´ an ´ Ad´ am (ELTE) epi Tanul´ asEl˝oad´ as 2 2019. m´ ajus 8. 1 / 15

Transcript of G epi Tanul as El}oad as 2 - Eötvös Loránd University · 2019-05-10 · G epi Tanul as El}oad as...

Page 1: G epi Tanul as El}oad as 2 - Eötvös Loránd University · 2019-05-10 · G epi Tanul as El}oad as 2 Felugy elt Tanul as: Mesters eges M ely Neur alis H al ozatok Milacski Zolt an

Gepi Tanulas Eloadas 2Felugyelt Tanulas: Mesterseges Mely Neuralis Halozatok

Milacski Zoltan Adam1

1Eotvos Lorand TudomanyegyetemProgramozaselmelet es Szoftvertechnologiai Tanszek

[email protected]

2019. majus 8.

Milacski Zoltan Adam (ELTE) Gepi Tanulas Eloadas 2 2019. majus 8. 1 / 15

Page 2: G epi Tanul as El}oad as 2 - Eötvös Loránd University · 2019-05-10 · G epi Tanul as El}oad as 2 Felugy elt Tanul as: Mesters eges M ely Neur alis H al ozatok Milacski Zolt an

Gepi TanulasFelugyelt, Felugyeletlen es Megerosıteses

Mult oran: Felugyelt, KNN, RF;Ma: Felugyelt, Mesterseges Mely Neuralis Halozatok (ANN, DNN);Jovo oran: Felugyeletlen, Megerosıteses.

Milacski Zoltan Adam (ELTE) Gepi Tanulas Eloadas 2 2019. majus 8. 2 / 15

Page 3: G epi Tanul as El}oad as 2 - Eötvös Loránd University · 2019-05-10 · G epi Tanul as El}oad as 2 Felugy elt Tanul as: Mesters eges M ely Neur alis H al ozatok Milacski Zolt an

Felugyelt TanulasFormalisan: Optimalizacios Feladat

Adottak az (xn, yn), n = 1, . . . ,N tanıtoparok, keressuk az optimalis θ∗

parameterbeallıtast az f (θ, ·) parameteres lekepezeshez ugy, hogyf (θ∗, xn) ≈ yn (kozelıtsuk az xn 7→ yn lekepezest):

minθ

L(θ, xn, yn) =1

N

N∑n=1

`(f (θ, xn)︸ ︷︷ ︸

yn

, yn),

ahol `(yn, yn) a hibafuggveny es θ a parametervektor.Becsles (f (θ∗, xn) kiszamıtasa adott θ∗-ra) nagyon gyors!Tanıtas (minimalizalo θ∗ megkeresese) nagyon lassu!Altalaban: nemkonvex optimalizalasi feladat, NP-nehez a θ∗ globalisoptimumot megtalalni.Jo hırek: mukodik, de csak ha. . .

. . .N eleg nagy! Az yn-ek osszegyujtese draga human munka. . . (UL?),

. . . `(yn, yn), f (θ, xn) es az optimalizalasi modszer megfeleloen vannakmegvalasztva! Nehez human munka, sok kıserlet. . . (UL?),. . . θ kozel van θ∗-hoz! Egyelore nem tudjuk bizonyıtani, de megy, ıgyfeltehetoen igaz. . . (θ∗ egyebkent is tul moho es tultanulasra vezet. . . ).

Milacski Zoltan Adam (ELTE) Gepi Tanulas Eloadas 2 2019. majus 8. 3 / 15

Page 4: G epi Tanul as El}oad as 2 - Eötvös Loránd University · 2019-05-10 · G epi Tanul as El}oad as 2 Felugy elt Tanul as: Mesters eges M ely Neur alis H al ozatok Milacski Zolt an

Parameteres lekepezes es Optimalizalasi modszerOsszehasonlıtas

Parameteres lekepezes es Optimalizalasi modszer szorosan osszetartozik.Osszehasonlıtas:

Modszer θ f (θ, xn) minθ Megjegyzes

KNN(xn, yn),

n = 1, . . . ,N

∑Nn=1 w

KNNn yn

nincs,θ∗ ismert

nem tomorıt,lassu,

glob. opt. θ∗,K -ra erzekeny

RF legj. vago valt.,t kuszobok

∑Nn=1 w

RFn yn

moho,faepıtes

tomorıt,gyors,

nodusra opt.,ossz. szubopt.

θ∗

DNN wj sulyok h(∑J

j=1 wjxn,j +b)tobbsz. ossz. fv.

gradiens-modszer

tomorıt,gyors,

ossz. lok. opt.,glob. opt θ∗?

Milacski Zoltan Adam (ELTE) Gepi Tanulas Eloadas 2 2019. majus 8. 4 / 15

Page 5: G epi Tanul as El}oad as 2 - Eötvös Loránd University · 2019-05-10 · G epi Tanul as El}oad as 2 Felugy elt Tanul as: Mesters eges M ely Neur alis H al ozatok Milacski Zolt an

Mesterseges Mely Neuralis Halozatok

Mesterseges Mely Neuralis Halozat (DNN): Osszetett fuggveny alakuparameteres lekepezes:

f (θ, xn) = gK (θK , gK−1 (· · · g2 (θ2, g1(θ1, xn)) · · · ))

ahol θ = {θ1, . . . , θK} a parameterek (sulyok). Nemkonvex, mert θi es θj(i 6= j) szorzata megjelenik f (θ, xn)-ben.

Reteg: x(k)n = gk(θk , x

(k−1)n )

Halozat (eloreterjesztes): f (θ, xn).A retegek alacsonyabb szintu leıro valtozokat kombinalnak ossze magasabbszintuekke az osszetett fuggveny alak miatt.A foemlosok latorendszeret utanozza:

Milacski Zoltan Adam (ELTE) Gepi Tanulas Eloadas 2 2019. majus 8. 5 / 15

Page 6: G epi Tanul as El}oad as 2 - Eötvös Loránd University · 2019-05-10 · G epi Tanul as El}oad as 2 Felugy elt Tanul as: Mesters eges M ely Neur alis H al ozatok Milacski Zolt an

Mesterseges Mely Neuralis HalozatokRetegek es Nemlinearitasok

Retegek:Suru (Teljes Konnektivitasu, 2D vektorok): x

(k)n = hk(Wkx

(k−1)n + bk)

Konvolucios (Lokalis Konnektivitasu, 4D kepek): x(k)n = hk(Wk ∗ x (k−1)

n + bk)

Milacski Zoltan Adam (ELTE) Gepi Tanulas Eloadas 2 2019. majus 8. 6 / 15

Page 7: G epi Tanul as El}oad as 2 - Eötvös Loránd University · 2019-05-10 · G epi Tanul as El}oad as 2 Felugy elt Tanul as: Mesters eges M ely Neur alis H al ozatok Milacski Zolt an

Mesterseges Mely Neuralis HalozatokRetegek es Nemlinearitasok

Retegek:

Rekurrens (3D idosorok): x(k)n,t = hk(W hh

k x(k)n,t−1 + W xh

k x(k−1)n,t + bk)

Nemlinearitasok: hk elemenkenti nemlinearis fuggveny a retegekben.

sigmoid: hk(z) = 11+e−z ,

tanh: hk(z) = tanh(z),

relu: hk(z) = max(0, z),

softmax: hk(z)j = ezj∑I

i=1 ezi.

Milacski Zoltan Adam (ELTE) Gepi Tanulas Eloadas 2 2019. majus 8. 7 / 15

Page 8: G epi Tanul as El}oad as 2 - Eötvös Loránd University · 2019-05-10 · G epi Tanul as El}oad as 2 Felugy elt Tanul as: Mesters eges M ely Neur alis H al ozatok Milacski Zolt an

Mesterseges Mely Neuralis HalozatokOptimalizalasi Modszer: Gradiens-modszer

Keressuk θ∗-ot! f (θ, xn) derivalhato θ szerint, ıgy L(θ, xn, yn) is.

Sztochasztikus Gradiens-modszer (SGD): Negatıv gradiens a lokalis optimumfele mutat, lepjunk picit ebbe az iranyba! Legyen θ0 ∼ N (0, 0.0012), ezutan:

θl+1 := θl − α∂L(θ, xn, yn)

∂θ

∣∣∣∣θ=θl

.

Tanulasi rata (lepeskoz): α, pici szam, pl. 0.001.

Visszaterjesztes: ∂L(θ,xn,yn)∂θ , automatikus gepi derivalassal (lancszabaly. . . ).

Minibatch: (xn, yn) parok veletlen reszhalmaza minden lepesben.

Elakadhat nyeregpontokban!Kvazi-Newton modszerek: ki tudnak mozdulni nyeregpontokbol adaptıvtanulasi ratakkal, pl. RMSProp, Adadelta, Adam.

Milacski Zoltan Adam (ELTE) Gepi Tanulas Eloadas 2 2019. majus 8. 8 / 15

Page 9: G epi Tanul as El}oad as 2 - Eötvös Loránd University · 2019-05-10 · G epi Tanul as El}oad as 2 Felugy elt Tanul as: Mesters eges M ely Neur alis H al ozatok Milacski Zolt an

Mesterseges Mely Neuralis HalozatokSzoftvereszkozok

Hasznaljunk GPU-t gyorsasaghoz: a tenzormuveletek zavarbaejtoenparhuzamosak. SGD megfelelo keves memoriahoz.Problema: GPU programozas tul alacsony szintu (lassu es hibakkal telifejlesztes). . .Megoldas: kodoljunk magas szinten (pl. Python-ban) es fordıtsuk le alacsonyszintu GPU kodra!Ehhez specialis szoftvereszkozok szuksegesek:

CUDA, OpenCL: Alacsony szintu, GPU kod

Tensorflow, Theano, CNTK, PyTorch: Kozepes szintu (Back-end),szimbolikus eloreterjesztes, automatikus szimbolikus derivalas, fordıtas GPUkodra es meghıvas konkret numerikus ertekekkel

Keras: Magas szintu (Front-end), nemlinearitasok, retegek, hibafuggvenyek,gradiens-modszerek

OpenAI Gym: Megerosıteses Tanulas framework

Hyperopt: Hiperparameter kereses

Sacred: Kıserletek logolasa es reprodukcioja

Elasticluster: Elosztott szamıtasok felhobenMilacski Zoltan Adam (ELTE) Gepi Tanulas Eloadas 2 2019. majus 8. 9 / 15

Page 10: G epi Tanul as El}oad as 2 - Eötvös Loránd University · 2019-05-10 · G epi Tanul as El}oad as 2 Felugy elt Tanul as: Mesters eges M ely Neur alis H al ozatok Milacski Zolt an

Mesterseges Mely Neuralis HalozatokGPU programozas Tensorflow-ban

Fejezzuk ki algoritmusunkat szimbolikus formaban, szamıtasi graf felepıtesevel

Epıtes fazis:Tensor: tıpusos tobbdimenzios tomb (statikus tıpus, dimenzio, meret).Operation (op): kap nulla vagy nehany tenzort, szamol veluk, majd visszaadnulla vagy nehany tenzort (szimbolikus gradiense implementalva van).Variable: allapotok tarolasa tobb hıvas (vegrehajtas) kozottm (tf.assign op).Placeholder: bemenetek, kijelolik a ‘feed’ muveleteket.

Vegrehajtasi fazis:Session: muveleteket eszkozre (CPU vagy GPU) helyezi, metodusokat ad avegrehajtasukhoz, tenzorokat ad vissza numpy ndarray-kent.Fetch: muveletek kimeneteinek kinyerese, graf vegrehajtasa.Feed: muvelet kimeneteinek lecserelese konkret tenzor ertekre.

Milacski Zoltan Adam (ELTE) Gepi Tanulas Eloadas 2 2019. majus 8. 10 / 15

Page 11: G epi Tanul as El}oad as 2 - Eötvös Loránd University · 2019-05-10 · G epi Tanul as El}oad as 2 Felugy elt Tanul as: Mesters eges M ely Neur alis H al ozatok Milacski Zolt an

Mesterseges Mely Neuralis HalozatokMely Halok implementacioja Tensorflow-ban

Hogyan csinaljunk Mesterseges Mely Neuralis Halozatot Tensorflow-ban?

Name Math Tensorflow

Bemenet, kimenet xn, yn, n = 1, . . . , N tf.placeholderParameter θ tf.VariableEloreterjesztes f (θ, xn) tf.nn ops

Hibafuggvenyion L(θ, xn, yn) = 1N

∑Nn=1 l

(f (θ, xn) , yn

)tf.losses ops

Szimbolikus gradiens∂L(θ,xn,yn)

∂θtf.gradients op

Inicializacio θ0 tf.random normal initializer

Gradiens-modszer θl+1 := θl − α∂L(θ,xn,yn)

∂θ

∣∣∣∣θ=θl

tf.train.Optimizer

Tanıt, tesztel, becsul xn := Xn, yn := Yn tf.Session.run(), fetch, feed

Elony: Az ∂L(θ,xn,yn)∂θ szimbolikus gradiens

automatikusan szamolhato a tf.gradients op altal(lancszabaly tobbszori ismetlesevel a szamıtasi grafon,ahol minden op-nak ismert a gradiense; ezt rendkıvul

nehez lenne papıron levezetni). Ez nagybanegyszerusıti a kıserletezgetest (csak az Eloreterjesztest

kell cserelgetni, ami konnyu)!Hatrany: Nehez debug-olni.

Milacski Zoltan Adam (ELTE) Gepi Tanulas Eloadas 2 2019. majus 8. 11 / 15

Page 12: G epi Tanul as El}oad as 2 - Eötvös Loránd University · 2019-05-10 · G epi Tanul as El}oad as 2 Felugy elt Tanul as: Mesters eges M ely Neur alis H al ozatok Milacski Zolt an

Mesterseges Mely Neuralis HalozatokMely Halok implementacioja Keras-ban

Problema: Tensorflow-ban rendre ugyanazokat a szamıtasi reszgrafokat (retegek,nemlinearitasok) kell megadni, ujra implementalgatni oket felesleges. Ezekmagasabb absztrakcios szintet kepviselnek.Megoldas: Keras magasabb szinten rendszerezi oket objektum-orientaltsaggal(osztalyok es oroklodes)!

Konnyu es gyors prototıpus gyartas (felhasznalobarat, modularis, bovıtheto).Sok beepıtett reteg osztaly, amik kombinalhatoak is.Hasznalhat TensorFlow-t, CNTK-t vagy Theano-t a hatterben(keras.backend).Csak Python (nincs szukseg egyeb konfiguracios fajlokra, ıgy bovıtheto).Egyszeru keras.models.Model metodusok tanıtasra, tesztelesre, becslesre:fit(), evaluate(), predict().

Milacski Zoltan Adam (ELTE) Gepi Tanulas Eloadas 2 2019. majus 8. 12 / 15

Page 13: G epi Tanul as El}oad as 2 - Eötvös Loránd University · 2019-05-10 · G epi Tanul as El}oad as 2 Felugy elt Tanul as: Mesters eges M ely Neur alis H al ozatok Milacski Zolt an

Mesterseges Mely Neuralis HalozatokMegoldatlan Kerdesek

Tetelek: ekvivalencia konvolucios ReLU halok es ritka reprezentacio kozott(utobbira sok bizonyıtott tetel van, pl. globalisan optimalis θ∗-ra). De lesztobb tetel is hamarosan. . .Jobb retegek: Kapszulak (Hinton) magasabb rendu invarians valtozokkal. . .Jobb fejlesztoi eszkozok: imperatıv programozas, debug-olas. . .

Milacski Zoltan Adam (ELTE) Gepi Tanulas Eloadas 2 2019. majus 8. 13 / 15

Page 14: G epi Tanul as El}oad as 2 - Eötvös Loránd University · 2019-05-10 · G epi Tanul as El}oad as 2 Felugy elt Tanul as: Mesters eges M ely Neur alis H al ozatok Milacski Zolt an

Ajanlott Irodalom

Online Kurzusok

Vincent Vanhoucke kurzusa: TensorflowAndrew Ng kurzusa: Gep Tanulas BevezetoNVIDIA kurzusa: SzoftvereszkozokGeoffrey Hinton kurzusa: ElmeletAndrej Karpathy kurzusa: Konvolucios HalokStephen Boyd kurzusa: Konvex OptimalizalasGeorgia Tech kurzusa: Megerosıteses Tanulas

Forraskodok

Keras utmutatoKeras peldakKeras GitHub (halado)

Tudomanyos Cikkek

Google Scholar (halado): Yann LeCun, Joshua Bengio, Geoffrey Hinton, IlyaSutskever, Christian Szegedy, Alex Krizhevsky, Andrew Ng, Quoc Le, VincentVanhoucke, Diederik Kingma

Milacski Zoltan Adam (ELTE) Gepi Tanulas Eloadas 2 2019. majus 8. 14 / 15

Page 15: G epi Tanul as El}oad as 2 - Eötvös Loránd University · 2019-05-10 · G epi Tanul as El}oad as 2 Felugy elt Tanul as: Mesters eges M ely Neur alis H al ozatok Milacski Zolt an

Alkalmazasok

Youtube videok

Milacski Zoltan Adam (ELTE) Gepi Tanulas Eloadas 2 2019. majus 8. 15 / 15