duboko učenje - zemris.fer.hrssegvic/du/du0intro.pdf · motivacija: strojno učenje strojno...

40
Duboko učenje Uvodno predavanje Siniša Šegvić Sveučilište u Zagrebu Fakultet elektrotehnike i računarstva 1/40

Upload: tranbao

Post on 26-Jun-2018

257 views

Category:

Documents


12 download

TRANSCRIPT

Page 1: Duboko učenje - zemris.fer.hrssegvic/du/du0intro.pdf · Motivacija: strojno učenje Strojno učenje: proučava algoritme čija funkcionalnost nije unaprijed isprogramirana nego je

Duboko učenjeUvodno predavanje

Siniša Šegvić

Sveučilište u Zagrebu

Fakultet elektrotehnike i računarstva

→ 1/40

Page 2: Duboko učenje - zemris.fer.hrssegvic/du/du0intro.pdf · Motivacija: strojno učenje Strojno učenje: proučava algoritme čija funkcionalnost nije unaprijed isprogramirana nego je

Sadržaj uvodnog predavanja□ Motivacija za duboko učenje:

□ strojno učenje i umjetna inteligencija□ duboko učenje i kompozitni modeli

□ O predmetu:□ glavne teme□ način održavanja nastave, razdioba bodova, literatura

□ Pregled osnova strojnog učenja:□ osnovni pojmovi i tehnike□ primjeri algoritama□ suvremeni izazovi i prednosti dubokog učenja

□ O nultoj laboratorijskoj vježbi:□ parcijalne derivacije vektorskih funkcija□ logistička regresija□ Python, numpy, matplotlib

Uvodno predavanje → Sadržaj uvodnog predavanja 2/40

Page 3: Duboko učenje - zemris.fer.hrssegvic/du/du0intro.pdf · Motivacija: strojno učenje Strojno učenje: proučava algoritme čija funkcionalnost nije unaprijed isprogramirana nego je

Motivacija: strojno učenje

□ Strojno učenje: proučava algoritme čija funkcionalnost nijeunaprijed isprogramirana nego je zadana primjerima za učenje:

□ jedan od središnjih problema umjetne inteligencije

□ Umjetna inteligencija: proučava izradu strojeva koji "misle":□ zadatci koji su teški za ljude, a relativno laki za računala

□ zadatci koji su laki za ljude, a vrlo teški za računala

□ Primjer: program koji u ovim slikama pronalazi kravu□ sofisticirano ponašanje često je lakše naučiti nego isprogramirati.

Uvodno predavanje → Motivacija 3/40

Page 4: Duboko učenje - zemris.fer.hrssegvic/du/du0intro.pdf · Motivacija: strojno učenje Strojno učenje: proučava algoritme čija funkcionalnost nije unaprijed isprogramirana nego je

Motivacija: umjetna inteligencijaOdnos AI vs ML:

□ rani pristupi: nema učenja

□ klasični pristupi: naučiti plitkimodel na konstruiranimznačajkama

□ reprezentacijski pristupi:naučiti i značajke i model

□ duboki pristupi: odjednomnaučiti (engl. end to end) niztransformacija

Učenje postaje sve važnije!Podatkovne reprezentacije isto!

[goodfellow16]Uvodno predavanje → Motivacija 4/40

Page 5: Duboko učenje - zemris.fer.hrssegvic/du/du0intro.pdf · Motivacija: strojno učenje Strojno učenje: proučava algoritme čija funkcionalnost nije unaprijed isprogramirana nego je

Motivacija: podatkovne reprezentacijeU računarstvu, težina obrade često ovisi o reprezentaciji podataka:

□ premalo značajki -> nema dovoljno informacije□ previše značajki -> opasnost od prenaučenosti

Za dani zadatak, jedne značajke mogu biti pogodnije od drugih□ MCMLXXI + XIX vs 1971 + 19?

Ponekad značajke nije lako konstruirati ručno□ Grci i Rimljani u više od 1000 godina civilizacije

nisu uspjeli izumiti položajni brojevni sustav□ to je značajno otežalo razvoj matematike

□ MCMLXXI + XXIX = ?

□ MXXIV : LXIV = ?

□ ⇒ naučene reprezentacije su zanimljive![goodfellow16]

Uvodno predavanje → Motivacija (2) 5/40

Page 6: Duboko učenje - zemris.fer.hrssegvic/du/du0intro.pdf · Motivacija: strojno učenje Strojno učenje: proučava algoritme čija funkcionalnost nije unaprijed isprogramirana nego je

Motivacija: primjerKako razlikovati slike goveda od slika bizona?

[image-net.org]

