strojno učenje i duboko učenje - ferssegvic/modeli/modeli_ml.pdf · motivacija: strojno učenje...
Post on 04-Jun-2020
11 Views
Preview:
TRANSCRIPT
Modeli za predstavljanje slike i videaStrojno učenje i duboko učenje
Siniša Šegvić
Sveučilište u Zagrebu
Fakultet elektrotehnike i računarstva
→ 1/32
Sadržaj
□ Motivacija:□ umjetna inteligencija
□ računalni vid
□ Pregled osnova strojnog učenja:□ osnovni pojmovi i tehnike
□ primjeri algoritama
□ Suvremeni izazovi i prednosti dubokog učenja
Uvod → Sadržaj 2/32
Motivacija: strojno učenje
□ Strojno učenje: proučava algoritme čija funkcionalnost ovisi oslobodnim parametrima koji se štimaju na primjerima za učenje
□ jedan od središnjih problema umjetne inteligencije
□ Umjetna inteligencija: proučava izradu strojeva koji "misle":□ zadatci koji su laki za ljude, a vrlo teški za računala
□ Sofisticirano ponašanje često je lakše naučiti nego isprogramirati:□ primjer: program koji pronalazi sliku s kravom
Uvod → Motivacija 3/32
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]Uvod → Motivacija 4/32
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, jedneznačajke mogu biti pogodnijeod drugih
□ koliko je MCMLXXI + XIX?
□ a 1971 + 19?[goodfellow16]
□ kod teških zadataka značajke nije lako konstruirati ručno
□ učenje podatkovnih reprezentacija može olakšati težak problem
Uvod → Motivacija (2) 5/32
Motivacija: duboko učenje
□ Dominantni pristup strojnom učenju 1990-2006: ručnokonstruirane značajke i plitki klasifikatori s konveksnim gubitkom.
□ U to vrijeme, višeslojni modeli nisu bili popularni:+ veliki reprezentacijski potencijal
– teoretska podloga (konvergencija nije zagrantirana)
– performansa u praksi.
□ Danas duboki modeli na mnogim zadatcima postižu najboljerezultate.
□ Što se dogodilo?□ ogromni skupovi za učenje (milijuni ručno označenih slika)
□ optimirane matrične operacije (posebno GPU, ali i CPU)
□ nove tehnike učenja (upoznat ćemo ih na ovom kolegiju).
Uvod → Motivacija (3) 6/32
Motivacija: no free lunchDuboki modeli nisu "radili" kako treba jer nismo imali:
□ tehnike koje pospješuju konvergenciju□ dovoljno podataka da ih naučimo□ dovoljno jake strojeve da dočekamo 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 optimizacijskog postupka
□ ako te pretpostavke odgovaraju podatcima - performansa algoritmaće zadovoljavati (no free lunch theorem) [domingos12cacm]
□ logistička regresija: dobar odabir za linearno razdvojive razrede
□ u računalnom vidu koristimo duboke modele jer je njihovapristranost prikladna za analizu slika našeg svijeta
Uvod → Motivacija (4) 7/32
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): y = f(x|θ)
□ postupak štimanja slobodnih parametara modela (metodaoptimizacije)
Pregled → Pregled strojnog učenja 8/32
Pregled strojnog učenja: modelNužno je zadati mjeru performanse (učinka) odnosno mjeru pogreškemodela:
□ npr. točnost klasifikacije na ispitnom skupu {xi, yi}
□ npr. površina ispod ROC ili PR krivulje
Razlikujemo empirijsku i generalizacijsku performansu/pogrešku□ empirijska pogreška na ispitnom skupu je procjena
generalizacijske pogreške
Kapacitet modela: složenost relacije koju model može opisati□ laka (i gruba) procjena kapaciteta: broj parametara
□ jači modeli mogu upiti više podataka
□ slabije modele teže je prenaučitiPregled → Pregled strojnog učenja 9/32
Pregled strojnog učenja: optimizacijaŠtimamo θ tako da na skupu za učenje "što ćešće" imamo f(xi) = yi
Skup za učenje mora biti uzorkovan iz iste distribucije kao i ispitni skup!
Nužno zadati kriterij optimizacije (gubitak)□ idealno: gubitak == pogreška modela
□ u praksi, često biramo derivabilne nadomjestke (engl. proxy)
□ npr. negativna log-izglednost parametara na skupu za učenje:L(θ) =
∑i − log P(yi|xi, θ)
Primjer: učimo robota da igra košarku□ pogreška modela: E = 1 - postotak šuta
□ derivabilni proxy: L =∑
i δ2i
Pregled → Pregled strojnog učenja (2) 10/32
Pregled strojnog učenja: posredna optimizacijaSpecifičnost strojnog učenja: performansu optimiramo posredno
□ optimizacijska metoda ne "vidi" gubitak na ispitnom skupu□ tipično pretpostavljamo da podatke za učenje i ispitivanje generira
isti slučajni proces
□ najviše čemu se možemo nadati:□ gubitak proporcionalan empirijskoj pogrešci
□ struktura modela podržava dobru generalizaciju na stvarnimpodatcima
□ u praksi, gubitak se često ne može poistovijetiti s empirijskompogreškom
□ tipično zato što formulacija pogreške nije derivabilna
□ tada kažemo da je gubitak zamjena (engl. proxy) za empirijskupogrešku
Pregled → Pregled strojnog učenja (3) 11/32
Pregled strojnog učenja: posredna optimizacija- primjerPromotrimo gubitak izražen negativnom log-izglednošću parametara:L(θ | Y,X) = −
∑i log P(Y = yi | xi)
Neka Y može poprimiti vrijednosti c0 do c4, te neka u skupu za učenjeimamo (xi, c2) i (xj, c2).
Pretpostavimo da model u i-tom podatku vraća:P(Y | xi) = [ 0.06 0.14 0.7 0.1 0.0 ]⊤
□ podatak xi doprinosi gubitku (0.36) iako je ispravno klasificiran!
Pretpostavimo da model u j-tom podatku vraća:P(Y | xj) = [ 0.04 0.5 0.01 0.18 0.27 ]⊤
□ podatak xj ostvaruje ogroman doprinos gubitku (4.6)□ može biti problem ako imamo pogrešno označavanje ili ako je xj
podatak koji odskače (engl. outlier)
SVM ne kažnjava dobro klasificirane podatke (zglobnica!), ali i on jeosjetljiv na krivo označavanje i podatke koji odskaču.
Pregled → Pregled strojnog učenja (4) 12/32
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.
Pregled → Pregled strojnog učenja (5) 13/32
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(x) = [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):wi+1 = wi − δ · ∇wiL = wi − δ · ( ∂L
∂wi)⊤
Pregled → Pregled strojnog učenja (6) 14/32
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
Pregled → Pregled strojnog učenja (7) 15/32
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
Pregled → Pregled strojnog učenja (8) 16/32
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]Pregled → Pregled strojnog učenja (9) 17/32
Pregled strojnog učenja: utjecaj podatakaEmpirijska i generalizacijska pogreška ovise o skupu za učenje
□ uvedimo neizbježnu (ili Bayesovu) pogrešku (savršeni model):□ uzroci: pogrešno označavanje, stohastički problem, ili šum
□ kako skup za učenje raste, potkapacitirani algoritam konvergiragrešci koja je veća od neizbježne (zeleni graf)
□ ovisno o broju podataka za učenje, algoritam s prilagođenimkapacitetom (5) može biti lošiji od pot(pre-)kapacitiranog algoritma
[goodfellow16]Pregled → Pregled strojnog učenja (10) 18/32
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:L(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]Pregled → Pregled strojnog učenja (11) 19/32
Pregled strojnog učenja: regularizacijaSvaku modifikaciju koja namjerava poboljšati generalizaciju bezsmanjivanja pogreške učenja 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: kapacitet, vezivanje parametara.
[goodfellow16]
Pregled → Pregled strojnog učenja (12) 20/32
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.
Pregled → Pregled strojnog učenja (13) 21/32
Pregled strojnog učenja: hiperparametriVećina algoritama ima tzv. hiperparametre koji reguliraju njihovoponašanje, a nisu obuhvaćeni optimizacijskim postupkom
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]
Pregled → Pregled strojnog učenja (14) 22/32
Pregled strojnog učenja: gubitakNajintuitivniji gubitak je srednja kvadratna pogreška:
L(θ) =∑
i(model(xi)− yi)2
Taj gubitak nije prikladan za probabilističku klasifikaciju:□ ignorira se struktura vjerojatnosne distribucije□ npr. L([1,0,0],[0,0,1]) vs L([0.5,0.5,0],[0,0,1])
Dosljednija formulacija gubitka u probabilističkom okruženju jestnegativna log-izglednost parametara modela:
L(θ) = −∑
i log Pmodel(yi|xi, θ).
Može se pokazati da negativna log-izglednost odgovara unakrsnojentropiji (ekvivalent KL udaljenosti).
Ako modeliramo regresijsko odstupanje Gaussovom razdiobom,negativna log-izglednost se svodi na kvadratni gubitak.
Pregled → Pregled strojnog učenja (15) 23/32
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:∇θL(θ) = 1
N∑N
i ∇θL(xi, yi, θ).
Kod teških problema (N ∼ 106) ima smisla ublažiti petlju po N
Problem rješavamo odvajanjem podataka u manje grupe (engl. batch):∇θL(θ) = 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(θ) ∼ 109): brže od metoda višeg reda□ SVM s jezgrom: prostor ∼ O(N2) (Gramova matrica), vrijeme
∼ O(N3).□ koristi se i kod velikih linearnih modela! Pregled → Pregled strojnog učenja (16) 24/32
Prema dubokom učenju: izazovProblemi UI-razine povezani su s visoko-dimenzionalnim podatcima(npr. d=10000)
Izazov: broj "zanimljivih" konfiguracija raste barem u O(2d)
U pesimističnom slučaju (pristranost klasifikatora ne pogađa pristranostpodataka) treba nam O(2d) primjera za učenje!
Taj izazov nazivamo prokletstvom porasta dimenzionalnosti (engl.curse of dimensionality).
[goodfellow16] Izazovi → Prema dubokom učenju 25/32
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
Glatkoća se slabo ponaša u visoko dimenzionalnim prostorima:□ pogotovo u računalnom vidu gdje posmaci i deformacije dijelova
ne mijenjaju identitet objekta
□ trebaju nam modeli čija interna građa odgovara građi stvarnihpodataka.
Izazovi → Prema dubokom učenju 26/32
Prema dubokom učenju: kompozicijski modeliTemeljna pretpostavka dubokih modela: podatci su generiranikompozicijom faktora kroz više razina hijerarhije
Takva pretpostavka pruža mogućnost da se model izrazi manjimbrojem parametara
Nadalje, postoji mogućnost nezavisnog učenja parametara značajkiniže razine: jedan primjer za učenje može doprinositi nezavisnomučenju modela u više regija prostora parametara.
Ove dvije mogućnosti pružaju potencijal suprotstavljanjaeksponencijskom izazovu porasta dimenzionalnosti.
Izazovi → Prema dubokom učenju (2) 27/32
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]Izazovi → Prema dubokom učenju (3) 28/32
Prema dubokom učenju: primjerPokušajmo prednosti kompozicijske strukture ilustrirati na primjerumodela za binarnu klasifikaciju lica:
□ pretpostavimo da nam treba nO podataka za naučiti detekciju oka...□ ...i nN parametara za naučiti detekciju nosa.
Algoritam učenja plitkog modela treba vidjeti svaku kombinaciju oka inosa da bi naučio prepoznati lice:
□ potreban broj podataka za učenje: O(nO · nN).
Duboki klasifikator ima šansu odvojeno naučiti parametre oka i nosa(razina k) te nakon toga nad istim podatcima naučiti da lice ima dva okai nos (razina k+1)
□ potreban broj podataka za učenje: O(nO) + O(nN)
Zaključak: kod artikuliranih podataka kompozicijski model ima boljigeneralizacijski potencijal od plitkog modela. Izazovi → Prema dubokom učenju (4) 29/32
Prema dubokom učenju: učenje mnogostrukostiMnogostrukost: povezani skup {xi} ∈ Rn koji se lokalno možeaproksimirati nižedimenzionalnim skupom {x′
i} ∈ Rm, m << n.
Još jedan način pristupanja porastu dimenzionalnosti: pretpostaviti dapodatci stanuju na mnogostrukosti
□ model se u tom slučaju može specijalizirati na dijelovepodatkovnog prostora s velikom gustoć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] Izazovi → Prema dubokom učenju (5) 30/32
Prema dubokom učenju: DU vs neuronske mrežeSličnost: potpuno povezani duboki regresijski model je ekvivalentanvišerazinskom perceptronu
Razlike:□ duboki model nema ambiciju modelirati mozak□ duboki modeli koriste napredne regularizacijske tehnike:
□ dijeljenje parametara, izostavljanje čvorova, normalizacija po grupi□ specifičnosti dubokog učenja
□ nove aktivacije: ReLU, maxout, softmax, SELU□ novi slojevi: sažimanje, pažnja, interpoliranje ...□ preskočne, rezidualne i multipleksirane veze□ arhitekure sa samo jednim potpuno povezanim slojem□ metrike inducirane korespondencijskim ugrađivanjem
□ neki formalizmi neuronskih mreža nisu relevantni za duboko učenjeIzazovi → Prema dubokom učenju (6) 31/32
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
Izazovi → zahvala 32/32
top related