Težina klasifikacije jako ovisi o reprezentaciji podataka□ životinje bi bilo lako razlikovati kad bi neki magični algoritam

pretvorio sliku u binarni vektor: [krzno?, grba?, divljina?, ...]□ većina bizona bi bili: [DA, DA, DA, ...]□ većina goveda bi bila: [NE, NE, NE, ...]

Najbolje: istovremeno učiti i reprezentaciju i klasifikacijsko pravilo!Uvodno predavanje → Motivacija (3) 6/40

Page 7: Duboko učenje - zemris.fer.hrssegvic/du/du0intro.pdf · Motivacija: strojno učenje Strojno učenje: proučava algoritme čija funkcionalnost nije unaprijed isprogramirana nego je

Motivacija: plitki modeli□ Dominantni pristup strojnom učenju 1990-2006: ručno

konstruirane značajke i plitki klasifikatori s konveksnim gubitkom□ SVM, logistička regresija, generalizirani linearni modeli.

□ U to vrijeme, prednosti plitkih modela bile su jasne:□ jezgreni trik osigurava ogroman reprezentacijski potencijal□ konvergencija učenja je garantirana i brza□ kompetitivna točnost raspoznavanja u praksi

[Wikipedia]

□ Ipak, ti postupci ne mogu razlikovati krave od bizona...Uvodno predavanje → Motivacija (4) 7/40

Page 8: Duboko učenje - zemris.fer.hrssegvic/du/du0intro.pdf · Motivacija: strojno učenje Strojno učenje: proučava algoritme čija funkcionalnost nije unaprijed isprogramirana nego je

Motivacija: duboko učenjeDuboki model: slijed naučenih nelinearnih transformacija.

Zašto duboko učenje nije bilo popularno?□ nema garancije uspjeha učenja

□ nekonveksni gubitak → lokalni minimumi

□ nezanimljiva točnost raspoznavanja

Zašto je duboko učenje postalo uspješno?□ nove tehnike modeliranja i učenja

□ veliki skupovi podataka (n=106)□ velika procesna moć (TFLOPS)

□ cuda, cuDNN, OpenBLAS, OpenMP

f1(x,Θ1)

xΘ1

f2(h1,Θ2)

h1

f3(h2,Θ3)

h2

f4(h3,Θ4)

h3

p(govedo|x)

Θ2

Θ3

Θ4

p(bizon|x)

Primjene: razumijevanje slika, jezika i govora, bioinformatika itd.Uvodno predavanje → Motivacija (5) 8/40

Page 9: Duboko učenje - zemris.fer.hrssegvic/du/du0intro.pdf · Motivacija: strojno učenje Strojno učenje: proučava algoritme čija funkcionalnost nije unaprijed isprogramirana nego je

Motivacija: no free lunchDuboki modeli nisu "radili" kako treba jer nismo imali:

□ dovoljno jake strojeve da dočekamo konvergenciju□ dovoljno podataka da ih naučimo□ tehnike koje pospješuju konvergenciju

Međutim, to ne pojašnjava zašto bi duboki modeli bolje generalizirali oddrugih modela velikog kapaciteta (kSVM, stabla, ...)

Performansa na neviđenim podatcima ovisi o pristranosti algoritma:□ pretpostavke modela, gubitka ili optimizacijske metode

□ ako te pretpostavke odgovaraju podatcima - performansa algoritmaće zadovoljavati

□ logistička regresija: izvrstan odabir za linearno razdvojive razrede

□ algoritme učenja ne možemo vrednovati neovisno o svojstvimastvarnih podataka: no free lunch theorem [domingos12cacm]

Uvodno predavanje → Motivacija (6) 9/40

Page 10: Duboko učenje - zemris.fer.hrssegvic/du/du0intro.pdf · Motivacija: strojno učenje Strojno učenje: proučava algoritme čija funkcionalnost nije unaprijed isprogramirana nego je

Motivacija: kompozitni modeliKompozitna struktura: važanoblik pristranosti dubokih modela

□ podatkovna reprezentacija narazini n gradi se odreprezentacija na razini n-1

□ to svojstvo dubokih modeladobro odgovara podatcima umnogim teškim zadatcima

□ npr. auto ima kotače, kotačiimaju naplatke, naplatciimaju rupice

□ slova čine riječi, riječisintagme, a sintagmerečenice.

[zeiler14eccv]

Uvodno predavanje → Motivacija (7) 10/40

Page 11: Duboko učenje - zemris.fer.hrssegvic/du/du0intro.pdf · Motivacija: strojno učenje Strojno učenje: proučava algoritme čija funkcionalnost nije unaprijed isprogramirana nego je

Motivacija: duboko učenje - primjene

□ Primjene:□ računalni vid: klasifikacija slika, lokalizacija objekata, raspoznavanje

simbola, semantička segmentacija

□ obrada prirodnog jezika: analiza sentimenta, automatskoprevođenje, generiranje odgovora...

□ pretraživanje informacija: učenje rangiranja

□ raspoznavanje govora

Uvodno predavanje → Motivacija (8) 11/40

Page 12: Duboko učenje - zemris.fer.hrssegvic/du/du0intro.pdf · Motivacija: strojno učenje Strojno učenje: proučava algoritme čija funkcionalnost nije unaprijed isprogramirana nego je

Motivacija: još jedan primjer

□ Neka su gornje slike zadane kao negativi te donje kao pozitivi:

□ Kako biste pronašli gdje su objekti u prethodno neviđenim slikama?

→ →

Uvodno predavanje → Motivacija (9) 12/40

Page 13: Duboko učenje - zemris.fer.hrssegvic/du/du0intro.pdf · Motivacija: strojno učenje Strojno učenje: proučava algoritme čija funkcionalnost nije unaprijed isprogramirana nego je

O predmetu: planŠto ćemo proučavati?

□ elementi unaprijednog dubokog učenja:□ potpuno povezani modeli

(prva laboratorijska vježba)

□ optimizacijske metode

□ diskriminativni konvolucijski modeli(druga laboratorijska vježba)

□ regularizacija

□ povratni modeli(treća laboratorijska vježba)

□ generativni modeli(četvrta laboratorijska vježba)

Uvodno predavanje → O predmetu 13/40

Page 14: Duboko učenje - zemris.fer.hrssegvic/du/du0intro.pdf · Motivacija: strojno učenje Strojno učenje: proučava algoritme čija funkcionalnost nije unaprijed isprogramirana nego je

O predmetu: predznanjePotrebno predznanje za praćenje kolegija:

□ linearna algebra (§2.1 - §2.11) i teorija vjerojatnosti (§3.1 - §3.11)

□ gradijentni spust u plitkim modelima (§4.3)

□ analiza vektorskih funkcija više varijabli (§4.3.1)

□ osnovni pojmovi i tehnike strojnog učenja (§5.1 - §5.11)

□ osnove programskog jezika Python i biblioteke numpy

Nulta laboratorijska vježba: instrument za provjeru/sticanje predznanja□ možete (trebate!) je odmah riješiti

□ ako ne riješite nultu vježbu - prva vježba će vam biti preteška

□ gradivo svih laboratorijskih vježbi će ući u međuispit i ispit

Uvodno predavanje → O predmetu 14/40

Page 15: Duboko učenje - zemris.fer.hrssegvic/du/du0intro.pdf · Motivacija: strojno učenje Strojno učenje: proučava algoritme čija funkcionalnost nije unaprijed isprogramirana nego je

O predmetu: laboratorijPredvidjeli smo četiri laboratorijske vježbe:

0. vektorska algebra, plitki modeli, Python i numpy

1. potpuno povezani unaprijedni modeli

2. konvolucijski modeli

3. povratni modeli

4. generativni modeli

Vježbe se rade kod kuće, a predaju u terminu vježbi□ računalni zahtjevi: Linux, Numpy, Scipy, Matplotlib i Tensorflow□ ako bude interesa, organizirat ćemo termine na ZEMRIS-u.

Laboratorijske vježbe su središnji dio predmeta:□ izravnih 20% bodova 4× (5 + 5)

□ oko 40% zadataka na međuispitima i ispitima.Uvodno predavanje → O predmetu (2) 15/40

Page 16: Duboko učenje - zemris.fer.hrssegvic/du/du0intro.pdf · Motivacija: strojno učenje Strojno učenje: proučava algoritme čija funkcionalnost nije unaprijed isprogramirana nego je

O predmetu: uvjeti, bodoviAktivnosti: predavanja, kratke provjere, vježbe (Python), međuispit,završni ispit, klasični ispitKalendar nastave:kraj listopada: L1sredina studenog: L2kraj studenog: MIpočetak siječnja: L3sredina siječnja: L4kraj siječnja: ZIpočetak veljače: KI

Kontinuirana provjera:laboratorij: 10 (A) + 10 (B)ispiti: 35, 40preduvjet: 40% laboratorija

Klasični ispit:preduvjet: 40% laboratorija

Mogućnost dobivanja bonus bodova za: korisne sugestije, prijedlogeproblemskih zadataka ili vježbi, seminare

□ javiti se e-mailom bilo kojem nositelju ili asistentu

Ocjenjivanje. 2: 50%, 3: 63%, 4: 76%, 5: 89%.Uvodno predavanje → O predmetu (3) 16/40

Page 17: Duboko učenje - zemris.fer.hrssegvic/du/du0intro.pdf · Motivacija: strojno učenje Strojno učenje: proučava algoritme čija funkcionalnost nije unaprijed isprogramirana nego je

O predmetu: predavači i asistentiUnaprijedni diskriminativni modeli

□ predavanja:□ Siniša Šegvić, Marko Čupić

□ prva i druga laboratorijska vježba:□ Ivan Krešo, Marin Oršić, Petra Bevandić, Siniša Šegvić

Povratni modeli□ predavanja:

□ Martin Tutek,□ treća laboratorijska vježba:

□ Martin Tutek, Marin Oršić, Petra Bevandić, Siniša Šegvić

Generativni modeli□ predavanja:

□ Marko Subašić, Sven Lončarić□ četvrta laboratorijska vježba:

□ Marko Subašić,Uvodno predavanje → O predmetu (4) 17/40

Page 18: Duboko učenje - zemris.fer.hrssegvic/du/du0intro.pdf · Motivacija: strojno učenje Strojno učenje: proučava algoritme čija funkcionalnost nije unaprijed isprogramirana nego je

O predmetu: literatura

□ Deep Learning; Ian Goodfellow, Yoshua Bengio and AaronCourville; MIT Press; 2016.

□ Neural Networks and Deep Learning; Michael Nielsen;Determination press; 2015.

□ TensorFlow: Large-scale machine learning on heterogeneoussystems; 2015. Software available from tensorflow.org.http://download.tensorflow.org/paper/whitepaper2015.pdf

□ Jan Šnajder, Bojana Dalbelo Bašić: Strojno učenje. FER, Zagreb.

Uvodno predavanje → O predmetu (5) 18/40

Page 19: Duboko učenje - zemris.fer.hrssegvic/du/du0intro.pdf · Motivacija: strojno učenje Strojno učenje: proučava algoritme čija funkcionalnost nije unaprijed isprogramirana nego je

Pregled strojnog učenja: osnovni pojmoviStrojno učenje proučava oblikovanje postupaka čija se uspješnostpoboljšava s iskustvom

Algoritam strojnog učenja obuhvaća sljedeća dva postupka:□ postupak obrade podataka (model), npr. klasificiranje slike

□ nužno zadati mjeru performanse (učinka) ili mjeru pogreške♢ npr. točnost klasifikacije na ispitnom skupu {xi, yi}

♢ npr. broj krivo klasificiranih ispitnih primjera

□ razlikujemo empirijsku i generalizacijsku performansu/pogrešku

□ postupak optimiranja slobodnih parametara postupka obrade napodatcima za učenje (metoda) npr. gradijentni spust

□ nužno zadati skup za učenje {xi, yi}♢ mora biti uzorkovan iz iste distribucije kao i ispitni skup!

□ nužno zadati kriterij optimizacije (gubitak)♢ npr. negativna log-izglednost parametara na skupu za učenje

Uvodno predavanje → Pregled strojnog učenja 19/40

Page 20: Duboko učenje - zemris.fer.hrssegvic/du/du0intro.pdf · Motivacija: strojno učenje Strojno učenje: proučava algoritme čija funkcionalnost nije unaprijed isprogramirana nego je

Pregled strojnog učenja: definicije

□ Algoritam strojnog učenja definiran je:□ modelom: postupak obrade sa slobodnim parametrima

□ gubitkom: formalizacija (anti-)dobrote parametara modela

□ metodom optimizacije: način pronalaženja parametara kojiminimiziraju gubitak.

□ S obzirom na dostupnost podataka za učenje, razlikujemo:□ nadzirano učenje: željeni izlaz modela dostupan u svakom podatku

♢ tipični zadatci: klasifikacija, regresija

□ nenadzirano učenje: dostupni su samo podatci♢ tipični zadatci: grupiranje, estimiranje gustoće, smanjenje

dimenzionalnosti.

□ podržano (ojačano) učenje: dostupna je povratna veza o kvalitetimeđudjelovanja s okolinom.

Uvodno predavanje → Pregled strojnog učenja 20/40

Page 21: Duboko učenje - zemris.fer.hrssegvic/du/du0intro.pdf · Motivacija: strojno učenje Strojno učenje: proučava algoritme čija funkcionalnost nije unaprijed isprogramirana nego je

Pregled strojnog učenja: primjerLogistička regresija: nadzirana klasifikacija u više razreda

□ model vraća aposteriornu distribuciju vjerojatnosti razreda:P(Y | x) = softmax(W⊤x + b), softmax(s) = [esj/

∑k esk ]⊤.

□ gubitak (negativna log-izglednost modela na skupu za učenje):L(w,b | Y,X) = −

∑i log P(Y = yi | xi)

□ optimizacijski postupak (gradijentni spust):bi+1 = bi − δ · ∇biL = bi − δ · ( ∂L∂bi

)⊤

Uvodno predavanje → Pregled strojnog učenja (2) 21/40

Page 22: Duboko učenje - zemris.fer.hrssegvic/du/du0intro.pdf · Motivacija: strojno učenje Strojno učenje: proučava algoritme čija funkcionalnost nije unaprijed isprogramirana nego je

Pregled strojnog učenja: primjer 2Stroj s potpornim vektorima (nadzirana binarna klasifikacija):

□ model (pripadnost podatka): f(x) =

c0 ako w⊤x + b < 0

c1 ako w⊤x + b > 0

□ gubitak (ukupna povreda margine plus regularizacija):L(w, b | Y,X) = λ∥w∥2+ 1

n∑n

i=1 max(0, 1 + (−1)[[yi=c1]](w⊤xi + b)

)□ optimizacija: kvadratno programiranje ili gradijentni spust

Uvodno predavanje → Pregled strojnog učenja (3) 22/40

Page 23: Duboko učenje - zemris.fer.hrssegvic/du/du0intro.pdf · Motivacija: strojno učenje Strojno učenje: proučava algoritme čija funkcionalnost nije unaprijed isprogramirana nego je

Pregled strojnog učenja: primjer 3Stroj s potpornim vektorima i jezgrenom funkcijom:

□ model (pripadnost podatka): f(x) =

c0 ako∑

i αi · k(xi,x) < 0

c1 ako∑

i αi · k(xi,x) > 0

□ gubitak (ukupni prijestup margine + regularizacija): L(w, b |Y,X) = λ∥w∥2 + 1

n∑n

i=1 max(0, 1 + (−1)[[yi=c1]](αi · k(xi,x) + b)

)□ optimizacija: kvadratno programiranje ili gradijentni spust

Uvodno predavanje → Pregled strojnog učenja (4) 23/40

Page 24: Duboko učenje - zemris.fer.hrssegvic/du/du0intro.pdf · Motivacija: strojno učenje Strojno učenje: proučava algoritme čija funkcionalnost nije unaprijed isprogramirana nego je

Pregled strojnog učenja: posredna optimizacijaSpecifičnost strojnog učenja: performansu optimiramo posredno

□ optimizacijska metoda ne "vidi" gubitak na ispitnom skupu□ ali pretp. da empirijska distribucija odgovara generativnoj distribuciji

□ tj. podatke za učenje i ispitivanje generira isti slučajni proces

□ gubitak se često ne može poistovijetiti s empirijskom pogreškom□ tipično zato što formulacija pogreške nije derivabilna

□ tada je gubitak zamjena (engl. proxy) za empirijsku pogrešku

□ međutim, dobro definiran zamjenski gubitak (ML) može poboljšavatigeneralizaciju i nakon što empirijska greška padne na nulu!

Uvodno predavanje → Pregled strojnog učenja (5) 24/40

Page 25: Duboko učenje - zemris.fer.hrssegvic/du/du0intro.pdf · Motivacija: strojno učenje Strojno učenje: proučava algoritme čija funkcionalnost nije unaprijed isprogramirana nego je

Pregled strojnog učenja: kapacitetKapacitet je osnovno svojstvo modela:

□ opisuje sposobnost prilagođavanja podatcima□ najčešće je proporcionalan broju stupnjeva slobode modela□ formalno može se mjeriti brojem podataka (VC dimenzija) koje

model može razbiti (tj. objasniti uz proizvoljno označavanje)

Modeli malog kapaciteta skloni su podnaučenosti:□ ne postoji skup parametara koji može objasniti skup za učenje.

Modeli velikog kapaciteta skloni su prenaučenosti:□ previše skupova parametara objašnjavaju skup za učenje.

[goodfellow16]Uvodno predavanje → Pregled strojnog učenja (6) 25/40

Page 26: Duboko učenje - zemris.fer.hrssegvic/du/du0intro.pdf · Motivacija: strojno učenje Strojno učenje: proučava algoritme čija funkcionalnost nije unaprijed isprogramirana nego je

Pregled strojnog učenja: utjecaj podatakaEmpirijska i generalizacijska performansa ovise o skupu za učenje

□ uvedimo neizbježnu pogrešku: pogrešku koja se javlja zbogstohastičke prirode podataka ili šuma u označavanju

□ kako skup za učenje raste, potkapacitirani algoritam konvergiragrešci koja je veća od neizbježne (tzv. Bayesove greške)

□ kad nema dovoljno podataka za učenje, algoritam s prilagođenimkapacitetom može biti lošiji od potkapacitiranog algoritma

[goodfellow16] Uvodno predavanje → Pregled strojnog učenja (7) 26/40

Page 27: Duboko učenje - zemris.fer.hrssegvic/du/du0intro.pdf · Motivacija: strojno učenje Strojno učenje: proučava algoritme čija funkcionalnost nije unaprijed isprogramirana nego je

Pregled strojnog učenja: lex parsimonaeOgraničavanje kapaciteta modela nije jedini način usklađivanjaalgoritma s pristranošću podataka.

Drugi način je zadržati visoki kapacitet ali uvesti preferenciju premajednostavnijim modelima modificiranjem gubitka.

Ako promatramo regresiju, jedan način regulariziranja gubitka bio bi:J(w) = λw⊤w +

∑i(∑

j wjxi j + b − yi)2.

Algoritam sada apriorno preferira rješenja u kojima promjene ulazavode na blage promjene odluke modela.

[goodfellow16]Uvodno predavanje → Pregled strojnog učenja (8) 27/40

Page 28: Duboko učenje - zemris.fer.hrssegvic/du/du0intro.pdf · Motivacija: strojno učenje Strojno učenje: proučava algoritme čija funkcionalnost nije unaprijed isprogramirana nego je

Pregled strojnog učenja: regularizacijaSvaku modifikaciju koja namjerava poboljšati generalizaciju bezsmanjivanja empirijske pogreške nazivamo regularizacijom algoritma.

Regularizacija se može primijeniti na sve dijelove algoritma:□ gubitak: kažnjavanje norme vektora parametara□ optimizacijsku metodu: rano zaustavljanje učenja□ podatke: rastresanje, zašumljivanje oznaka□ model: složenost preslikavanja, vezivanje parametara

[goodfellow16]Uvodno predavanje → Pregled strojnog učenja (9) 28/40

Page 29: Duboko učenje - zemris.fer.hrssegvic/du/du0intro.pdf · Motivacija: strojno učenje Strojno učenje: proučava algoritme čija funkcionalnost nije unaprijed isprogramirana nego je

Pregled strojnog učenja: statistički pogledPodnaučenost i prenaučenost možemo po-jasniti ako generalizacijsku pogrešku rasta-vimo na doprinose pristranosti i varijance.

Pristranost algoritma: ugrađena sklonostprema nekim rješenjima.

Varijanca algoritma: sklonost da rezultatjako varira o ulaznim podatcima.

Regularizacija algoritma smanjuje vari-jancu i povećava pristranost.

[domingos16cacm]

[goodfellow16]

Za najbolje rezultate mjeru regularizacije treba prilagoditi podatcima:□ izbjeći i lošu pristranost i pretjeranu varijancu.

Uvodno predavanje → Pregled strojnog učenja (10) 29/40

Page 30: Duboko učenje - zemris.fer.hrssegvic/du/du0intro.pdf · Motivacija: strojno učenje Strojno učenje: proučava algoritme čija funkcionalnost nije unaprijed isprogramirana nego je

Pregled strojnog učenja: hiperparametriVećina algoritama ima tzv. hiperparametre koji reguliraju njihovoponašanje, a nisu obuhvaćeni optimizacijom

Primjeri: kapacitet modela, faktor kazne parametarske norme, korakoptimizacije, broj epoha učenja...

Odabir takvih parametara najčešće provodimo iscrpnim ili slučajnimpretraživanjem prostora parametara na validacijskom skupu

[goodfellow16]

Uvodno predavanje → Pregled strojnog učenja (11) 30/40

Page 31: Duboko učenje - zemris.fer.hrssegvic/du/du0intro.pdf · Motivacija: strojno učenje Strojno učenje: proučava algoritme čija funkcionalnost nije unaprijed isprogramirana nego je

Pregled strojnog učenja: gubitakNajintuitivniji gubitak je srednja kvadratna pogreška:

J(θ) =∑

i(model(xi)− yi)2

Taj gubitak nije prikladan za probabilističku klasifikaciju jer ignorira damodel vraća vjerojatnosnu distribuciju

□ npr. d2L2([1,0,0], [0.4, 0.3, 0.3]) < d2

L2([1,0,0], [0.4, 0.0, 0.6])

Dosljednija formulacija gubitka u probabilističkom okruženju jestnegativna log-izglednost parametara modela:

J(θ) = −∑

i log Pmodel(yi|xi, θ).

Može se pokazati da je negativna log-izglednost specialni slučajunakrsne entropije (ekvivalent KL udaljenosti).

Ako modeliramo regresijsko odstupanje Gaussovom razdiobom,negativna log-izglednost se svodi na kvadratni gubitak.

Uvodno predavanje → Pregled strojnog učenja (12) 31/40

Page 32: Duboko učenje - zemris.fer.hrssegvic/du/du0intro.pdf · Motivacija: strojno učenje Strojno učenje: proučava algoritme čija funkcionalnost nije unaprijed isprogramirana nego je

Pregled strojnog učenja: SGDJedna od trenutno najpopularnijih optimizacijskih metoda u strojnomučenju jest stohastički gradijentni spust

Gradijentni spust po negativnoj log-izglednosti mora izračunati:∇θJ(θ) = 1

N∑N

i ∇θL(xi, yi, θ).

Kod teških problema optimizacija sporo napreduje jer: N · dim(θ) ∼ 1012

Problem rješavamo odvajanjem podataka u manje grupe (engl. batch):∇θJ(θ) = 1

N′∑N′

i ∇θL(xi, yi, θ).□ korak optimizacije izvodi se u vremenu O(N'·dim(θ)), N'<<N□ grupe se slučajno formiraju nakon svake epohe (stohastika!)□ u velikim modelima (dim(θ) ∼ 106): brže od metoda višeg reda□ koristi se i kod velikih plitkih modela!□ SVM s jezgrom: prostor ∼ O(N 2), vrijeme ∼ O(N 3).

Uvodno predavanje → Pregled strojnog učenja (13) 32/40

Page 33: Duboko učenje - zemris.fer.hrssegvic/du/du0intro.pdf · Motivacija: strojno učenje Strojno učenje: proučava algoritme čija funkcionalnost nije unaprijed isprogramirana nego je

Prema dubokom učenju: izazovProblemi UI-razine razmatraju složene podatke (D=dim(xi) ∼ 105)

Zbog toga broj svih mogućih podataka iznosi barem O(2D)

Ako pristranost klasifikatora ne pogađa pristranost podataka,moramo imati predstavnika u svakoj hiper-kocki prostora podataka

□ u pesimističnom slučaju treba nam O(2d) primjera za učenje!□ oblik prokletstva dimenzionalnosti (curse of dimensionality)

[goodfellow16]Uvodno predavanje → Prema dubokom učenju 33/40

Page 34: Duboko učenje - zemris.fer.hrssegvic/du/du0intro.pdf · Motivacija: strojno učenje Strojno učenje: proučava algoritme čija funkcionalnost nije unaprijed isprogramirana nego je

Prema dubokom učenju: klasični odgovorKlasični klasifikatori pristupaju tom problemu pod pretpostavkomglatkoće (ili lokalne konstantnosti) modela:

rezultat modela ne bi se smio "mnogo" mijenjati unutar kom-paktne regije prostora podataka.

Ovakvu pristranost implementiraju k-NN, jezgrene metode, stabla□ posljedično, svi ti pristupi zahtijevaju O(k) primjera za učenje za

razlikovanje O(k) regija u prostoru podataka

□ takvi pristupi ne mogu funkcionirati kad je k = 2105

Možemo izvesti sljedeće zaključke:□ glatkoća je OK, ali ne može se nositi s porastom dimenzionalnosti

□ trebaju nam pristrani modeli prilagođeni stvarnim podatcima.Uvodno predavanje → Prema dubokom učenju 34/40

Page 35: Duboko učenje - zemris.fer.hrssegvic/du/du0intro.pdf · Motivacija: strojno učenje Strojno učenje: proučava algoritme čija funkcionalnost nije unaprijed isprogramirana nego je

Prema dubokom učenju: kompozicijski modeliTemeljna pretpostavka dubokih modela: podatci su generiranikompozicijom značajki kroz više razina hijerarhije

□ osoba ima glavu, glava ima lice, lice ima oči, oko ima šarenicu

Potencijal za nezavisno učenje parametara nižih razina:□ osoba s plavim očima i crnom kosom može doprinijeti

prepoznavanju osoba s plavim očima i crvenom kosom.

Kompozitne modele možemo izraziti manjim brojem parametara□ npr. xor kao naučeni zbroj minterma: xorn(bi) =

∑2n

j=1 wj · mj□ O(2n) binarnih parametara

□ npr. xor kao rekurzivna primjena binarnih logičkih funkcija:□ xorn(bi) = f1 ◦ f2 ◦ ... ◦ flog2n

□ O(4log2n) binarna parametara

Ovakav pristup može se suprotstaviti prokletstvu dimenzionalnosti.Uvodno predavanje → Prema dubokom učenju (2) 35/40

Page 36: Duboko učenje - zemris.fer.hrssegvic/du/du0intro.pdf · Motivacija: strojno učenje Strojno učenje: proučava algoritme čija funkcionalnost nije unaprijed isprogramirana nego je

Prema dubokom učenju: kompozicijski modeli (2)Kompozitna struktura: važanoblik pristranosti dubokih modela

□ podatkovna reprezentacija narazini n gradi se odreprezentacija na razini n-1

□ to svojstvo dubokih modeladobro odgovara podatcima umnogim teškim zadatcima

□ npr. auto ima kotače, kotačiimaju naplatke, naplatciimaju rupice

□ slova čine riječi, riječisintagme, a sintagmerečenice.

[zeiler14eccv]Uvodno predavanje → Prema dubokom učenju (3) 36/40

Page 37: Duboko učenje - zemris.fer.hrssegvic/du/du0intro.pdf · Motivacija: strojno učenje Strojno učenje: proučava algoritme čija funkcionalnost nije unaprijed isprogramirana nego je

Prema dubokom učenju: primjerPokušajmo prednosti kompozicijske strukture ilustrirati na primjerumodela za binarnu klasifikaciju lica:

□ pretpostavimo da nam treba nO parametara za detekciju oka...□ ...i nN parametara za detekciju nosa.

Algoritam učenja plitkog modela treba vidjeti svaku kombinaciju oka inosa da bi naučio prepoznati lice:

□ broj parametara: O(nO · nN).

Duboki klasifikator ima šansu naučiti parametre oka i nosa (razina k) teodvojeno od toga naučiti da lice ima dva oka i nos (razina k+1)

□ broj parametara: O(nO) + O(nN) + O(nL).

Zaključak: kod artikuliranih podataka kompozicijski model ima boljigeneralizacijski potencijal od plitkog modela.

Uvodno predavanje → Prema dubokom učenju (4) 37/40

Page 38: Duboko učenje - zemris.fer.hrssegvic/du/du0intro.pdf · Motivacija: strojno učenje Strojno učenje: proučava algoritme čija funkcionalnost nije unaprijed isprogramirana nego je

Prema dubokom učenju: učenje mnogostrukostiMnogostrukost: povezani skup {xi} ∈ Rn koji se lokalno možeaproksimirati skupom {x′

i} ∈ Rm, m << n.

Kompozicijski modeli pretpostavljaju da podatci stanuju naniskodimenzionalnoj mnogostrukosti

□ model se specijalizira na dijelove podatkovnog prostora s velikomgustoćom vjerojatnosti podataka

Koliko je ta pretpostavka zadovoljena u praksi?□ većina svih mogućih ulaznih vektora ne predstavlja valjane podatke□ možemo zamisliti skup transformacija koje definiraju obrise

mnogostrukosti: svjetlina, kontrast, rotacija objekta itd.

[goodfellow16] Uvodno predavanje → Prema dubokom učenju (5) 38/40

Page 39: Duboko učenje - zemris.fer.hrssegvic/du/du0intro.pdf · Motivacija: strojno učenje Strojno učenje: proučava algoritme čija funkcionalnost nije unaprijed isprogramirana nego je

Prema dubokom učenju: zaključakDuboki modeli su pristrani: bolje se mogu prilagoditi podatcima koji sesastoje od dijelova

□ ima ih smisla koristiti kad su podatci artikulirani

□ inače, bolje rezultate mogli bi dati plitki modeli

Duboki modeli su skalabilni, mogu raditi s:□ visokodimenzionalnim podatcima (D=105)

□ ogromnim skupovima za učenje (N=106)

□ ogromnim brojem parametara (dim(θ)=109)

Zbog toga su duboki modeli metoda izbora kod mnogih problema kojedanas svrstavamo u UI

Uvodno predavanje → Prema dubokom učenju (6) 39/40

Page 40: Duboko učenje - zemris.fer.hrssegvic/du/du0intro.pdf · Motivacija: strojno učenje Strojno učenje: proučava algoritme čija funkcionalnost nije unaprijed isprogramirana nego je

zahvala

Ova predavanja proizišla su iz istraživanja koje je financirala Hrvatskazaklada za znanost projektom I-2433-2014 MultiCLoD.

http://multiclod.zemris.fer.hr

Uvodno predavanje → zahvala 40/40