SVEUČILIŠTE U ZAGREBU FAKULTET ELEKTROTEHNIKE I RAČUNARSTVA SEMINAR Duboke neuronske mreže Florijan Stamenković Voditelj: Marko Čupić Zagreb, ožujak 2
|
|
- Влатко Дунђерски
- пре 5 година
- Прикази:
Транскрипт
1 SVEUČILIŠTE U ZAGREBU FAKULTET ELEKTROTEHNIKE I RAČUNARSTVA SEMINAR Duboke neuronske mreže Florijan Stamenković Voditelj: Marko Čupić Zagreb, ožujak 2015.
2 SADRŽAJ 1. Uvod 1 2. Hopfieldove mreže Definicija Energija Konvergencija Podešavanje težina Adresiranje memorije putem sadržaja Boltzmannov stroj Notacija Stohastički neuroni Simulirano kaljenje Generativni probabilistički model Termalna ravnoteža Učenje Motivacija Modeliranje distribucije vjerojatnosti Izglednost Procjena najveće izglednosti parametara Boltzmannovog stroja Složenost učenja Učenje Monte Carlo metodom Primjer učenja MCMC metodom Skriveni neuroni Ograničeni Boltzmannov stroj Definicija Produkt stručnjaka ii
3 4.3. Skriveni neuroni kao značajke Učenje Kontrastna divergencija Kontrastna divergencija, algoritamska implementacija Dodatni parametri učenja Perzistentna kontrastna divergencija Primjer učenja ograničenog Boltzmanovog stroja Duboka probabilistička mreža Definicija Generativni probabilistički model Diskriminativni model Treniranje Pohlepno predtreniranje slojeva Fino podešavanje Primjer korištenja Definicija problema Skup za treniranje Korišten model Način evaluiranja Obavljeni pokusi, najbolja mreža Rezultati Prag pouzdanosti klasifikacije Zaključak Literatura Sažetak 70 iii
4 1. Uvod Umjetne neuronske mreže su se pokazale kao dobar alat za rješavanje klasifikacijskih i regresijskih problema u području mekog računarstva. Njihova snaga primarno leži u slojevitom (odnosno slijednom) kombiniranju jednostavnih nelinearnih elemenata, neurona. Nažalost, unatoč obećavajućim rezultatima u primjeni na manjim i srednje teškim problemima, pokazalo se da je velike neuronske mreže iznimno teško trenirati za rješavanje specifičnog zadatka. Algoritmi koji se baziraju na optimizaciji mreže gradijentnim metodama skloni su pronalasku lokalnih optimuma (kojih u kompleksnim mrežama ima previše da bi ih se izbjeglo). Pošto se pri propagaciji unatrag iznos gradijenta umanjuje otprilike za red veličine po sloju, treniranje mreža s više od pet ili šest slojeva je presporo da bi bilo od koristi (engl. vanishing gradient problem). Nadalje, iole kompleksne mreže su u pravilu vrlo teško interpretabilne. Čak i ako se postignu dobre performanse, mreža je u biti "crna kutija", skoro je nemoguće analizom postići uvid zašto dobro rade. U zadnjih desetak godina slojevitim umjetnim neuronskim mrežama pristupa se na novi način. Radi se s nekoliko tehnika koji imaju par zajedničkih aspekata. Slojevi mreža treniraju se jedan po jedan. Time se omogućava korištenje dubljih mreža s dobro utreniranim svim slojevima. Pri oblikovanju svakog sloja često se postiže visok stupanj interpretabilnosti. Treniranjem slojeva pojedinačno poboljšava se pretraga parametarskog prostora mreže: bolje se izbjegavaju lokalni optimumi. Moguće je efikasno trenirati više slojeva koji sadrže veći broj neurona, što omogućava stvaranje puno kompleksnijih mreža koje se dobro nose s težim zadatcima. Niži slojevi mogu se trenirati sa neoznačenim podatcima (polu-nadzirano učenje). Konačno, nakon treniranja pojedinih slojeva postojeće gradijentne tehnike se mogu primjeniti na rezultirajuću višeslojnu mrežu u svrhu dodatnog rafiniranja interakcije slojeva i poboljšanja rezultata. Kao zajedničko ime za više tehnika koje na ovaj način pristupaju treniranju umjetne neuronske mreže koristi se termin "duboka neuronska mreža". Duboke neuronske mreže na tipičnim klasifikacijskim problemima postižu rezultate koji su me du pona- 1
5 jboljima ikad postignutim. Ovaj seminar razmatra oblikovanje "dubokog stroja vjerovanja" (engl. deep belief net). Radi se o dubokoj neuronskoj mreži u kojoj je svaki sloj treniran kao ograničeni Boltzmannov stroj odnosno RBM (engl. restricted Boltzmann machine). Pri tome se za svaki korak oblikovanja mreže pomno razmatra matematička podloga, kao i značenje dobivenih rezultata. Cilj rada je oblikovati tekst koji će zainteresiranom čitatelju omogućiti jednostavan i sustavan ulazak u područje dubokih mreža. Pri tome se od čitatelja očekuje poznavanje elementarne algebre i teorije vjerojatnosti. Od koristi može biti i upoznatost s tipičnim problemima i terminologijom strojnog učenja, kao i umjetnim neuronskim mrežama općenito. 2
6 2. Hopfieldove mreže Kako bi što lakše objasnili Boltzmannov stroj, a potom i njegovu primjenu u dubokim neuronskim mrežama, prvo ćemo promotriti Hopfieldovu mrežu, koju je definirao J.J. Hopfield godine u [7] Definicija Hopfieldova mreža je oblik umjetne neuronske mreže s povratnim vezama. Mreža ima proizvoljan broj elemenata (neurona). Pojedini neuron s i nalazi se u jednom od dva moguća stanja s i { 1, 1}. 1 Stanje svih neurona mreže označavamo vektorom s. Neuroni su spojeni težinskim vezama, gdje je w ij težina (engl. weight) veze me du neuronima s i i s j. Postoje dva ograničenja na težinske veze: 1. w ij = w ji, i, j (simetričnost) 2. w ii = 0, i (neuron nema vezu sam sa sobom) Mreža se kroz vrijeme mjenja, u smislu promjene stanja neurona. Ne postoji definiran redoslijed kojim neuroni mjenjaju stanje, u pravilu se biraju nasumično. Moguće je i paralelno mjenjanje stanja neurona, ali ono mora biti asinkrono jer u suprotnom može doći do oscilacije mreže. Način promjene stanja neurona opisan je u nastavku Energija Hopfieldova mreža može se promatrati kao energetski model. Za stanje s energija mreže E(s) je definirana kao: E(s) = i j>i w ij s i s j i b i s i (2.1) 1 Ponekad se kao stanja neurona koriste i vrijednosti 0 i 1. Funkcionalnost mreže se time ne mjenja, ali su primjeri manje ilustrativni. Stoga u ovom radu za Hopfieldovu mrežu koristimo stanja 1 i 1. 3
7 gdje b i predstavlja pristranost (engl. bias) neurona s i, koje možemo postaviti u 0 bez utjecaja na funkcionalnost mreže. 2 Iz definicije energije možemo izračunati utjecaj neurona s k na energiju mreže. Definirajmo prvo energiju mreže za vektor stanje u kojem nam je poznato samo stanje neurona s k, označimo to stanje s ε: E(s k = ε) = w ij s i s j b i s i i j>i i = w ij s i s j b i s i w kj εs j b k ε i k j k i k j k j>i = w ij s i s j ( ) b i s i ε w kj s j + b k i k i k j k j>i j k (2.2) Pojasnimo dobiveni izraz. U izrazu za cjelokupnu energiju (2.1) sumiramo po svim parovima neurona (uzimajući u obzir težinsku vezu me du njima) i pristranostima pojedinih neurona. Kako bismo izdvojili doprinos neurona s k energiji mreže, izuzimamo ga iz obje sume. Sada možemo definirati utjecaj neurona s k na energiju mreže kao razliku energije kada je s k = 1 i energije kada je s k = 1. Naprosto ćemo u izraz (2.2) uvrstiti konkretne vrijednosti ( 1 i 1) te izračunati razliku: E k =E(s k = 1) E(s k = 1) = w ij s i s j ( ) b i s i ( 1) w kj s j + b k i k j k i k j k j>i + w ij s i s j + ( ) b i s i + (+1) w kj s j + b k i k i k j k j k j>i =2 j k w kj s j + 2b k (2.3) Vidimo da su se pokratili svi energetski doprinosi osim onih na koje neuron s k ima izravan utjecaj. Ovo ima smisla s obzirom na to da tražimo razliku energija mreža čija se stanja razlikuju samo u stanju neurona s k. Naglasimo još jednom da u Hopfieldovoj mreži ne postoje težinske veze neurona samog sa sobom: w ii = 0, i. Stoga vrijedi: 2 Vrijedi kada se koriste stanja s i { 1, 1}. Kada se koriste stanja s i {0, 1}, pristranosti su bitne za funkcioniranje mreže te se mogu promatrati kao težinske veze s posebnim neuronom čije je stanje uvijek 1. 4
8 E k = 2 j k w kj s j + 2b k = 2 j w kj s j + 2b k Obje oznake su u kontekstu Hopfieldovih mreža (a kasnije i Boltzmannovog stroja) vrijedeće Konvergencija Energetski modeli teže ka stanjima niske energije, analogno fizikalnim sustavima. Stoga neuroni Hopfieldove mreže postavljaju svoje stanje u skladu s pravilom: 3 1, ako E i = 2 j s i = w ijs j + 2b i 0 (2.4) 1, inače Vidimo da će neuron s i nakon evaluacije biti u stanju 1 isključivo ako je E(s i = 1) veće ili jednako od E(s i = 1). Kada je E i negativan, što znači da je E(s i = 1) manje od E(s i = 1), neuron s i će nakon evaluacije biti u stanju 1. Dakle, neuroni pri evaluaciji poprimaju ono stanje koje daje manju energiju mreže. Ovo se dešava sve dok ona ne konvergira u lokalni energetski minimum. U tom trenutku neuroni više ne mjenjaju stanje. Možemo u ovom trenutku primjetiti da je pretraživanje energetskog krajolika mreže stohastično s obzirom na redosljed kojim neuroni evaluiraju svoje stanje. Lokalni minimum energije u koji će mreža konvergirati ponekad ovisi tom redosljedu. Nadalje, primjetimo da mreža nema mogućnosti izlaska iz lokalnog optimuma (niti energetske "doline") u kojoj se nalazi Podešavanje težina Postavlja se pitanje kako kontrolirati u koji energetski minimum će mreža konvergirati. Konvergencija primarno ovisi o težinama veza me du neuronima i početnom stanju mreže. U manjoj mjeri ovisi o redosljedu kojim neuroni evaluiraju stanja. Početna stanja mreže ovise o problemu koji se rješava i uglavnom su dijelom nasumična. Jasno je stoga da kada mrežu "treniramo", to činimo podešavanjem težina veza me du neuronima. 3 Ovu dobro poznatu vrstu neurona u literaturi često nalazimo pod nazivom BTU (engl. binary threshold unit). 5
9 Za zadani vektor stanja s promatramo stanja neurona s i i s j. Ako su oni u istom stanju (oba su u stanju 1 ili su oba u stanju 1), energija mreže će biti minimalna ako je je w ij = 1. Ovo je vidljivo iz izraza (2.1). U drugu ruku, ako je jedan od neurona u stanju 1, a drugi u 1, energija mreže će biti minimalna ako je w ij = 1. Iz ovog opažanja proizlazi jednostavno pravilo podešavanja težina: w ij = s i s j (2.5) Ako koristimo pristranosti, b i se računa kao težinska veza neurona i dodatnog neurona koji je uvijek u stanju 1. Stoga vrijedi: b i = s i Promotrimo treniranje mreže na jednostavnom [ primjeru. ] Pretpostavimo da želimo da mreža od četiri neurona konvergira u s = Težine izračunate u skladu s izrazom (2.5) prikazane su na slici 2.1 (pristranosti zanemarujemo). s 1 1 s s 3-1 s 4 Slika 2.1: Izračunate težine za s = [111 1] Pretpostavimo sada da mrežu dovedemo u vektor stanje s = [ ] Možemo zamisliti da je to stanje posljedica utjecaja šuma na stanje s. Potom evaluiramo stanja neurona nasumičnim redosljedom, dok mreža ne konvergira. Jedini neuron koji mijenja stanje je s 1, nakon čega je mreža došla u vektor stanje s koje je energetski minimum. Vidimo da je mreža sposobna iz djelomično točnog vektor stanja rekonstruirati zapamćeno Adresiranje memorije putem sadržaja Navedena sposobnost Hopfieldove mreže da na temelju djelomičng binarnog vektora rekonstruira onaj vektor kojim smo ju trenirali zove se "adresiranje memorije putem sadržaja" (engl. content adressable memory). 6
10 Mreža može imati više lokalnih energetskih minimuma. Stoga je moguće utrenirati ju da "zapamti" i rekonstruira n binarnih vektora. Tada pravila podešavanja težina i pristranosti glase: w ij = k=1 ns k i s k j b i = n k=1 s k i gdje je s k i i-ti neuron vektor stanja s k. Ponekad se parametri normaliziraju faktorom 1/n, ali to nema utjecaja na rad mreže. Broj vektora koji mreža može zapamtiti (njen kapacitet) ovisi o njenom broju neurona. Pitanje kapaciteta Hopfieldove mreže je istraživano u dubinu, ali nije relevantno za temu ovog seminara. 7
11 3. Boltzmannov stroj Geoffrey E. Hinton godine opisao je ideju da se Hopfieldova mreža može koristiti ne samo za pohranu binarnih vektora već i kao "računalni proces u kojem se visoko vjerojatna kombinacija odabire iz velikog skupa me duzavisnih hipoteza" [2]. U ovom poglavlju će ta ideja biti opisana. Boltzmannov stroj je oblik Hopfieldove mreže te dosadašnja razmatranja tog modela većinom i dalje vrijede. Ključna razlika je da se stanja neurona evaluiraju stohastički, što će biti opisano u nastavku Notacija Oznake korištene u opisu Hopfieldove mreže i dalje vrijede, sažeti podsjetnik naveden je u tablici 3.1. Tablica 3.1: Oznake korištene u poglavlju o Boltzmannovom stroju s s i w ij b i E(s) E(s i = 1) E i Binarni vektor koji definira stanje svih neurona u mreži Stanje i-tog neurona mreže Težina (engl. weight) veze me du neuronima s i i s j Pristranost (engl. bias) neurona s i Energija mreže za vektor stanje s Energija mreže kada je s i u stanju 1, pri čemu su stanja drugih neurona fiksirana na proizvoljnu vrijednost Razlika izme du energija mreže s obzirom na stanje neurona s i, pri čemu su stanja drugih neurona fiksirana na proizvoljnu vrijednost Kao oznake stanja pojedinih neurona koristiti ćemo s i {0, 1}, što je uobičajena konvencija za Boltzmannov stroj. Izraz za energiju mreže nije se promjenio, i dalje vrijedi: 8
12 E(s) = i j>i w ij s i s j i b i s i (3.1) S obzirom na oznake stanja {0, 1}, iz izraza za energiju mreže vidimo da je utjecaj neurona s i na energiju sada: E i = E(s i = 0) E(s i = 1) = j i w ij s j + b i = j w ij s j + b i (3.2) Detalji skoro identičnog izvoda koji je proveden uz pretpostavku da neuroni poprimaju stanja { 1, 1} mogu se vidjeti za izraz (2.3) u poglavlju o Hopfieldovoj mreži. Ako neuroni poprimaju stanja {0, 1}, kroz izvod za E se ne generira konstanta 2 te dobivamo (3.2) Stohastički neuroni Razmotrimo sada ideju da neuroni ne mjenjaju stanje deterministički, već u skladu s nekom vjerojatnošću (stohastički). U statističkoj mehanici Boltzmannova distribucija govori da je vjerojatnost stanja nekog sustava proporcionalna njegovoj energiji na sljedeći način: P (s) e E(s) kt gdje je P (s) vjerojatnost da se sustav na de u stanju s, T temperatura i k Boltzmannova konstanta. Radi lakšeg zapisa možemo u ovom trenutku pretpostaviti da je kt = 1, što neće utjecati na naše razmatranje. Time dobivamo: P (s) e E(s) Kako bismo proporcionalnost u Boltzmannovim jednadžbama pretvorili u jednakosti i dobili ispravan vjerojatnosni prostor, moramo normalizirati distribuciju: P (s) = e E(s) s e = e E(s) (3.3) E(s ) Z gdje s označava jedno od svih mogućih stanja u kojem se Boltzmannov stroj može naći. Z se naziva particijska funkcija (engl. partition function) te je uobičajena oznaka za funkciju koja osigurava ispravnost vjerojatnosne distribucije. 1 1 Particijska funkcija se označava simbolom Z zbog njemačke riječi zustandssumme, koja znači "suma po stanjima". 9
13 Razmotrimo kakve implikacije ovo ima za proizvoljni neuron s i. Mreža je u stanju s, razmatramo vjerojatnost da će neuron s i biti u stanju ε ako su svi ostali neuroni mreže u fiksiranom stanju. Uvodimo oznaku P (s 1, s 2,..., s i 1, s i = ε, s i+1,..., s n 1, s n ), što kraće pišemo P (s i = ε). Prisjetimo se, energiju mreže kada je neuron s i = ε (dok su ostali neuroni fiksirani na prozivoljne vrijednosti) označavali smo analogno s E(s i = ε). Neuron s i može poprimiti stanja {0, 1}, svi ostali neuroni su fiksirani, pa su moguća dva stanja s pripadnim vjerojatnostima P (s i = 0) i P (s i = 1). Iz Boltzmannove distribucije poznato je da je odnos vjerojatnosti dva stanja jednaka odnosu njihovih eksponenciranih energija: P (s i = 0) P (s i = 1) = e E(si=0) e E(s i=1) = e (E(s i=0) E(s i =1)) = e E i (3.4) S obzirom da neuron s i može poprimiti samo stanja 0 i 1, a svi drugi neuroni mreže su trenutačno fiksiranih vrijednosti, znamo da vrijedi P (s i = 0) + P (s i = 1) = 1. Iskoristimo to kako bismo eliminirali jednu nepoznanicu iz izraza (3.4): e E i = P (s i = 0) P (s i = 1) = 1 P (s i = 1) P (s i = 1) = 1 P (s i = 1) 1 na temelju čega jednostavno pronalazimo izraz za vjerojatnost da neuron s i bude u stanju 1: 1 P (s i = 1) = = σ( E 1 + e E i ) (3.5) i gdje je σ(x) uobičajena notacija za često korištenu sigmoidalnu funkciju. Vjerojatnost stanja možemo zapisati izravno putem težina i pristranosti: 1 P (s i = 1) = 1 + e = σ( ( j w ijs j +b i ) j w ij s j + b i ) (3.6) Dakle, ovime smo izrekli vjerojatnost da je neuron s i u stanju 1, kada su svi drugi neuroni fiksirani na proizvoljne vrijednosti. Ta vjerojatnost ne ovisi o trenutnoj vrijednosti s i (prisjetimo se: neuroni u Boltzmannovom stroju nemaju vezu sami sa sobom, dakle u izrazu (3.6) je w ii = 0). Ako sada i dalje držimo sve neurone s j, j i fiksirane i uzorkujemo novo stanje neurona s i, jasno je da će neuron poprimiti vrijednost 1 s vjerojatnošću P (s i = 1). 10
14 3.3. Simulirano kaljenje Algoritam simuliranog kaljenja (engl. simulated annealing) generička je optimizacijska metaheuristika kojoj je svrha pronalazak što boljeg rješenja (nadamo se globalnog optimuma). Algoritam ne igra presudnu ulogu u Boltzmannovim strojevima (može i ne mora se koristiti), ali dobro pojašnjava razliku izme du Hopfieldove mreže i Boltzmannovog stroja. Pri izvodu vjerojatnosti stanja stohastičkog neurona postavili smo da je kt = 1, gdje je k Boltzmannova konstanta a T temperatura sustava. Pretpostavimo sada da je k = 1, ali da je temperatura T promjenjivi parametar. Time dobivamo vjerojatnost: P (s i = 1) = e E i T = σ( E i T ) Graf 3.1 prikazuje vjerojatnost P (s i = 1) s obzirom na E i za tri različite vrijednosti parametra T. Vidimo da pri temperaturi T = 1 vjerojatnost poprima vrijednosti blizu 1 već pri energiji E i = 5, odnosno blizu 0 pri energiji E i = 5. Pri višoj temperaturi (T = 5) vjerojatnost se sporije priklanja graničnim vrijednostima, dok se pri temperaturi T = 50 na rasponu E i [ 20, 20] vjerojatnost kreće izme du 0.4 i T = 1 T = 5 T = Slika 3.1: P (s i = 1) s obzirom na E za različite vrijednosti parametra T Iz grafa možemo zaključiti što se s vjerojatnošću doga da i pri ekstremnim temperaturama. Pri T = 0 vjerojatnost će biti 0 za sve vrijednosti E i < 0, odnosno 1 za sve 11
15 E i > 0. Pri temperaturi T = vjerojatnost će biti 0.5 za sve vrijednosti E i. Sada možemo zaključiti kakav utjecaj ovo ima na Boltzmannov stroj. Ako evaluiramo stanja neurona pri vrlo visokim temperaturama sustava, vjerojatnost da će oni poprimiti stanje 0 odnosno 1 je približno jednaka. Cijela mreža će stoga prelaziti u različita vektor stanja nasumično. Postupnim snižavanjem temperature vjerojatnost stanja neurona sve više ovisi o energetskoj razlici tih stanja, odnosno o težinama i pristranostima mreže. Cijela mreža će težiti prema stanjima koja imaju nisku energiju, ali mogućnost prelaska u stanje više energije postoji. Ako postavimo temperaturu sustava na T = 0, stanja neurona deterministički postaju 0 ili 1 ovisno o E i, kao u Hopfieldovoj mreži. U Boltzmannovom stroju temperatura se uglavnom fiksira na T = 1. U tom smislu se simulirano kaljenje ne koristi izravno, ali dobro ilustrira razliku izme du determinističkog i stohastičkog neurona. Boltzmannov stroj pretražuje šire područje energetskog krajolika, jer može prelaziti u stanja više energije. Ovo svojstvo omogućava pronalazak boljih energetskih minimuma Generativni probabilistički model Boltzmannov stroj je generativni probabilistički model. Pojasnimo to na primjeru stroja koji se sastoji od tri neurona. Težine me du neuronima su definirane kao na slici 3.2. Pristranosti su postavljene na vrijednost 0. s 1 1 s s 3 Slika 3.2: Boltzmannov stroj s definiranim težinama, pristranosti su 0 Boltzmannov stroj za n neurona može se naći u 2 n stanja. U našem primjeru to je 8 različitih stanja. Svako od tih stanja ima točno definiranu energiju. Na temelju energije u skladu s izrazom (3.3) računamo vjerojatnost stanja. Dobiveni rezultati su vidljivi u tablici 3.2. Primjetimo da su vjerojatnosti izračunate za temperaturu sustava T = 1. Ako bismo temperaturu sustava postavili u T =, vjerojatnost svakog stanja bi bila 1/8. 12
16 Tablica 3.2: Distribucija vjerojatnosti Boltzmannovog stroja sa slike 3.2 s E(s) e E(s) P (s) Z = Kako temperatura teži u T = 0, izraz e E(s) T s najnižom energijom teži u 1. eksponencijalno raste te vjerojatnost stanja Vidimo da različita stanja stroja imaju jasno definiranu vjerojatnost. Stoga je Boltzmannov stroj probabilistički model. Isto tako znamo da je stroj u stanju prelaziti iz jednog stanja u drugo u skladu s tim vjerojatnostima, što možemo promatrati kao proces u kojem stroj generira izlaz. Stoga kažemo da je generativni model Termalna ravnoteža Promotrimo sada dinamičko ponašanje Boltzmannovog stroja. Neuroni se evaluiraju nasumičnim redosljedom, kao i u Hopfieldovoj mreži. Postavlja se pitanje: ako smo krenuli iz nasumično odabranog početnog stanja stroja, što možemo očekivati od mreže u budućnosti? Promjene stanja Boltzmannovog stroja možemo promatrati kao Markovljev lanac. To znači da za stanje mreže s t u trenutku t možemo definirati vjerojatnost prelaska u stanje s t+1 za sva moguća stanja. Predočimo ovo primjerom. Pretpostavimo da ] radimo s mrežom od pet neurona. Stanje mreže [ označavamo ] sa s = [s 1 s 2 s 3 s 4 s 5. U trenutku t ona se nalazi u stanju s t = Evaluacijom neurona s 2 mreža prelazi u stanje s t+1, koje može biti ili [ ] [ ]. Koje su vjerojatnosti da mreža u trenutku t + 1 bude u nekom od ova dva stanja? U obzir moramo uzeti vjerojatnost evaluacije baš neurona s 2 i vjerojatnost da taj neuron poprimi odre deno stanje, recimo 1. Pošto se neuroni evaluiraju nasumičnim redosljedom, vjerojatnost da se neuron s 2 odabere za evaluaciju je 0.2. Stoga vrijedi: 13
17 [ ] [ ] [ ] P (s t+1 = s t = ) = 0.2P (s t+1,2 = 1 s t = ) = 0.2σ( j w 2j s t,j b 2 ) = 0.2σ( w 24 w 25 b 2 ) gdje s t+1,2 označava stanje neurona s 2 u trenutku t + 1. Ovaj izraz sam po sebi nije bitan, ali prikazuje da je vjerojatnost prelaska iz svakog stanja u svako drugo stanje definirana te ovisi samo o trenutnom stanju te težinama i pristranostima mreže. Neovisnost o stanju mreže u svim trenutcima koji prethode trenutnom nazivamo odsutnost pamćenja ili Markovljevo svojstvo. Za sve temperature T > 0 moguće je u konačnom broju koraka iz svakog stanja stroja doći u svako drugo stanje (promjenom stanja neurona koji su u ta dva stanja različiti). Time je ispunjen uvjet ergodičnosti Markovljevog lanca pa on ima stacionarnu distribuciju, identičnu distribuciji Boltzmannovog stroja izračunatoj putem energija. Vjerojatnost nekog stanja u stacionarnoj distribuciji može se promatrati kao udio vremena koji stroj provodi u tom stanju, kada broj promjena stanja (evaluacija neurona) teži u beskonačnost. Stacionarna distribucija ovisi o temperaturi na kojoj se neuroni evaluiraju, što je pokazano u prethodnom poglavlju. Jednom kada je stroj radio na nekoj konstantnoj temperaturi dovoljno dugo da mijenja stanja u skladu (okvirno) sa stacionarnom distribucijom, kažemo da je postigao termalnu ravnotežu (engl. thermal equilibrium). Simulirano kaljenje se može koristiti kao pomoćni alat za smanjenje vremena potrebnog da se postigne termalna ravnoteža. Počevši s visokim temperaturama te postupnim smanjenjem temperature, manja je mogućnost zaglavljenja u lokalnim energetskim dolinama koje nisu visoko vjerojatne u stacionarnoj distribuciji Učenje Motivacija Vidjeli smo kako Boltzmannov stroj može modelirati vjerojatnosnu distribuciju binarnih vektora. Nadalje, prisjetimo se svojstva Hopfieldove mreže koju smo nazvali "adresiranje memorije putem sadržaja". Boltzmannov stroj, kao generalizirani model Hopfieldove mreže, posjeduje i to svojstvo. Navedimo par primjera gdje ovakav model može biti od praktične koristi. 14
18 Detekcija anomalija Zamislimo da ponašanje korisnika unutar nekog sigurnosnog sustava predstavimo binarnim vektorom. Tada je moguće izgraditi Boltzmannov stroj koji modelira distribuciju uobičajenih ponašanja. Potom promatramo ponašanje sustavu dosad nevi denog korisnika. Binarni vektor tog ponašanja zabilježimo i postavimo kao stanje Boltzmannovog stroja. Za neko neuobičajeno, malo vjerojatno ponašanje, energija stroja će biti sukladno visoka. Na taj način možemo detektirati anomalije čak i ako nam nije unaprijed poznato kojeg su oblika. Eliminacija šuma Ovakva primjena oslanja se na mogućnost stroja da adresira memoriju putem pamćenja. Realna je situacija da primimo prouku koja je zbog buke u komunikacijskom kanalu djelomično iskvarena. Ako je poznata distribucija očekivanih poruka, te posjedujemo Boltzmannov stroj koji modelira tu distribuciju, poruku možemo pročistiti tako da ju postavimo kao početno stanje stroja te mu potom dozvolimo konvergira prema energetskom minimumu. Stroj će eliminirati šum i predočiti nam čistu poruku, baš onu koja je najvjerojatnija s obzirom na primljenu iskvarenu. Modeliranje uvjetne vjerojatnosti, klasifikacija Klasifikacija podataka tipična je primjena neuronskih mreža i mnogih drugih algoritama. Rješenje takvih problema možemo potražiti i primjenom Boltzmannovog stroja. Detaljan opis takvog sustava biti će predočen kroz ovaj rad, stoga ovdje samo navodimo mogućnost takve primjene Modeliranje distribucije vjerojatnosti Rekli smo da je Boltzmannov stroj generativni probabilistički model. Povežimo to s realnim primjerom. Zamislimo da želimo naučiti stroj da generira slikovni zapis tri različita slova, predočena na slici 3.3. Sva tri slova mogu se predočiti kao binarni vektor od 7 5 = 35 bita. Trebali bismo biti u stanju naučiti Boltzmannov stroj da s odre denom vjerojatnošću generira neko od ta tri slova. Ovakav stroj imao bi izravnu primjenu pri eliminaciji šuma u komunikaciji. Jasno je da moramo podesiti težine i pristranosti mreže na način da binarni vektori koji odgovaraju slovima imaju niske energetske vrijednosti. Kako to učiniti? 15
19 Slika 3.3: Slikovni zapis slova A, B i C Izglednost U području strojnog učenja često se koristi procjena parametara putem maksimalne izglednosti. Slijedi sažeti opis te metode, za detalje treba pogledati neki od mnogih dostupnih materijala o osnovama strojnog učenja. Želimo izgraditi Boltzmannov stroj koji modelira distribuciju vjerojatnosti. Kako bismo to učinili, koristimo primjere (binarne vektore) distribucije koju želimo. Oznaka x predstavlja jedan primjer za učenje. Skup svih primjer za učenje koje imamo, čija brojnost je N, označavamo s D. Primjetimo da skup D predstavlja vjerojatnosnu distribuciju, gdje je pojavljivanje pojedinog primjera ima vjerojatnost 1 /N. Želimo da naš Boltzmannov stroj modelira vjerojatnosnu distribuciju primjera iz skupa D. Kako bi to postigli, potrebno je podesiti težine i pristranosti mreže. Uvodimo oznaku θ, koja označava skup svih parametara modela (težine i pristranosti). Koristeći tu notaciju, možemo reći da modeliramo vjerojatnost primjera uvjetovanu skupom parametara: P (x θ) Pošto nam je već poznata distribucija primjera D, a zanimaju nas parametri θ, uvodimo termin izglednost (engl. likelihood), koju ćemo označiti simbolom L. Izglednost parametara uvjetovana primjerom jednaka je vjerojatnosti tog primjera uvjetovanoj parametrima: L(θ x) = P (x θ) Razmotrimo značenje predočenog izraza. Poanta nije u procjeni točne vjerojatnosti, već u ideji da ako mjenjamo parametre θ tako da oni povećavaju vjerojatnost pojavljivanja primjera x (desna strana izraza), tada time istovremeno povećavamo izglednost da su parametri θ baš oni koje tražimo (lijeva strana). 16
20 Ista ideja primjenjiva je na cijeli skup primjera za učenje D. Pretpostavimo da su primjeri za učenje uzorkovani iz samo jedne distribucije (to znači da nismo u distribuciju dnevnih temperatura zraka unijeli mjerenja temperature mora). Pretpostavimo nadalje da su uzorci me dusobno nezavisni (to znači primjerice da smo mjerili svaki dan točno jednom). Tada govorimo o podatcima koji su nezavisni i identično distribuirani, za što se u literaturi često koristi akronim iid (engl. independent, identically distributed). Ako je zadovoljen iid uvjet, možemo definirati vjerojatnost cijelog skupa za učenje D: P (D) iid = x D P (x) Iz dobivene vjerojatnosti P (D), možemo definirati izglednost parametara s obzirom na cijeli skup za učenje D: L(θ D) = P (D θ) iid = x D P (x θ) (3.7) Pošto u pravilu znamo za vjerojatnost P (x θ), promjenom parametara θ možemo mjenjati vjerojatnost P (D θ). Tražimo skup parametara koji dotičnu vjerojatnost maksimizira. Za Boltzmannov stroj to bi značilo da smo pronašli težine i pristranosti koje dobro modeliraju skup primjera D. Za pronalazak maksimuma vjerojatnosti P (D θ) koristimo gradijentni uspon. Još nam preostaje objasniti često korišteni trik koji će i nama biti od pomoći. Razmotrimo logaritamsku funkciju ln x. Ona je rastuća na cijeloj domeni: povećanjem argumenta x, povećava se vrijednost funkcije ln x. Pošto se računica izglednosti odvija na intervalu P (x) [0, 1], unutar domene logaritamske funkcije (izuzevši rubnu vrijednost 0, što nije problem), znamo da povećanjem P (x) raste i ln P (x). Stoga umjesto maksimizacije izglednosti možemo koristiti maksimizaciju log-izglednosti: ln L(θ D) = ln P (D θ) = iid ln P (x θ) = ln P (x θ) (3.8) x D x D Maksimizacijom log-izglednosti pronalazimo isti skup parametara θ kao i maksimizacijom obične izglednosti, ali matematički izračun često bude jednostavniji Procjena najveće izglednosti parametara Boltzmannovog stroja Primjenimo procjenitelj najveće izglednosti parametara na model Boltzmannovog stroja. Potrebno je pronaći gradijent funkcije log-izglednosti po težinama i pristranostima 17
21 mreže. Koristimo log-izglednost jer pojednostavljuje račun. Krenimo s uvrštavanjem izraza za vjerojatnost stanja P (x) u izraz za log-izglednost: ln L(θ D) = x D ln P (x θ) = x D ln e E(x,θ) Z(θ) = x D ( ln e E(x,θ) ln Z(θ) ) = x D ( E(x, θ) ln Z(θ)) Uveli smo novu oznaku E(x, θ) koja označava energiju mreže za vektor stanje x uz trenutne parametre mreže θ. Izvedimo sada gradijent dobivenog izraza s obzirom na težinu veze w ij : ln L(θ D) = ( E(x, θ) w ij w ij x D = x D ( E(x, θ) 1 w ij Z(θ) Izvedimo ukratko potrebne parcijalne derivacije: ) ln Z(θ) w ij ) Z(θ) w ij ( E(x, θ) = w ij w ij k l>k w kl x k x l k b k x k ) = x i x j Z(θ) = e E(t,θ) = w ij w ij t t e E(t,θ) w ij = t E(t,θ) E(t, θ) e w ij = t e E(t,θ) w ij ( k l>k w kl t k t l k b k t k ) = t e E(t,θ) ( 1) t i t j 18
22 = t e E(t,θ) t i t j pri čemu x i označava i-tu komponentu vektor stanja x, a t i i-tu komponentu vektor stanja t. Oznaka t i dalje predstavlja jedno od svih mogućih vektor stanja stroja. Uvrstimo dobivene parcijalne derivacije u izraz za log-izglednost: ln L(θ D) = ( E(x, θ) 1 w ij w ij Z(θ) x D = x D ( x i x j 1 Z(θ) ) Z(θ) w ij ) e E(t,θ) t i t j t Primjetimo da se primjer x koristi samo u početku izraza. Stoga možemo pojednostaviti izraz: ( ) ln L(θ D) = x i x j N e E(t,θ) w ij Z(θ) t it j x D t Sada postaje vidljivo da je dio izraza unutar sumacije po stanjima t upravo vjerojatnost stanja t u skladu s izrazom (3.3), pa nadalje pojednostavljujemo: ( ) ln L(θ D) = x i x j N P (t θ)t i t j w ij x D t Konačno, možemo dobiveni izraz još malo urediti tako da obje strane podjelimo s brojem primjera za učenje N. To možemo učiniti jer nam je za optimizaciju gradijentnim spustom bitan smjer gradijenta, a ne njegov iznos. Dobivamo: 1 ln L(θ D) = 1 N w ij N x ix j P (t θ)t i t j x D t Pošto pretpostavljamo da su primjeri iz skupa za učenje podjednako vjerojatni, vjerojatnost pojavljivanja pojedinog primjera je točno 1 /N. Tu vjerojatnost možemo označiti kao P data (s): 1 ln L(θ D) = P data (x)x i x j N w ij x D t P (t θ)t i t j = E data [s i s j ] E model [s i s j ] (3.9) 19
23 Rezultirajući gradijent vrlo je jednostavnog oblika, pojasnimo što točno znači. Oznaka E data [ ] predstavlja vjerojatnosno očekivanje s obzirom na skup za učenje D. Oznaka E model [ ] predstavlja vjerojatnosno očekivanje po svim mogućim stanjima modela. Dakle, ako želimo povećati vjerojatnost da stroj generira primjere za učenje D, moramo težine w ij povećavati u smjeru E data [s i s j ], odnosno smanjivati u smjeru E model [s i s j ]. Uzevši u obzir izraz za energiju mreže (3.1), efekt takve korekcije težina biti će smanjenje energije stroja za stanja iz skupa D, uz povećanje energije za sva moguća stanja. Izravna posljedica toga je povećanje vjerojatnosti stanja iz skupa D, što smo željelji postići. Na isti način se izvodi izraz za gradijent logaritamske izglednosti u ovisnosti o pristranosti b i, konačni rezultat tog izvoda glasi: Složenost učenja 1 ln L(θ D) = E data [s i ] E model [s i ] N b i Izraz gradijenta log-izglednosti (3.9) je elegantan i lako se tumači, ali nažalost nije od velike koristi. Problem je u članu E model [ ]. Da bi se taj član izračunao, potrebno je znati vjerojatnost svih mogućih stanja stroja. Kako broj stanja eksponencijalno raste s brojem neurona u stroju, tako raste i računalna složenost učenja. Za realne zadatke u kojima bi stroj sadržavao nekoliko tisuća neurona ili više, procjena parametara putem maksimalne izglednosti nije izvediva Učenje Monte Carlo metodom Problem učenja Boltzmannovog stroja maksimizacijom izglednosti proizlazi iz eksponencijalne složenosti izračuna vjerojatnosti svih mogućih stanja stroja. Ta stanja su nam potrebna za izračun očekivanja E model [ ]. Pogledajmo alternativni pristup treniranju stroja u kojem se dotično očekivanje ne računa egzaktno nego aproksimira. Radi se o "Markovljev lanac Monte Carlo" metodi (engl. Markov chain Monte Carlo). Često se u literaturi koristi akronim MCMC. U poglavlju 3.5 objašnjeno je kako je dinamika promjena stanja Boltzmannovog stroja zapravo Markovljev lanac. Nadalje, rekli smo da je stacionarna distribucija tog lanca jednaka vjerojatnosnoj distribuciji stroja izračunatoj putem energije. Stacionarnu distribuciju Markovljevog lanca možemo aproksimirati pamteći stanja lanca kroz konačni broj koraka. U kontekstu Boltzmannovog stroja to se može učiniti na sljedeći način. Stroj se dovede u termalnu ravnotežu za temperaturu T = 1 (simulirano 20
24 kaljenje se može koristiti kako bi se ubrzalo uravnotežavanje). Ovo traje odre deni broj promjena stanja stroja, koja ne bilježimo. Kada je ravnoteža postignuta, nasumična evaluacija neurona se nastavlja te stroj mjenja stanja. Sada bilježimo (uzorkujemo) stanje stroja nalazi nakon svake evaluacije neurona. Ovo se naziva Gibbsovo uzorkovanje (engl. Gibbs sampling). Bilježimo naravno i broj puta koliko se stroj našao u istom stanju. Kada bismo ovo činili u beskonačnost, statistika posjećenosti stanja koju smo sakupili bila bi stacionarna distribucija lanca, jednaka energetskoj distribuciji stroja. Korištenjem konačnog broja uzoraka dobivamo aproksimaciju distribucije koju možemo koristiti za treniranje. Naprosto očekivanje E model [ ] u metodi maksimalne izglednosti zamjenimo očekivanjem koje proizlazi iz sakupljene statistike posjećenosti stanja. Treniranje Boltzmannovog stroja s velikim brojem neurona MCMC metodom puno je brže od izravnog računanja vjerojatnosti stanja, ali je i dalje presporo da bi omogućavalo izradu dovoljno složenih modela. Nadalje, postavlja se pitanje koliko dugo je potrebno čekati da stroj postigne termalnu ravnotežu te koliko je uzoraka potrebno sakupiti kako bismo dobro aproksimirali stacionarnu distribuciju. Egzaktnih odgovora na ova pitanja nema, ona ovise o kompleksnosti stroja i distribuciji koju modeliramo, što je dodatna prepreka učinkovitom korištenju MCMC pristupa Primjer učenja MCMC metodom Promotrimo učenje Boltzmannovog stroja Markovljev lanac Monte Carlo metodom na primjeru. Razmatramo stroj sa 16 neurona, odnosno 2 16 = mogućih stanja. Stroj ne modelira neku unaprijed definiranu distribuciju vjerojatnosti, parametre mu generiramo nasumično. Težine i pristranosti su inicijalizirane slučajnim odabirom iz normalne distribucije sa srednjom vrijednošću 0 i varijancom 1, N (0, 1). Gibbsovim uzorkovanjem uzimamo uzoraka. Uzorak uzimamo tako da nasumično odaberemo neuron mreže, postavimo ga u stanje 0 ili 1 u skladu s pripadnom vjerojatnošću te potom zapamtimo stanje cijele mreže. Prvu četvrtinu uzoraka odbacujemo pretpostavljajući da je to vrijeme potrebno da stroj do de do termalne ravnoteže. Ne koristimo simulirano kaljenje. Po završetku uzorkovanja, na temelju uzetih uzoraka možemo definirati vjerojatnosnu distribuciju stanja. Vjerojatnost stanja je definirana kao broj uzoraka jednakih tom stanju, podjeljeno s ukupnim brojem uzoraka. Neovisno o sakupljenim uzorcima računamo pravu distribuciju vjerojatnosti stroja, definiranu putem energije. Ovo je moguće pošto radimo sa strojem koji ima samo 16 neurona, u praktičnim primjenama gdje mreža može imati više tisuća neurona raču- 21
25 nanje vjerojatnosti putem energije bilo bi vrlo nepraktično. Potom možemo usporediti pravu vjerojatnosnu distribuciju stanja (izračunatu putem energije) i distribuciju aproksimiranu uzorkovanjem (MCMC metodom). Želimo vidjeti koliko dobro možemo aproksimirati pravu distribuciju uzorkovanjem. Tablica 3.3 sadrži vjerojatnosti za najvjerojatnija stanja (po pravoj distribuciji). Stupci tablice slijedom sadrže: vektor stanje stroja, pravu vjerojatnost s obzirom na energiju tog stanja, vjerojatnost aproksimiranu s prvih 200 tisuća neodbačenih uzoraka, vjerojatnost aproksimiranu sa svih 1.5 milijun neodbačenih uzoraka, odnos prave vjerojatnosti i aproksimacije s 200 tisuća uzoraka, odnos prave vjerojatnosti i aproksimacije s 1.5 milijun uzoraka. Tablica 3.3: Primjer MCMC aproksimacije najvjerojatnijih stanja Boltzmannovog stroja s P (s) P 200k (s) P 1500k (s) P (s) P 200k (s) P (s) P 1500k (s) Vidimo da su aproksimacije dobivene većim brojem uzoraka u pravilu bliže pravoj distribuciji. Isto tako možemo primjetiti da su sve uzorkovane vjerojatnosti vrlo blizu pravim vjerojatnostima. Ovo je posljedica toga što promatramo aproksimacije najvjerojatnijih stanja. Za njih MCMC metode najbrže konvergiraju prema stacionarnim vjerojatnostima. Drukčiju sliku o kvaliteti aproksimirane distribucije daje tablica 3.4. Ona sadrži stanja koja su u poretku po pravoj vjerojatnosti na mjestima od 1500 do 1505 (od sveukupno 65536). Vidimo da su aproksimacije za manje vjerojatna stanja osjetno lošije, u smislu proporcije prave vjerojatnosti i aproksimirane. Ovo je posebno naglašeno kada se aproksimacija radi s manjim brojem uzoraka. Bez da prikazujemo konkretne vrijednosti, lako je zaključiti da su za još manje vjerojatna stanja MCMC aproksimacije proporcionalno lošije. Da bi se njih iole kvalitetno aproksimiralo potreban je iznimno velik broj uzoraka. 22
26 Tablica 3.4: Primjer MCMC aproksimacije manje vjerojatnih stanja Boltzmannovog stroja s P (s) P 200k (s) P 1500k (s) P (s) P 200k (s) P (s) P 1500k (s) Razliku stacionarne distribucije Boltzmannovog stroja i MCMC aproksimacije u ovisnosti o broju uzoraka možemo prikazati grafički. Kao mjeru različitosti dviju distribucija koristiti ćemo Kullback-Lieblerovu divergenciju: D KL (P Q) = s ln P (s) Q(s) P (s) Gdje je P (s) prava vjerojatnost stanja s, Q(s) aproksimirana vjerojatnost, a D KL (P Q) Kullback-Lieblerova divergencija tih dviju distribucija. KL divergencija za Boltzmannov stroj iz primjera, s obzirom na broj uzoraka koji se koriste za aproksimaciju distribucije, prikazana je na slici 3.4. Iz slike jasno vidimo da KL divergencija pada kako broj uzoraka raste. Ovo je u očekivani rezultat, s obzirom da veći broj uzoraka bolje aproksimira pravu distribuciju k 400k 600k 800k 1000k 1200k 1400k 1600k Slika 3.4: KL divergencija prave i aproksimirane distribucije s obzirom na broj uzoraka 23
27 Što možemo zaključiti iz ovog primjera? Iako se radi o Boltzmannovom stroju sa samo 16 neurona, potreban je vrlo velik broj uzoraka da bi se kvalitetno aproksimiralo njegovu distribuciju. Ta aproksimacija je u pravilu bolja za visoko vjerojatna nego za nisko vjerojatna stanja. Nadalje, sakupljanje velikog broja uzoraka je memorijski zahtjevno. Memorijska složenost dodatno raste s brojem neurona u stroju (u svakom uzorku pamtimo stanje svakog neurona mreže). Očigledno je da za kompleksne Boltzmannove strojeve, koji mogu sadržavati stotine tisuća neurona, MCMC metoda ne rješava problem pronalaska prave vjerojatnosne distribucije stanja, već samo omogućava pronalazak relativno grubih aproksimacija. Iako su grube aproksimacije često dovoljno dobre za treniranje stroja (u pravilu modeliramo stanja visokih vjerojatnosti, koje MCMC bolje procjenjuje), količina uzoraka potrebnih za aproksimaciju je i dalje problem. Osim toga, broj potrebnih uzoraka i vrijeme dolaska stroja u termalnu ravnotežu uvelike ovise o distribuciji koju stroj treba modelirati, ne postoje univerzalna pravila koja bi ih odredila. Prikladne vrijednosti se odre duju eksperimentalno, što dodatno otežava i produljuje proces učenja Skriveni neuroni U mnogim slučajevima nije dovoljno imati samo neurone vidljivih varijabli, već je mrežu potrebno proširiti skupom neurona čije vrijednosti nisu poznate u primjerima za učenje. Svrha toga može biti potreba za modeliranjem varijabli za koje znamo da postoje, ali čije vrijednosti nam nisu poznate (latentne varijable) ili za općenitim proširenjem ekspresivnosti modela (kompleksniji model može modelirati kompleksnije distribucije). Vektor stanje Boltzmannovog stroja sa skrivenim neuronima tada postaje unija vektor stanja vidljivih i skrivenih jedinica: s = {v, h}. Oznaka v dolazi od engleske riječi visible, a oznaka h od hidden. Nas u pravilu zanima distribucija vidljivih jedinica. Samo njih možemo usporediti s postojećim primjerima. Njihova distribucija doduše ovisi o svim jedinicama stroja: P (v) = h P (v, h) Dakle, vjerojatnost da se vidljivi neuroni stroja na du u stanju v jednaka je sumi vjerojatnosti da su vidljivi neuroni u tom stanju, a skriveni neuroni h u jednom od svih mogućih stanja. Ako energiju stroja za neko stanje E(s) zapišemo pomoću oznaka za vidljivi i skriveni dio tog istog stanja E(v, h), možemo nastaviti s izvodom: 24
28 P (v) = h e E(v,h) v,h e E(v,h ) = h e E(v,h) Pogledajmo kakav učinak uvo denje skrivenih jedinica ima na procjenu parametara mreže pomoću maksimalne izglednosti. Moramo uzeti u obzir da primjeri iz skupa za učenje D sadrže vrijednosti samo vidljivih jedinica. Stoga u izraz (3.8) uvrštavamo dobivenu vjerojatnost P (v): Z ln L(θ D) = v D ( ln h e E(v,h,θ) ln Z(θ) ) ( = ln v D h e E(v,h,θ) ) N ln Z(θ) Za dobivenu log-izglednost potrebno je naći gradijent u ovisnosti o nekom konkretnom parametru, primjerice w ij. w ij ln L(θ D) = v D w ij ln h e E(v,h,θ) N ln Z(θ) w ij Gradijent drugog logaritma (ln Z(θ)) već je izveden i nećemo ga ponavljati. Pogledajmo samo gradijent prvog logaritma: w ij ln h e E(v,h,θ) = 1 h e E(v,h,θ) w ij h e E(v,h,θ) = = 1 h e E(v,h,θ) h ( e E(v,h,θ) s i s j ) h h e E(v,h,θ) e E(v,h,θ) E(v, h, θ) w ij Neka ne zbunjuje pojavljivanje oznaka s i i s j u konačnom rezultatu izvoda, iako smo koristili vektore v i h u prethodnim koracima. Oznake s i i s j označavaju da se može raditi o bilo kojim neuronima, vidljivim ili skrivenim. Izvedeni gradijent u ovisnosti o parametru w ij vrijedi neovisno o kojim neuronima se radi. Dobiveni gradijent možemo urediti na sljedeći način: 25
29 w ij ln h e E(v,h,θ) = = ( ) h e E(v,h,θ) s i s j Z(θ) h e E(v,h,θ) Z(θ) h (P (v, h θ)s is j ) P (v, h θ) h Razmotrimo značenje dobivenog izraza. Radi se o težinskom usrednjavanju umnoška s i s j s obzirom na vjerojatnost P (v, h θ), po svim mogućim stanjima skrivenih neurona mreže. Izračun cijelog izraza stoga ima eksponencijalnu računalnu složenost s obzirom na broj skrivenih neurona. Konačno, uvrstimo dobivenu parcijalnu derivaciju u gradijent log-izglednosti. Istovremeno ćemo obje strane izraza podijeliti s N, brojem primjera za učenje D: 1 ln L(θ D) = 1 N w ij N = 1 N v D v D w ij ln h e E(v,h,θ) w ij ln Z(θ) h (P (v, h θ)s is j ) h P (v, h θ) E model [s i s j ] [ h = E (P (v, h θ)s ] is j ) data E model [s i s j ] P (v, h θ) h Složenost člana E model [ ] i dalje je eksponencijalna, ali je broj neurona o kojima ona ovisi povećan za broj skrivenih neurona. Vidimo da su problemi treniranja modela sa skrivenim jedinicama uvećani za faktor koji eksponencijalno raste s njihovim brojem. 26
30 4. Ograničeni Boltzmannov stroj Boltzmannov stroj je potpuno povezan, sadrži težinske veze izme du svaka dva neurona mreže. Kao takav, vrlo je ekspresivan, sposoban izraziti korelaciju izme du bilo koje dvije varijable, vidljive ili latentne. S druge strane, pokazali smo kako je učenje Boltzmannovog stroja izrazito složeno, često čak i praktično nemoguće. Kako bi omogućili efikasno učenje, potrebno je pojednostaviti model. Jedno takvo pojednostavljenje je ograničeni Boltzmannov stroj, koji se često imenuje akronimom RBM (engl. Restricted Boltzmann Machine) Definicija U ograničenom Boltzmannovom stroju postoje vidljivi i skriveni neuroni. Prisjetimo se, stanja vidljivih neurona označavaju varijable čiju distribuciju modeliramo i koje su sadržane u primjerima za učenje. Stanja skrivenih neurona označavaju neke nama nepoznate, latentne varijable. Njihove vrijednosti nisu sadržane u primjerima za učenje, a koristimo ih kako bi povećali izražajnu snagu modela. Ograničenje koje uvodimo je da ne postoje veze izme du vidljivih neurona, kao ni veze izme du skrivenih neurona. Postoje veze isključivo izme du vidljivih i skrivenih neurona. Ograničenja pristranosti ne postoje. Primjer ograničenog Boltzmannovog stroja prikazan je na slici 4.1. h 1 h 2 h 3 v 1 v 2 v 3 v 4 Slika 4.1: Ograničeni Boltzmannov stroj s 4 vidljiva i 3 skrivena neurona 27
31 Vidljivi neuroni su u donjem dijelu slike, označeni s v 1, v 2, v 3 i v 4. Vektor stanja svih vidljivih neurona označavamo s v. U gornjem dijelu slike nalaze se skriveni neuroni, označeni s h 1, h 2 i h 3. Vektor stanja skrivenih neurona označavamo s h. Prikazane su i sve težinske veze u modelu (težine nisu označene radi jasnoće). Ovakav prikaz mreže čest je u literaturi. Neuroni su u njemu grupirani u dva sloja pa se stoga i govori o "vidljivom sloju" odnosno "skrivenom sloju". U daljnjem tekstu se koristi ova konvencija. Definirani model prvi puta je predložen pod nazivom "harmonium", kao matematički opis biološkog procesiranja perceptivnih podražaja [11]. U kontekstu umjetnih neuronskih mreža Geoffrey Hinton mu je dao naziv "ograničeni Boltzmannov stroj". Energija RBM-a definirana je jednako kao i u Boltzmannovom stroju, ali je zbog uvedenog ograničenja izraz malo drukčiji. Ako je skup svih neurona stroja s unija vidljivih i skrivenih neurona, s = v h, tada vrijedi: E(v, h) = E(s) = w ij s i s j b i s i i j>i i = w kl v k h l b k v k b l h l (4.1) v k v h l h v k v h l h izraz nije izveden korak po korak jer bi indeksacija bila zbunjujuća, stoga opravdajmo dobiveno logički. U prvoj liniji izraza definirana je energija Boltzmannovog stroja na općenit način, koji vrijedi i za RBM. Ta energija se sastoji od težinskih veza neurona "svaki sa svakim" te pristranosti pojedinih neurona. U RBM-u težinske veze postoje samo me du neuronima različitih slojeva. Stoga umnožak "svaki sa svakim" možemo izraziti kao "svaki vidljiv sa svakim skrivenim". Pristranosti svih neurona možemo izraziti zbrojem pristranosti neurona vidljivog i skrivenog sloja. Upravo ovo je zapisano u konačnom izrazu energije ograničenog Boltzmannovog stroja (4.1). Razmotrimo nadalje posljedice uvedenih ograničenja na vjerojatnosne izraze. Neuroni unutar istog sloja su neovisni jedni o drugima, uz uvjet da je suprotni sloj fiksiran na neko stanje. Na primjeru dva neurona vidljivog sloja: P (v i, v j h) = P (v i h)p (v j h) Zajednička vjerojatnost stanja dva vidljiva neurona jednaka je umnošku pojedinih vjerojatnosti, uz fiksirane vrijednosti skrivenog sloja. Istovremeno, ne možemo reći da su neuroni općenito nekorelirani: 28
32 P (v i, v j ) P (v i )P (v j ) Korelacija postoji, ali je izražena preko skrivenog sloja, a ne izravnim težinskim vezama. Ovo možemo poopćiti. Recimo da mreža ima n neurona vidljivog sloja i m neurona skrivenog sloja. Tada vrijedi: P (v h) = P (v 1, v 2,..., v n h) = v i v P (v i h) (4.2) Isto tako možemo izraziti uvjetnu vjerojatnost skrivenog sloja: P (h v) = P (h 1, h 2,..., h m v) = h i h P (h i v) (4.3) Iz ovakvog probabilističkog opisa teško je razviti dobru intuiciju o ograničenom Boltzmannovom stroju. Promotrimo ga stoga iz druge perspektive Produkt stručnjaka Postoji više načina da se kombiniranjem različitih distribucija definira neka nova. Često korišten pristup su primjerice mješavine (engl. mixtures), koje se baziraju na sumiranju i normalizaciji više distribucija. Alternativan pristup je kombiniranje distribucija množenjem. Ako kažemo da je svaka od elementarnih distribucija svojevrsni stručnjak (engl. expert), tada njihov normalizirani umnožak nazivamo produktom stručnjaka (engl. Product of Experts) [3]. Za n diskretnih distribucija P 1 (x), P 2 (x),..., P n (x) nad domenom D, za svaki x D definiramo njihov produkt: P (x) = n P i (x) i=1 Kako bi taj umnožak bio ispravno definirana distribucija vjerojatnosti, potrebno je osigurati da je suma vjerojatnosti svih x iz domene D jednaka jedan. Dobivamo normalizirani produkt, odnosno ispravno definiran produkt stručnjaka: P (x) = P (x) x D P (x ) = x D n i=1 P i(x) n i=1 P i(x ) = n i=1 P i(x) Z (4.4) Gdje Z(x) kao i obično označava particijsku funkciju koja normalizira vjerojatnosnu distribuciju. Specifičnost ovakvog kombiniranja distribucija najlakše je pre- 29
33 dočiti na primjeru. Slika 4.2 prikazuje na lijevom grafu dvije normalne distribucije. Njihova mješavina i produkt prikazani su na desnom grafu. 0.5 P1(x) P2(x) 0.5 P1(x) P2(x) mixture P1(x) P2(x) product Slika 4.2: Lijevo: dvije normalne distribucije. Desno: njihova mješavina i produkt Na slici vidimo da kombiniranje distribucija množenjem daje "oštriju" distribuciju nego što je bilo koja od originalnih. Mješavina, s druge strane, uvijek daje "mekšu" distribuciju. Ovo svojstvo produkta stručnjaka omogućava kombiniranje velikog broja distribucija bez da se rezultirajuća distribucija odveć rasipa. Ograničeni Boltzmannov stroj zapravo je produkt stručnjaka. Prvi stručnjak je pri tome vektor pristranosti vidljivih neurona, označimo ga s P vis (v). Kada u mreži ne bi postojali skriveni neuroni, vjerojatnost stanja v bi bila odre dena isključivo tim pristranostima: P vis (v) = exp( E(v)) Z = exp( v i v v ib i ) Z Vjerojatnost koju modelira jedan skriveni neuron označimo s P hid (v). Kada bi se mreža sastojala od vidljivih neurona bez pristranosti i samo jednog skrivenog neurona h 1, vjerojatnost stanja v bi bila: P hid (v) = exp( E(v)) Z = exp( v i v w i1v i h 1 + b 1 h 1 ) Z Pri čemu su particijske funkcije Z i Z prikladno definirane za svaku distribuciju. Spojimo sada razmatrane elemente u jednu mrežu. Nju sačinjavaju vidljivi neuroni koji imaju pristranosti i samo jedan skriveni neuron, spojen sa svim vidljivim neuronima. Razmotrimo umnožak distribucija P vis (v) i P hid (v): 30
34 P vis (v)p hid (v) = exp( v i v v ib i ) exp( v i v w i1v i h 1 + b 1 h 1 ) Z Z = exp( v i v v ib i + v i v w i1v i h 1 + b 1 h 1 ) ZZ Prisjetimo se da particijske funkcije ne ovise o stanju za koje se računa vjerojatnost, one su konstante koje osiguravaju da je suma vjerojatnosti svih elemenata domene jednaka jedan. Stoga ih možemo "namještati" kako god je potrebno da se postigne ispravna distribucija. Normaliziramo li dobiveni produkt nekom particijskom funkcijom ZZ /Z, dobivamo produkt dvaju stručnjaka (stručnjak pristranosti vidljivih neurona i stručnjak jednog skrivenog neurona). Istovremeno ćemo jedini skriveni neuron h 1 uvrstiti u vektor h: P vis (v)p hid (v) ZZ Z = exp( v i v v ib i + v i v w i1v i h 1 + b 1 h 1 ) ZZ ZZ Z = exp( v i v v ib i + v i v h j h w ijv i h j + h j h b jh j ) Z = e E(v) Z Vidimo da smo dobili ništa drugo nego vjerojatnost stanja v u ograničenom Boltzmannovom stroju. Na istovjetan način možemo nastaviti dodavati skrivene neurone. Svaki skriveni neuron svojom pristranošću i težinskim vezama prema vidljivim neuronima modelira distribuciju vidljivih neurona. Množenjem te distribucije s postojećim RBM-om i normalizacijom dobivamo RBM s jednim skrivenim neuronom više. Vidimo stoga da je RBM produkt stručnjaka. Sada ponovo možemo razmotriti ograničeni Boltzmannov stroj, ovaj put kao produkt stručnjaka. Semantika stroja može se lakše objasniti. Pristranosti vidljivih neurona modeliraju njihovu distribuciju. Nadalje, svaki skriveni neuron modelira distribuciju stanja vidljivog sloja. Ukupna distribucija RBM-a je produkt stručnjaka svih skrivenih neurona i distribucije definirane pristranošću vidljivih. U takvoj distribuciji najvjerojatnija su ona stanja za koja se najveći broj stručnjaka slaže da su vjerojatna. Stanja za koja malo stručnjaka kaže da su vjerojatna u konačnoj su distribuciji vrlo malo vjerojatna. Time se produkt stručnjaka razlikuje od mješavine distribucija unutar koje stanje može biti vjerojatno čak i ako je u u većini komponenti mješavine malo vjerojatno. Izražajna moć modela raste s brojem skrivenih neurona. "Oštrina" 31
35 distribucije vjerojatnosti može rasti s brojem stručnjaka. Stoga je koristeći veliki broj skrivenih neurona moguće modelirati vrlo izražena i uska područja visoke vjerojatnosti Skriveni neuroni kao značajke Pri treniranju ograničenog Boltzmannovog stroja u pravilu želimo da se svaki skriveni neuron RBM-a specijalizira na neko usko područje ulaznog prostora. Ovo je u skladu s promatranjem RBM-a kao produkta stručnjaka. Tada svaki skriveni neuron modelira jednu "značajku". Pojasnimo što se time misli i koje su implikacije. Promotrimo jedan skriveni neuron h i. On je spojen sa svim vidljivim neuronima težinskim vezama (pozitivnim ili negativnim). Razmotrimo prvo utjecaj vidljivog neurona v j na h i kada je v j = 1. Pozitivna veza me du njima (w ij > 0) povećava vjerojatnost da je h i isto tako u stanju 1. Negativna veza (w ij < 0) čini suprotno, ona povećava vjerojatnost da je h i u stanju 0. Veza težine blizu nuli (w ij 0) znači da vidljivi neuron v j nema utjecaja na skriveni h i. S druge strane, vidljivi neuron v j u stanju 0 ne utječe na vjerojatnost stanja skrivenog neurona h i. Na prvi pogled ovo može implicirati da je težina veze nebitna. To nije dobra intuicija iz dva razloga. Prvi razlog je činjenica da je za neko drugo stanje cijelog stroja vidljivi neuron v j u stanju 1. Drugi razlog je to što su veze obostrane. Prisjetimo se, RBM je generativni model, on može generirati stanja vidljivog sloja. Ako je poželjno da vidljivi neuron v j bude pretežno u stanju 0, tada će težinske veze od skrivenog sloja prema njemu biti pretežno negativne ili blizu nuli (ako je pristranost tog vidljivog neurona negativna). Dakle, vidimo da pozitivna težinska veza modelira korelaciju me du stanjima neurona, dok negativna težinska veza modelira antikorelaciju. Težinske veze velikog apsolutnog iznosa modeliraju snažnu korelaciju odnosno antikorelaciju. Težinske veze koje su blizu nuli modeliraju nepostojanje korelacije. Razmotrimo sada koncept specijalizacije skrivenog neurona. Specijalizacija skrivenog neurona h i na usko područje ulaznog prostora znači da je za većinu veza s vidljivim slojem težina veze blizu nuli. Tako povezani neuroni vidljivog sloja nemaju bitan utjecaj na stanje neurona h i. Vrijedi i obrnuto, skriveni neuron h i nema utjecaja na te neurone vidljivog sloja. Samo dio težina izme du h i i vidljivog sloja znatno odstupa od nule. Ako su ti neuroni vidljivog sloja "podudarni" s težinama veza s h i, onda će h i vrlo vjerojatno biti u stanju 1. Pod "podudarni" mislimo na to da su vidljivi neuroni u stanju 0 gdje su težine vezanja negativne, odnosno u stanju 1 gdje su težine veznja poz- 32
36 itivne. U generativnom smjeru (kada RBM generira stanja vidljivog sloja na temelju nekog stanja skrivenog sloja) vrijedi sljedeće. Ako je specijalizirani skriveni neuron h i u stanju 1, tada će on vršiti utjecaj na vidljivi sloj u skladu sa svojim težinama u području specijalizacije. Negativne težine će vidljive neurone tjerati u stanje 0, dok će ih pozitivne težine tjerati u stanje 1. Ako je h i u stanju 0, neće vršiti nikakav utjecaj na cijeli vidljivi sloj. Specijalizirani skriveni neuron može detektirati "značajku" u vidljivom sloju: situaciju kada su vidljivi neuroni unutar njegovog područja specijalizacije vrlo uskla deni s težinskim vezama prema njima. Ako je značajka prisutna, skriveni neuron koji ju predstavlja biti će s velikom vjerojatnošću u stanju 1. Pošto je RBM model koji na temelju pojedinih značajki modelira distribuciju primjera za učenje, njegovo treniranje dovodi do izlučivanja kvalitetnih rekonstrukcijskih značajki. Takve značajke su iznimno korisne za klasifikacijske i generalizacijske zadatke nad podatcima. Nadalje, ako je broj značajki manji od dimenzionalnosti ulaznog prostora, možemo govoriti i o redukciji dimenzionalnosti odnosno kompresiji Učenje Učenju RBMa može se pristupiti na isti način kao i učenju neograničenog Boltzmannovog stroja. Iako je zbog ograničenja RBMa broj parametara (težinskih veza) nešto manji nego u Boltzmannovom stroju istog broja neurona, računalna složenost maksimizacije izglednosti i MCMC pristupa je i dalje ekponencijalna s obzirom na broj neurona. Pogledajmo stoga alternativni pristup treniranju, koji je praktično izvediv Kontrastna divergencija Razmotrimo RBM kao Markovljev lanac, kao što je opisano u poglavlju 3.5. Uzimat ćemo u obzir ponajprije stanja vidljivog sloja v. Možemo reći da stroj evaluacijom neurona mjenja stanja vidljivog sloja što čini Markovljev lanac: v 0 v 1 v 2... Pri tome svaka promjena oblika v n v n+1 znači evaluaciju svih neurona vidljivog sloja. Prisjetimo se, stanje vidljivog sloja RMBa uvjetovano je stanjem skrivenog sloja h u skladu s izrazom (4.2). Vrijedi i obrnuto, stanje skrivenog sloja uvjetovano je vidljivim slojem, u skladu s izrazom (4.3). Prisjetimo se da je za svaki neuron vidljivog sloja vjerojatnost poprimanja konkretne vrijednosti (0 ili 1) u RBMu neovisna o drugim 33
37 neuronima vidljivog sloja, ako je zadano stanje vidljivog sloja: P (v i v, h) = P (v i h). Stoga je preciznije reći da RBM mjenja stanja na sljedeći način: v 0 h 0 v 1 h 1 v 2 h 2... Vrativši se na razmatranje RBMa kao Markovljevog lanca, mi ćemo jednim "korakom" u lancu smatrati promjenu stanja oba sloja v n h n v n+1 h n+1. Za svaki korak tako definiranog Markovljevog lanca definirana je distribucija vjerojatnosti P n stanja RBMa, odnosno vjerojatnost P n (v) da je nakon n koraka RBM u stanju v. Primjetimo da je P 0 (distribucija stanja nakon nula koraka) definirana isključivo skupom podataka za učenje. U toj distribuciji RBM još nije uopće djelovao na ulazne podatke. Analogno je distribucija P distribucija stanja RBMa koja više ne ovisi o podatcima jer stacionarna distribucija Markovljevog lanca ne ovisi o početnom stanju. Vratimo se sada na učenje Boltzmannovog stroja procjenom najveće izglednosti, kao što je opisano u poglavlju Konačni izraz (3.9) za taj pristup učenju Boltzmannovog stroja glasi: 1 ln L(θ D) = E data [s i s j ] E model [s i s j ] N w ij Primjetimo da taj izraz uzima u obzir dvije distribucije, odnosno očekivanja parametara za te distribucije E data [ ] i E model [ ]. Distribucije stanja na kojima se ta očekivanja baziraju možemo označiti s P data i P model, pri čemu je zapravo P data = P 0, a P model = P. Gradijent izglednosti postaje nula kada je distribucija modela jednaka distribuciji podataka. Tada je cilj učenja ostvaren: stroj idealno modelira podatke za učenje. U tom smislu učenje modela možemo predočiti i kao minimizaciju razlike (divergencije) tih dviju distribucija. Za formalni zapis iskoristiti ćemo Kullback- Lieblerovu divergenciju pa funkcija koju želimo minimizirati postaje: D KL (P 0 P ) = s ( ) P0 (s) P 0 (s) ln P (s) Nažalost, ovakva nam formulacija problema učenja nije pomogla. Računalna složenost optimizacije KL divergencije jednaka je složenosti optimizacije izglednosti. Još uvijek nam je potreban efikasniji način učenja modela. Nastavimo stoga s razmatranjem RBMa kao Markovljevog lanca. Dokazano je da se KL divergencija Markovljevog lanca u odnosu na stacionarnu distribuciju nikada ne povećava kako broj koraka raste [8]: 34
38 D KL (P n P ) D KL (P n+1 P ) Ovo intuitivno ima smisla, što je stroj dulje djelovao na podatke, to je njegova distribucija stanja bliže stacionarnoj. Nadalje, za svaku distribuciju P n u n-tom koraku lanca i distribuciju P n+1 u sljedećem koraku vrijedi da njihova jednakost povlači njihovu stacionarnost: P n = P n+1 = P n = P. Intuitivno rečeno: ako se distribucija stanja radom stroja ne mjenja, tada je stroj zasigurno u području stacionarne distribucije. Na temelju tih značajki KL divergencije Markovljevog lanca, funkciju gubitka možemo definirati kao razliku dviju KL divergencija koje su udaljene svega nekoliko koraka: D KL (P 0 P ) D KL (P n P ) (4.5) Tako definirana funkcija gubitka naziva se "kontrastna divergencija" [4]. Na temelju prethodno izloženog znamo da je navedena razlika divergencija uvijek pozitivna, a nulu postiže u trenutku kada je P n = P. Dakle, smanjivanjem navedene razlike divergencija postižemo da distribucija modela P teži ka distribuciji podataka P 0. Ključna dobrobit ovako definiranog problema učenja jest da je gradijent funkcije gubitka po parametrima modela θ lako računljiv: θ (D KL(P 0 P ) D KL (P n P )) E P0 [ θ E(θ) ] + E Pn [ θ E(θ) ] (4.6) Puni izvod dobivenog izraza preskačemo zbog njegove duljine (zainteresiranog čitatelja upućujemo na rad [1]), ali je potrebno razjasniti nekoliko detalja. Računamo negativni gradijent zato jer je kontrastna divergencija definirana kao funkcija gubitka koju trebamo minimizirati (za razliku od maksimizacije izglednosti). Stoga se u parametarskom prostoru krećemo u smjeru negativnog gradijenta. Gradijent je definiran kao aproksimacija jer je ignoriran član za koji se pokazalo da u praksi ne mjenja njegov smjer, a nije lako računljiv (vidjeti [4]). Funkcija E(θ) unutar izraza očekivanja na desnoj strani je uobičajena funkcija energije Boltzmannovog stroja (odnosno RBMa), definirana u izrazu (3.1). Pogledajmo sada gradijente funkcije kontrastne divergencije, u ovisnosti o težinama i pristranostima mreže: 35
39 (D KL (P 0 P ) D KL (P n P )) E P0 [s i s j ] E Pn [s i s j ] (4.7) w ij b i (D KL (P 0 P ) D KL (P n P )) E P0 [b i ] E Pn [b i ] (4.8) Razmotrimo značenje tih izraza. Možemo primjetiti da su nalik izrazu (3.9) učenja Boltzmannovog stroja maksimizacijom izglednosti. Krucijalna razlika je što se pri učenju maksimizacijom izglednosti koristi očekivanje distribucije modela E model [ ] (što možemo označiti i s E P [ ]), dok se pri učenju kontrastnom divergecijom koristi E Pn [ ]. Konceptualno, jasno je kako korištenje očekivanja E P [ ] opravdanije u smislu približavanja stacionarne distribucije P podatcima, što je cilj učenja. Isto tako je jasno da je očekivanje E Pn [ ] za male vrijednosti n puno lakše aproksimirati uzorkovanjem. Cjelokupni izraz gradijenta implicira promjenu parametara mreže na način da RBM nakon n koraka rekonstrukcije vidljivog sloja što manje "odluta" od početne distribucije podataka P 0. Može se postaviti pitanje koliko je učenje kontrastnom divergencijom efikasno. Testiranje vršeno u [4] je pokazalo kako se tim pristupom može efektivno učiti RBM, čak i kada je broj koraka n samo 1. Ovaj oblik kontrastne divergencije označit ćemo s CD1. Naravno, moguće je koristiti i rekonstrukcije nakon većeg broja koraka. Čest je pristup koji kombinira obje tehnike: u početnim fazama učenja primjenjuje se CD1, a kako gradijent od CD1 postaje sve manji, povećava se broj koraka Kontrastna divergencija, algoritamska implementacija Razmotrimo sada konkretni algoritam jednokoračne kontrastne divergencije, označene s CD1. Funkcija gubitka koju želimo minimizirati je: D KL (P 0 P ) D KL (P 1 P ) Pri tome je P 1 distribucija stanja RBMa nakon što je evaluirao skriveni sloj v 0 h 0, potom vidljivi sloj h 0 v 1 te na kraju opet skriveni v 1 h 1. P 1 je dakle distribucija jednokoračne rekonstrukcije oba sloja. Bitno je primjetiti da je za točno odre divanje P 1 potrebno beskonačno puno uzoraka, jer je svaka evaluacija v 0 h 0 v 1 h 1 nedeterministička: moguća su brojna rezultirajuća stanja h 0, v 1 i h 1 za svaki početni v 0. U praksi se ovaj problem ignorira, te se P 1 aproksimira sa samo jednom rekonstrukcijom svakog vektora v 0 iz podataka za učenje. Ova aproksimacija je statistički opravdana jer će rekonstrukcije biti baš one najvjerojatnije, koje najviše 36
40 utječu na očekivanje. Nadalje, s obzirom da skup primjera za učenje tipično sadrži mnoge slične primjere, te da se učenje obavlja velikim brojem prolazaka kroz cijeli skup, tako će se za neke slične v 0 zapravo izračunati i u aproksimaciju P 1 ubrojiti mnogi različiti h 0, v 1 i h 1. Što se tiče samih evaluacija neurona oba sloja bitno je primjetiti nekoliko stvari. Uvjetna nezavisnost neurona istog sloja (primjerice za vidljivi sloj P (v i v, h) = P (v i h)) omogućava da se svi neuroni istog sloja evaluiraju istovremeno. Ovo pogoduje paralelizaciji izračuna korištenjem više procesora, jezgri ili grafičkih kartica. Što se tiče sakupljanja uzoraka, objasnimo proces na dijelu v 0 h 0. Računamo prvo vjerojatnost P (h i v 0 ) = 1 postavljanja neurona h i u stanje 1. Potom je potrebno postaviti stanje neurona h i u stanje 0 ili 1 u skladu s vjerojatnošću P (h i v 0 ) = 1. Tek tada, kada smo dobili binarni vektor h 0 stanja neurona skrivenog sloja, krećemo s evaluacijama neurona vidljivog sloja. Ovaj proces je naravno identičan i pri evaluaciji h 0 v 1 i tako dalje. U skladu s izrazom (4.7) za gradijentnu optimizaciju kontrastne divergencije CD1 potrebna su nam očekivanja težinskih veza E P1 [s i s j ] i pristranosti E P1 [b i ]. Naveli smo da ćemo distribuciju P 1 aproksimirati jednokoračnim rekonstrukcijama primjera za učenje. Stoga bismo navedena očekivanja mogli izračunati na sljedeći način: E P1 [s i s j ] = v D E P1 [s i ] = v D P (v)s i s i = v D P (v)s i = 1 D 1 D s is i = 1 D s i s i Pri čemu je D skup primjera za učenje, a vjerojatnost pojavljivanja svakog primjera 1 / D. Stanja neurona s i i s j su uzeta iz mreže nakon što je korak rekonstrukcije obavljen. v D Iako je navedeni postupak ispravan, možemo ga poboljšati. s i v D Razmotrimo prvo očekivanje stanja jednog neurona E [s i ]. Raspisat ćemo ga po definiciji očekivanja: E [s i ] = a {0,1} P (s i = a)a =P (s i = 0) 0 + P (s i = 1) 1 =P (s i = 1) 37
41 Vidimo da je očekivanje stanja neurona koji prima vrijednosti iz 0, 1 jednako vjerojatnosti da se on na de u stanju 1. Razmotrimo nadalje očekivanje umnoška stanja dvaju neurona E [s i s j ]: E [s i s j ] = P (s i = a, s j = b)ab a,b {0,1} =P (s i = 0, s j = 0) P (s i = 0, s j = 1) 0 1+ P (s i = 1, s j = 0) P (s i = 1, s j = 1) 1 1 =P (s i = 1, s j = 1) =P (s i = 1)P (s j = 1 s i = 1) S obzirom da u RBMu težinske veze imamo samo me du neuronima nasuprotnih slojeva, bez gubitka općenitosti možemo pisati: E [v i h j ] =P (v i = 1)P (h j = 1 v i = 1) U tom smislu nam uvjetna vjerojatnost P (h j = 1 v i = 1) ne predstavlja problem jer smo upravo nju izračunali. Dobivene rezultate možemo iskoristiti u algoritmu za CD1. Umjesto da očekivanja stanja neurona računamo na temelju binarnih stanja 0 i 1, možemo iskoristiti vjerojatnosti. Pri tome je važno istaknuti dvije stvari. Prvo je da korištenjem vjerojatnosti bolje aproksimiramo očekivanje nego kada na temelju vjerojatnosti evaluiramo binarna stanja te ih potom usrednjavamo. Drugo je da moramo biti pažljivi da vjerojatnosti koristimo samo za izračun očekivanja, odnosno gradijenata. Pri računanju vjerojatnosti stanja neurona moramo koristiti binarne vrijednosti neurona nasuprotnog sloja, a ne vjerojatnosti. Jednom kada smo izračunali gradijente kontrastne divergencije s obzirom na težine i pristranosti mreže, vršimo gradijentnu minimizaciju funkcije gubitka. Tema gradijentne optimizacije široko je područje te izlazi izvan okvira ovog rada. Postoje i varijante specijalno razvijene u kontekstu treniranja RBMa, odnosno dubokih neuronskih mreža, ali kvalitetna konvergencija može se postići i korištenjem najjednostavnijih algoritama gradijentnog spusta. 38
42 Na način sličan opisanom se koristi i kontrastna divergencija s više koraka. Jedina razlika je da se rekonstrukcija vidljivog i skrivenog sloja slijedno čini više puta, te se tek u posljednjem koraku računaju gradijenti odnosno očekivanja kao i kod CD1. Razlozi za korištenje višekoračne kontrastne divergencije su očiti: bolje aproksimira učenje maksimizacijom izglednosti, pri tome povećavajući računsku kompleksnost. U praksi se često kreće s CD1, da bi se broj koraka divergencije povećavao u kasnijim fazama učenja. Pokažimo na kraju vrlo okvirno algoritam treniranja RBMa. Parametre mreže mjenjat ćemo na temelju gradijenata izračunati iz pojedinačnih primjera, iako se to u praksi ne radi (vidi poglavlje "mini-serije" u 4.4.3). Za detaljnu diskusiju o pojedinim koracima (primjerice o tome kako inicijalizirati parametre RBMa) čitatelja upućujemo na [5]. Algorithm 1 Treniranje RBMa 1: D = skup podataka za učenje 2: ɛ = stopa učenja 3: θ = parametri RBMa 4: n = broj koraka kontrastne divergencije 5: inicijaliziraj θ nasumičnim vrijednostima 6: while treniranje nije gotovo do 7: for v 0 D do 8: h 0 = vjerojatnosti i aktivacije skrivenog sloja 9: E[v 0 ] = očekivanja stanja vidljivog sloja 10: E[h 0 ] = očekivanja stanja skrivenog sloja 11: E[v 0 h 0 ] = očekivanja umnožaka stanja skrivenog i vidljivog sloja 12: for i = 0 to n do 13: korak kontrastne divergencije 14: end for 15: E[v n ], E[h n ], E[v n h n ] 16: CDn E[ 0] E[ n] = gradijenti po parametrima 17: θ θ + ɛ CDn 18: end for 19: end while 39
43 Dodatni parametri učenja Uz opisan algoritam kontrastne divergencije pri treniranju RBMa često se koriste još neke tehnike. Osvrnimo se ukratko na najbitnije. Rijetkost aktivacije skrivenih neurona "Rijetkost" (engl. sparsity) u kontekstu RBM-a znači da se svaki skriveni neuron aktivira (poprima stanje 1) tek mali dio vremena. Pri treniranju modela uvodi se dodatni hiperparametar rijetkosti, nazovimo ga r, koji definira udio vremena koji je poželjno da svaki skriveni neuron bude aktivan. Rijetkost nije neophodna pri treniranju RBM-a koji služi za modeliranje distribucije vjerojatnosti, ali se pokazala korisnom pri treniranju diskriminativnih (klasifikacijskih) modela [9]. Dobro podešen hiperparametar rijetkosti dovodi do kvalitetne specijalizacije skrivenih neurona, odnosno do izlučivanja kvalitetnih značajki. Uvedimo sada oznaku s hj za stvarni udio vremena aktivacije neurona h j : s hj = 1 N N P n (h j = 1) = E data [P (h j = 1)] n=1 Način na koji osiguravamo da za skriveni neuron h j udio vremena aktivacije s hj bude blizu hiperparametra rijetkosti r je sljedeći. U funkciju gubitka se uvodi dodatni član koji kažnjava odstupanje aktivacije skrivenog neurona od željene. Nazvati ćemo taj član E spars : E spars = h j h r log (s hj ) (1 r) log (1 s hj ) (4.9) Ovako definiranu dodatnu grešku RBMa nazivamo greškom unakrsne entropije. Njenu minimizaciju možemo uključiti u postojeće treniranje RBMa gradijentnom optimizacijom. Graf 4.3 prikazuje doprinos jednog skrivenog neurona grešci. Primjećujemo da iscrtana funkcija ima globalni minimum kada je r = s te da je glatka (derivabilna) u svim točkama domene (0, 1). Gradijent ovako definirane kazne odstupanja od poželjne rijetkosti je lako računljiv: 40
44 Slika 4.3: Greška unakrsne entropije za r = 0.7 E spars θ = E spars s hj s hj θ E spars s hj = s hj r log (s hj ) (1 r) log (1 s hj ) h j h = r 1 1 (1 r) ( 1) s hj 1 s hj h j h = h j h = h j h r(1 s hj ) + (1 r)s hj s hj (1 s hj ) s hj r s hj (1 s hj ) Detaljni izvod gradijenta s h j/ θ čitatelju ne bi trebao predstavljati problem te ga stoga preskačemo. Pokazat ćemo samo konačni izraz: 41
45 s hj θ = θ E data [P (h j = 1)] [ ( )] = E data P (h j = 1) (1 P (h j = 1)) w ij v i + b hj θ Pokažimo sada iznos cjelokupnog gradijenta kazne odstupanja od poželjne rijetkosti v i v ovisno o konkretnom parametru, primjerice težini veze dvaju neurona w ij : E spars w ij = E spars s hj s hj w ij = s h j r s hj (1 s hj ) E data [P (h j = 1) (1 P (h j = 1)) v i ] [ ] P (hj = 1) (1 P (h j = 1)) = (s hj r)e data v i s hj (1 s hj ) Primjetimo razlomak unutar očekivanja E data [ ]. Brojnik i nazivnik imaju istu formu a(1 a) gdje je u brojniku a vjerojatnost P (h i = 1) aktivacije neurona h i za neki primjer, dok je u nazivniku a očekivanje te iste vjerojatnosti s hi. Možemo pretpostaviti da je vjerojatnost P (h i = 1) generalno bliska njenom očekivanju s hi te cijeli razlomak izjednačiti s 1 (iako nemamo matematičko opravdanje za učiniti to), čime dobivamo jednostavniji izraz: E spars w ij (s hj r)e data [v i ] Dobiveni rezultat vrlo je jednostavan za dodati postojećem učenju RBMa, pri čemu se greška odstupanja od poželjne rijetkosti i njen gradijent množe faktorom "troška rijetkosti", označenim c s, kako bi se rijetkost više ili manje naglasila. U slučaju da radimo minimizaciju (KL divergencije u algoritmu kontrastne divergencije), u funkciju koju minimiziramo gradijentnim spustom dodajemo član: c s E spars Primjetimo kako smo pri uvo denju rijetkosti u RBM modelu dodali dva hiperparametra treniranja: rijetkost s te trošak rijetkosti c s. Pronalazak vrijednosti tih hiperparametara koji će rezultirati izlučivanjem kvalitetnih značajki iziskuje odre deni trud i produljuje trajanje treniranja RBMa. 42
46 Kažnjavanje velikih težina (regularizacija) "Regularizacija" je u području strojnog učenja naziv za različite mehanizme čija svrha je sprečavanje prenaučenosti modela. Prenaučenost modela zapravo znači da se model previše prilagodio podatcima iz skupa za učenje, čime gubi sposobnost generalizacije. Posljedice prenaučenosti su loše performanse na nevi denim primjerima. Primjerice, ako treniramo model za koji želimo da klasificira rukom pisana slova, naša želja je da model točno klasificira i dosad nevi deno slovo na temelju njegove sličnosti vi denim primjerima. Model je prenaučen ako nije u stanju točno klasificirati slovo koje nije sasvim podudarno nekom primjeru iz skupa za učenje. Regularizacija se u raznim modelima strojnog učenja vrši na različite načine. U kontekstu RBMa, vrši se "kažnjavanjem težina" (engl. weight decay). Kažnjavanje težina znači da se vrijednostima težinskih veza me du neuronima ne dopušta prevelik rast, po apsolutnom iznosu. Ideja je da težine veza nikad ne bi trebale postati toliko velike da samostalno dominiraju nad ostalim vezama. Bitan je generalni kontekst i generalna podudarnost značajki. Za opširniji opis regularizacije i kažnjavanja težina čitatelj može konzultirati neke od brojnih materijala i udžbenika iz područja strojnog učenja. Mini-serije Tipično se u diskusiji o treniranju unaprijednih neuronskih mreža backpropagation spominju dva krajnja pristupa. Stohastički pristup parametre mreže podešava nakon evaluacije svakog pojedinog primjera za učenje (izračuna gradijenata za taj primjer). Batch pristup u drugu ruku računa gradijente za sve primjere, te potom koristi njihovu aritmetičku sredinu za podešavanje parametara mreže. Pri treniranju RBMa preporuča se korištenje "mini-serija" (engl. mini-batches) [5]. Mini-serije su podskupovi skupa za učenje koji tipično dobro predstavljaju cijeli skup (npr. sadrže barem nekoliko primjera iz svake klase), ali su puno manji. U tom smislu je varijanca izme du gradijenata mini-serija puno manja nego izme du pojedinih primjera, ali je broj primjera potreban da se izračuna svaki gradijent relativno malen Perzistentna kontrastna divergencija Postoje odre dene sličnosti izme du korištenja kontrastne divergencije i maksimizacije izglednosti pri treniranju RBMa. Uočimo te sličnosti kako bismo uvidjeli da one impliciraju mnogobrojne varijante algoritma učenja. Prisjetimo se gradijenta funkcije 43
47 maksimizacije izglednosti: 1 ln L(θ D) = E data [s i s j ] E model [s i s j ] N w ij Prvi dio desne strane izraza (E data [s i s j ]) često se naziva "pozitivnom" fazom učenja, jer se njegovim dodavanjem (zbrajanjem) vrijednostima parametara krećemo ka cilju učenja. Drugi dio desne strane izraza (E model [s i s j ]) se naziva "negativnom" fazom jer se njegovim oduzimanjem od vrijednosti parametara krećemo ka cilju učenja. Primjetimo kako je pozitivni dio jednak bez obzira koristimo li maksimizaciju izglednosti ili kontrastnu divergenciju, on ovisi samo o distribuciji podataka za učenje P data. Negativni dio se razlikuje, radi se o distribuciji koju modelira stroj (pri maksimizaciji izglednost), odnosno o distribuciji n-koračnih rekonstrukcija (pri kontrastnoj divergenciji). Pri tome znamo da kontrastna divergencija aproksimira distribuciju modela P data jer je njen egzaktan izračun računski odveć složen. Postavlja se pitanje postoji li neki bolji način da se aproksimira P model. Perzistentna kontrastna divergencija (PCD) naziv je za pristup prvi puta opisan u [12]. Radi se o metodi koja negativnu fazu učenja računa na temelju odre denog broja negativnih "čestica". Negativna čestica je zapravo RBM koji prolazi kroz različita stanja v n h n v n+1 h n+1... Svaka negativna čestica je po pitanju težina i pristranosti identična RBMu koji treniramo, ali prolazi kroz stanja kao sasvim nezavisan stroj. Stanja kroz koja negativne čestice prolaze koristimo za aproksimaciju distribucije P model. Ideja je da kao i kod kontrastne divergencije česticu inicijaliziramo primjerom za učenje v 0 (postavimo primjer za učenje kao stanje vidljivog sloja RBMa). Potom svaka čestica napravi jedan ili više koraka promjene stanja, nakon čega računamo gradijente na način već pokazan. U tom trenutku sličnost s kontrastnom divergencijom prestaje. Nakon promjene parametara modela potrebno je ponovno izračunati gradijente. Pri kontrastnoj divergenciji negativne čestice nastavljaju s promjenom stanja bez da ih "vraćamo" u stanje odre deno primjerom za učenje. One se stoga sve više i više udaljavaju od početnog primjera s kojim smo ih inicijalizirali. Time se postiže da negativne čestice uz istu računsku složenost bolje modeliraju distribuciju P model. Primjetimo razliku naspram obične kontrastne divergencije, gdje se negativna faza gradijenta računa na temelju stanja RBMa udaljenog od primjera za učenje svega nekoliko koraka. Postavlja se pitanje koji je dobar broj negativnih čestica i da li je možda još bolji pristup da svaka čestica obavi nekoliko koraka prije računanja gradijenta. Testiranja u [12] pokazala su da je prikladno uzeti broj negativnih čestica jednak broju primjera u 44
48 mini-seriji te da pri svakoj primjeni gradijenta čestice trebaju obaviti točno jedan korak Markovljevog lanca. Usporedba perzistentne kontrastne divergencije s CD1 i CD10 algoritmima pokazala je da PCD često daje bolje rezultate [12], pogotovo kako trajanje treniranja raste. Eventualni nedostatak PCD pristupa je povećana osjetljivost algoritma na stope učenja pri gradijentnom spustu, ali ta osjetljivost generalno ne predstavlja veliki problem Primjer učenja ograničenog Boltzmanovog stroja Pokažimo sada učenje RBM-a na primjeru. Radit ćemo ekstrakciju značajki iz digitalnih slika rukom pisanih kapitaliziranih slova. Oblikovanje ovakvog RBM-a je tipičan prvi korak pri izradi klasifikatora rukom pisanih slova. Osim za klasifikacijski zadatak, dobiveni RBM se može koristiti za generiranje primjera klasa s kojima je treniran. Nadalje, takav model može prepoznati uzorke koji jako odstupaju od primjera za učenje. Energija mreže za slovo slično onima iz skupa za učenje biti će niska. Energija mreže za neko drugo slovo biti će visoka što može biti korisna indikacija o nepoznatosti. Skup podataka za treniranje sastoji se od po 9537 primjera svakog slova. Svaka slika je dimenzija 24 32, dakle sadrži 768 piksela. Slike su procesirane tako da je svaki piksel crne ili bijele boje, ne koriste se tonovi sive, kao ni boje. Nekoliko slika iz skupa za učenje prikazani su na slici 4.4. Slika 4.4: Nekoliko slika iz skupa za učenje RBM-a Broj vidljivih neurona ograničenog Boltzmannovog stroja koji treniramo je 768, gdje svaki neuron predstavlja po jedan piksel slike. Zadatak RBM-a će biti izlučiti najbolje rekonstrukcijske značajke na temelju primjera za učenje. Stroj treniramo algoritmom kontrastne divergencije CD1 s uvjetom rijetkosti i regularizacijom. Pri treniranju RBM-a potrebno je odrediti stope učenja, trajanje treniranja (broj epoha odnosno prolazaka kroz cijeli skup za učenje) i nekoliko hiperparametara mod- 45
49 ela. Hiperparametri modela utječu na proces treniranja i konačne parametre (težine i pristranosti RBM-a) modela. U našem slučaju hiperparametri su broj skrivenih neurona, rijetkost te faktori kažnjavanja rijetkosti i kažnjavanja težina. Stope učenja odre duju koliko se težine i pristranosti modela modificiraju svakim korakom učenja. Broj skrivenih neurona (izlučenih značajki) odre duje i sveukupni broj parametara modela, odnosno njegovu složenosti. Općenita diskusija o optimizaciji hiperparametara RBM-a izlazi izvan okvira ovog teksta. U našem primjeru, vrijednosti hiperparametara su utvr dene empirijski. Okvirne vrijednosti su odre dene i proces optimizacije provo den u skladu s [5]. Pri tome se primarno optimizirala kvaliteta izlučenih značajki u smislu lokalne specijaliziranosti skrivenih neurona. Zbog jednostavnosti se preferiralo modele s manjim brojem neurona u skrivenom sloju. Jednostavniji modeli se brže uče i (općenito govoreći) imaju dobru sposobnost procjene nevi denih primjera. Naravno, prejednostavan model nije sposoban izlučiti dobre značajke iz skupa za učenje. Značajke RBM-a mogu se jednostavno vizualizirati. Prisjetimo se, u RBM-u svaki skriveni neuron predstavlja značajku. Parametri skrivenog neurona su njegova pristranost i težine veza s vidljivim slojem. Stoga značajku prikazujemo kao sliku u kojoj je svaka težina veze s neuronom vidljivog sloja prikazana jednim pikselom (pristranosti ne vizualiziramo jer ih po potrebi lako pregledamo u numeričkom obliku). Poredak piksela je isti kao i poredak neurona vidljivog sloja s obzirom na piksele iz primjera za učenje. Ideja je prikazana na slici 4.5. U lijevom dijelu slike imamo primjer za učenje koji ima 2 3 piksela. Srednji dio slike prikazuje taj primjer za učenje pohranjen u vidljivi sloj RBM-a, spojen s jednim skrivenim neuronom. Desni dio slike prikazuje kako se težine spajanja skrivenog neurona prikazuju vizualno. w i1 v 1 v 2 w i2 w i1 w i2 w i3 v 3 v 4 h i w i3 w i4 w i4 v 5 v 6 w i6 w i5 w i6 w i5 Slika 4.5: Način vizualizacije značajke (skrivenog neurona) Na ovaj način dobivene značajke možemo jednostavno interpretirati. Bijeli pikseli u primjerima za učenje označavaju neuron u stanju 1, a crni pikseli neuron u stanju 0. Svijetli pikseli na slici značajke označavaju pozitivne težine vezanja. Tamni pik- 46
50 seli označavaju negativne težine veza. Na temelju diskusije o značajkama u poglavlju 4.3 zaključujemo da podudarnost svijelih i tamnih dijelova izme du slike značajke i primjera za učenje govori o njihovoj koreliranosti. Za neko stanje vidljivog sloja, u skrivenom sloju će se aktivirati one značajke s podudarnim težinama. Pogledajmo konačno primjere izlučenih značajki, prvo na vrlo jednostavnom RBMu. Razmotrimo stroj treniran samo nad primjerima kapitaliziranog slova A. Koristili smo 120 skrivenih neurona s parametrom rijetkosti od 0.15 (veličina mreže i parametri su prona deni eksperimentalno). Treniranje kroz 50 epoha je trajalo oko 3 minute. Izlučene značajke prikazane su na slici 4.6. Slika 4.6: Značajke izlučene za kapitalizirano slovo A Vidimo da većina značajki predstavlja neku od sastavnih linija slova A. Isto tako možemo primijetiti da postoje blage varijacije me du značajkama koje predstavljaju istu liniju slova. Ovo omogućava da se velik broj različitih slova A rekonstruira korištenjem malog podskupa značajki. Nadalje, primjetimo da korištenjem 120 značajki možemo s velikom preciznošću rekonstruirati slike koje imaju 768 piksela. Time smo efektivno ostvarili kompresiju podataka posebno prilago denu slikama sličnim primjerima za učenje. Pogledajmo ilustracije radi kakve značajke možemo izlučiti ako RBM treniramo bez uvjeta rijetkosti. Treniramo RBM nad istim slikama kao i u prethodnom primjeru. 47
51 Svi hiperparametri osim rijetkosti ostali su nepromjenjeni. Trajanje treniranja nije se promijenilo. Rezultati su prikazani na slici 4.7. Slika 4.7: Značajke izlučene za kapitalizirano slovo A bez uvjeta rijetkosti Možemo vidjeti da su izlučene značajke osjetno drukčije. Iako neke značajke predstavljaju jednu od linija slova A, mnogo ih ne možemo tako interpretirati. Štoviše, za većinu značajki je vrlo teško ponuditi ikakvu interpretaciju. Bez obzira na otežanu interpretaciju značajki, RBM treniran bez uvjeta rijetkosti u pravilu bolje modelira distribuciju primjera za učenje. Kao što je već spomenuto, pokazano je da za klasifikacijske zadatke RBM s uvjetom rijetkosti uglavnom daje bolje rezultate. Pogledajmo sada značajke izlučene za malo kompleksniji RBM. Stroj treniramo nad primjerima kapitaliziranih slova A, B i C (svaka klasa je zastupljena s 9537 slika). Pošto modeliramo osjetno složeniju distribuciju, potrebno nam je više skrivenih neurona. Empirijski se pokazalo da korištenje oko 300 skrivenih neurona daje dobre rekonstrukcije uz izlučene dobre značajke. Koristimo 276 skrivenih neurona (broj blizu 300 koji se lijepo prikaže u mreži). Hiperparametar rijetkosti je postavljen na Smisleno je da ako koristimo veći broj skrivenih neurona, svaki od njih u prosjeku treba biti rje de aktivan. Stroj se trenira kroz 150 epoha, ukupno trajanje treniranja je približno 40 minuta. Izlučene značajke su prikazane na slici 4.8. Vidimo da su uspješno izlučene lokalne značajke, skriveni neuroni su se specijal- 48
52 Slika 4.8: Značajke izlučene za kapitalizirana slova A, B i C izirali. Mnoge značajke su specifične za neko od slova A, B ili C, neke značajke su zajedničke za sve klase. Ovako izlučene značajke mogu poslužiti za rekonstrukciju slike slova (modeliranje distribucije skupa za učenje) i kao oblik kompresije, isto kao i značajke RBM-a treniranog samo sa slovom A. Nadalje, RBM za slova A, B i C može poslužiti kao osnova za klasifikator. Ako vidljive neurone postavimo u stanje koje odgovara nekom od slova A, B ili C, aktivirat će se skriveni neuroni sa značajkama koje su velikim dijelom specijalizirane za baš tu klasu slova. Stoga klasifikator možemo trenirati nad neuronima skrivenog sloja (aktivacijama značajki), umjesto nad neuronima vidljivog sloja (pikselima slike). Upravo ova ideja je u pozadini oblikovanja dubokih neuronskih mreža baziranih na RBM-u te će biti detaljnije razra dena u sljedećim poglavljima. Zanimljivo je pogledati i značajke koje izlučuje RBM za slova A, B i C, ali bez korištenja rijetkosti. Ponovno treniramo RBM, sve postavke osim rijetkosti su nepromjenjene. Značajke su prikazane na slici 4.9. Kao i u primjeru jednostavnijeg RBM-a, vidimo da mnoge značajke nisu lokalno specijalizirane. I dalje vrijedi da ovako izlučene značajke nešto bolje modeliraju distribuciju primjera za učenje te čine manju rekonstrukcijsku grešku, ali su lošija osnova za izgradnju klasifikatora. 49
53 Slika 4.9: Značajke izlučene za kapitalizirana slova A, B i C bez rijetkosti 50
54 5. Duboka probabilistička mreža 5.1. Definicija Duboka probabilistička mreža (engl. deep belief network, DBN) je generativni grafički model. Termin DBN se prvi puta pojavio u [6], iako su mreže bazirane na stohastičkim sigmoidalnim neuronima poznate od prije pod sigmoid belief net [10]. Grafičkim modelima se u statistici i vjerojatnosti nazivaju modeli u kojima su slučajne varijable predstavljene čvorovima grafa, a zavisnosti varijabli lukovima. Usmjerenost lukova označava smjer zavisnosti, što ćemo objasniti na primjeru DBNa. Za opširniju diskusiju o grafičkim modelima čitatelja upućujemo na materijale iz područja vjerojatnosti. U kontekstu neuronskih mreža, slučajne varijable (odnosno čovorove grafa) nazivamo neuronima. Tu konvenciju smo koristili dosad kroz ovaj rad pa ćemo se nje i držati. Neka čitatelja ne zbunjuje me duzamjenjivost ovih termina u literaturi. DBN se sastoji od neurona organiziranih u slojeve, slično kao i RBM, ali se DBN tipično sastoji od više od dva sloja. Pri tome prvi (najniži) sloj u pravilu sadrži "vidljive" neurone, one čije vrijednosti za neki primjer znamo. Stoga ćemo taj sloj označavati s v (engl. visible). Ostali slojevi sadrže skrivevene neurone koje ćemo označavati s h 0,..., h n, pri čemu je sloj h 0 susjedan sloju v. Ovakva arhitektura tipična je u području unaprijednih neuronskih mreža. Primjer je često korištena slojevita feedforward mreža koju treniramo algoritmom backpropagation. Važno je odmah u startu shvatiti da je formulacija duboke probabilističke mreže bitno drukčija od feed-forward mreže. DBN je generativna probabilistička mreža, što znači da modelira distribuciju stanja neurona vidljivog sloja. Kao što ćemo detaljno razjasniti, to znači da se signali po vezama kreću od udaljenih skrivenih slojeva mreže prema vidljivom sloju, kako bi se u njemu generirao neki primjer. Pri tome želimo da je distribucija generiranih primjera što sličnija distribuciji primjera za učenje. Za veze me du neuronima DBNa vrijedi sljedeće. Prvo, veze me du neuronima istog sloja ne postoje, kao i kod RBMa. Nadalje, veze postoje samo me du neuronima susjednih slojeva, izme du slojeva v i h 0, odnosno slojeva h i i h i+1. Konačno, veze 51
55 izme du najvišeg (najudaljenijeg od v) i njemu susjednog sloja nisu usmjerene, dok su sve ostale veze usmjerene prema nižem sloju. Značenje usmjerenosti će biti objašnjeno u poglavlju 5.2, zasad je najbitnije steći dojam o arhitekturi mreže. U tu svrhu je jednostavan DBN predočen na slici 5.1. Arhitektura mreže u primjeru je ilustrativna te ne govori ništa općenito o broju slojeva i neurona DBNa. h 2 h 21 h 22 h 23 h 1 h 11 h 12 h 13 h 0 h 01 h 02 h 03 v v 1 v 2 v 3 v 4 Slika 5.1: Primjer jednostavne DBN mreže. Neuroni u DBN mreži isti su kao i neuroni koje smo razmatrali u Boltzmannovim strojevima (i RBMu). Radi se dakle o neuronima koji mogu biti u dva stanja, označena 0 i 1. Stanje u kojem se neuron nalazi odre deno je stohastički s obzirom na "ulaze" u neuron, odnosno težinske veze s drugim neuronima. Detaljan izvod vjerojatnosti stanja ovakvog neurona obra den je u poglavlju 3. Prisjetimo se samo konačnog rezultata (izveden u formuli 3.6) P (s i = 1) = e ( j w ijs j +b i ) = σ( j w ij s j + b i ) 5.2. Generativni probabilistički model U definiciji DBN mreže rekli smo da su sve veze osim onih me du dva najviša sloja usmjerene prema dolje, odnosno u konačnici prema vidljivom sloju. Umjerenost veze znači da neuron od kojeg veza kreće utječe na neuron u koji ulazi, ali ne i obrnuto. Razmotrimo ovaj koncept na jednostavnom primjeru: 52
56 A B Slika 5.2: Usmjerenost u grafičkom probabilističkom modelu, primjer 1. Slika 5.2 prikazuje neurone A i B. Veza me du njima usmjerena je od neurona A prema neuronu B. Značenje takvog usmjerenja je da neuron A utječe na neuron B, ali ne i obrnuto. U probabilističkim grafičkim modelima, kao što je DBN, svaki čvor grafa (neuron) predstavlja slučajnu varijabu. U našem primjeru dvije slučajne varijable imaju vjerojatnosne distribucije P (A) i P (B). Za zadano usmjerenje vrijedi da je P (A B) = P (A), odnosno da neuron A ne ovisi o B. Suprotno nije istina, P (B A) P (B). Bitno je primjetiti kako su implicirane nezavisnosti neurona uvjetne. Razmotrimo primjer od tri varijable prikazan na slici 5.3. A B C Slika 5.3: Usmjerenost u grafičkom probabilističkom modelu, primjer 2. U primjeru s neuronima A, B i C ne možemo reći da je neuron C generalno nezavisan o A: P (C A) P (C), ali možemo reći da je C uvjetno nezavisan o A ako je zadan B: P (C A, B) = P (C B). Ovo je lako isčitati iz slike. Vidimo da A utječe na B, logično je stoga da A indirektno utječe i na C, ali ako već znamo u kojem stanju je B, za razmatranje neurona C više nam nije bitan A. Vratimo se sada na razmatranje DBN mreže. Slika 5.1 prikazuje generalnu arhitekturu DBNa. Vidimo da dva najviša sloja mreže (h 2 i h 1 ) čine bipartitan graf bez usmjerenja na vezama. Ovo je arhitektura identična već razmatranom ograničenom Boltzmannovom stroju. Dva najviša sloja utječu me dusobno jedan na drugi, ali su neuroni istog sloja uvjetno neovisni jedni o drugima, ako je zadano stanje suprotnog sloja. Razmotrimo sada niže slojeve. Vidimo da su veze od h 1 prema h 0 usmjerene. Sloj h 1 utječe na sloj h 0. Istovremeno vidimo da je sloj h 0 uvjetno nezavisan o svim drugim neuronima, ako je h 1 zadan. Analogno je v uvjetno nezavisan o slojevima h 2 i h 1 ako je zadan h 0. Koje je značenje ovakve arhitekture? Dva najviša sloja mreže, u našem primjeru h 2 i h 1, čine RBM koji ne ovisi o drugim varijablama. Taj RBM modelira distribuciju vjerojatnosti P (h 1, h 2 ) stanja neurona slojeva h 1 i h 2. Ta distribucija uvjetuje distribuciju P (h 0 ) sloja h 0, koja nadalje uvjetuje distribuciju P (v) sloja v. Vidimo 53
57 dakle da smo u konačnici došli do distribucije stanja vidljivog sloja, tojest podataka koji su nam od interesa. Prirodno se može postaviti pitanje čemu svi ti slojevi, kada smo distribuciju P (v) mogli modelirati običnim RBMom (samo dva sloja neurona), kao što smo već činili. Odgovor na to pitanje je: ekspresivnost. Svaki dodatni sloj u mreži povećava ekspresivnost modela u smislu sposobnosti modeliranja složenije distribucije stanja vidljivog sloja Diskriminativni model U praksi se neuronske mreže, grafički modeli i općenito algoritmi strojnog učenja vrlo često koriste za klasifikaciju podataka. Klasifikacija je odre divanje pripadnosti nekog primjera jednoj (ili više, ovisno o zadatku) od konačnog broja "klasa" odnosno "razreda". Pri tome svaka klasa obuhvaća primjere koji su po nekom kriteriju me dusobno slični, odnosno različiti od primjera drugih klasa. Tipične primjene klasifikacije su detekcija neželjene pošte (engl. spam detection), prepoznavanje lica na fotografijama, raspoznavanje rukom pisanih slova itd. Pokažimo kako se duboka probabilistička mreža može koristiti kao diskriminativni model. Razmotrimo klasifikacijski problem gdje svaki primjer pripada točno jednoj od K različitih klasa. Pri tome ćemo za primjer x klasu kojoj on pripada označavati s y, pri čemu je y [1, K]. Kada treniramo klasifikacijski model potrebni su nam primjeri za učenje koji su označeni. To znači da moramo znati klasu kojoj svaki primjer za učenje pripada. Skup za učenje D stoga se sastoji od N parova značajki primjera x i labela y, odnosno D = {x (i), y (i) } N i=1. Prisjetimo se da radimo s neuronskom mrežom u kojoj neuroni poprimaju vrijednosti iz {0, 1}. Možemo pretpostaviti da smo primjere za učenje već predočili kao binarne vektore, preostaje još da isto učinimo i s oznakama klasa. U problemu s K klasa praktično je pripadnost pojedinoj klasi predočiti zasebnim neuronom. Tada se svaka oznaka y (i) iz skupa za učenje, koja je cijeli broj iz raspona [1, K], može predočiti binarnim vektorom od K elemenata. Primjerice, oznaku y (i) = 4 u problemu s K = 5 klasa označavamo binarnim vektorom y (i) = [0, 0, 0, 1, 0]. Ovakav način kodiranja labela naziva se one-hot encoding. Koristeći one-hot kodiranje skup za učenje D prikazan je isključivo binarnim vektorima primjera i oznaka: D = {x (i), y (i) } N i=1. Spojimo sada primjer za učenje x (i) i pripadni binarni vektor labela y (i) u jedan binarni vektor i označimo ga v (i) = [x (i), y (i) ], pošto se radi o varijablama koje su u dubokoj mreži predstavljene vidljivim slojem. Modeliranjem distribucije vjerojatnosti P (v) zapravo modeliramo zajedničku distribuciju (engl. joint-probability distribution) 54
58 primjera i labela P (x, y). Generativni probabilistički modeli općenito modeliraju distribuciju vjerojatnosti P (v) vidljih varijabli v, odnosno P (x, y). Ustanovili smo da to čini i duboka probabilistička mreža. Kako tu sposobnost modeliranja zajedničke distribucije iskoristiti za klasifikaciju? Iz probabilističke perspektive problem klasifikacije možemo razmatrati kao pitanje uvjetne vjerojatnosti P (y x). Razmatranje klasifikacije na taj način dovodi do razlaganja zajedničke vjerojatnosti na faktore i uvjetne vjerojatnosti, no u radu s dubokom probabilističkom mrežom to ne bi bilo od pomoći. Razlog tomu je što pri radu s dubokom mrežom nikada ne računamo konkretne vjerojatnosti (uvjetne ili zajedničke) pošto one ovise o prevelikom broju neurona (prisjetimo se diskusije o složenosti iz poglavlja 3.6.5). Umjesto toga, razmotrimo što se dešava s dubokom probabilističkom mrežom, treniranom da modelira zajedničku distribuciju P (x, y), iz perspektive aktivacije neurona. Zadatak mreže je da za dosad nevi deni primjera x generira prikladne labele y, odnosno da klasificira x. Mreža modelira distribuciju stanja vidljivog sloja na sljedeći način. Dva najdublja sloja modeliraju distribuciju svojih stanja. Potom se ta distribucija propagira do vidljivog sloja v, pri čemu postaje sve kompleksnija i izražajnija. Pošto vidljivi sloj v predstavlja značajke x i labele y, pitanje klasifikacije je zapravo sljedeće: u kojem stanju trebaju biti dva najdublja sloja mreže kako bi se u vidljivom sloju generirao primjer x? Tada će po definiciji u vidljivom sloju istovremeno biti generirane prikladne labele labele y. Dakle, potrebno je da za primjer x prona demo prikladno stanje najdubljih slojeva mreže te potom na temelju tog stanja generiramo odgovarajući y. Time smo pojasnili osnovnu ideju toga kako se duboga probabilistička mreža, kao generativni model, može koristiti za klasifikacijski zadatak. Praktična primjena kao i objašnjenje načina treniranja slijedi u nastavku Treniranje Treniranje dubokog grafičkog modela, poput duboke probabilističke mreže, velikim je dijelom problem odre divanja prikladnog stanja skrivenih neurona (engl. hidden variable inference) na temelju stanja vidljih neurona. Pojasnimo zašto. Pretpostavimo prvo da unaprijed znamo prikladna stanja skrivenih neurona za svaki primjer iz skupa za učenje postavljen u vidljivi sloj v. Tada se treniranje mreže svodi na podešavanje težina veza i pristranosti neurona tako da poznata stanja skrivenih neurona 55
59 h čine vrlo vjerojatnim generiranje poznatog stanja vidljivog sloja v. Ovakav model je zapravo model bez skrivenih varijabli. Postupak treniranja može biti vremenski zahtjevan, ali je jednostavan i za smislene distribucije v i h konvergira bez problema. U realnosti naravno ne znamo unaprijed prikladna stanja skrivenih neurona h za svaki primjer za učenje v. Istovremeno je potrebno utvrditi prikladna stanja skrivenih neurona i podesiti parametre mreže tako da budu u skladu da distribucijom (v, h). Jasno je da se radi o puno kompleksnijem zadatku nego kada su sva stanja poznata. Razmotrimo kako se može utvrditi stanje skrivenih varijabli. Koristeći teoriju vjerojatnosti možemo, uz proizvoljno postavljene težine veznja i pristranosti, izračunati uvjetnu vjerojatnost stanja skrivenih neurona. Primjerice, ako su neuroni v i i h j povezani snažnom pozitivnom vezom, aktivno stanje vidljivog neurona v i implicira s velikom vjerojatnošću da je njegovu aktivaciju prouzročio upravo h j. Na taj se način može utvrditi koji skriveni neuroni su uzročnici aktivacije vidljivih neurona. Jednom kada znamo stanja svih neurona, parametri se lako korigiraju kako bi se cijela mreža što bolje prilagodila skupu za učenje. Nažalost, objašnjeni proces ispravnog utvr divanja stanja skrivenih neurona je uvelike otežan fenomenom "otklona uzroka" (engl. explaining-away). Promotrimo o čemu se radi. Jednostavan primjer od tri neurona (jedan vidljiv i dva skrivena) prikazan je na slici 5.4. Znamo pristranosti i težine vezanja, dakle znamo točno koju distribuciju stanja neuroni modeliraju. -20 h 1-20 h v 1 Slika 5.4: Primjer fenomena "otklona uzroka" Vidimo da svi neuroni (h 1, h 2 i v 1 ) imaju veliku negativnu pristranost, dakle sami po sebi imaju vrlo malu vjerojatnost aktivacije. Istovremeno, skriveni neuroni h 1 i h 2 još većom pozitivnom vezom utječu na v 1. Stoga, ako se bilo koji od skrivenih neurona aktivira, vjerojatnost aktivacije vidljivog v 1 postaje vrlo visoka. Pitanje koje nas zanima jest kako na temelju poznatog stanja vidljivog neurona dokučiti stanja skrivenih? Kada je neuron v 1 aktiviran, uvjetna vjerojatnosti P (h 1 = 1 v 1 = 1) postaje vrlo visoka, upravo zato što znamo da je nešto moralo potaknuti v 1 na aktivaciju. Isto možemo reći i za vjerojatnost P (h 2 = 1 v 1 = 1). Upravo ovdje dolazi do komp- 56
60 likacije. Znamo da sva tri neurona imaju vrlo malu vjerojatnost aktivacije s obzirom na njihove pristranosti. Vidjevši da je neuron v 1 aktiviran, mi možemo izračunati visoku posteriornu vjerojatnost da su h 1 i h 2 aktivni, ali za aktivaciju v 1 dostatno je da samo jedan od njih bude aktivan. Odnosno, ako znamo da je h 1 aktivan, uz v 1, tada je vjerojatnost P (h 2 = 1 v 1 = 1, h 1 = 1) zapravo iznimno mala 1. Upravo ovo se naziva "otklonom uzroka". Iz perspektive neurona h 2, poznata aktivacija h 1 objasnila je aktivaciju neurona v 1, otklonivši potrebu za aktivacijom h 2. Može se reći da su neuroni h 1 i h 2 vrlo snažno antikorelirani, kada je v 1 aktivan. Nažalost, u grafičkom modelu sa slike ta antikorelacija nije definirana jer ne postoji veza izme du h 1 i h 2. Isto vrijedi i za duboke probabilističke mreže jer u njima neuroni istog sloja nisu povezani. Stoga se pri izračunu aktivacije skrivenih varijabli h 1 i h 2 na temelju aktivacije v 1 u pravilu aktiviraju oba, iako to zapravo nije u skladu s pravim vjerojatnostima tog istog grafičkog modela. Ova nesposobnost pravilnog odre divanja stanja skrivenih varijabli uvelike otežava treniranje grafičkih modela, pogotovo u slučajevima kada je skrivenih neurona dovoljan broj da iscrpne ili MCMC metode presporo konvergiraju Pohlepno predtreniranje slojeva Kompleksnost treniranja višeslojnih grafičkih modela općenito izlazi izvan okvira ovog rada, dovoljno je reći da do sredine 2000-ih nisu postojale efikasne metode za učenje praktično primjenjivih modela. Situacija se mjenja radom [6] u kojem Hinton i Osindero predlažu predtreniranje dubokih mreža sloj po sloj. Nećemo ulaziti u detaljnu analizu probabilističke opravdanosti predloženog pristupa, već se fokusirati na praktičnu primjenu. Ključna ideja je da se cijela mreža ne trenira odjednom, jer takvo treniranje vrlo sporo konvergira i ima tendenciju zaglavljivanja u bliskim lokalnim optimuma. Umjesto toga, mreža se trenira sloj po sloj. Prvo se treniraju neuroni najplićeg skrivenog sloja, onog spojenog na vidljivi sloj. Podešavaju se pristranosti tog sloja i težine vezanja na vidljivi sloj. Nakon ograničene količine treniranja dobiveni parametri se "zamrzavaju". Njihova trenutna vrijednost u narednim se koracima ne mjenja. Potom se trenira sljedeći skriveni sloj. Ulazne vrijednosti u taj sloj su aktivacije prethodnog skrivenog sloja, dobivene na temelju primjera za učenje i zamrznutih parametara prethodnog sloja. Treniranje drugog skrivenog sloja u tom smislu mjenja samo pristranosti drugog sloja i težine vezanja na prethodni. Nakon završetka treniranja drugog sloja, zam- 1 Čitatelju preporučamo da raspiše točne vjerojatnosti svih mogućih kombinacija stanja (samo ih je 8) na način opisan u poglavlju 3.4. Time će se razjasniti opisano ponašanje uvjetnih vjerojatnosti. 57
61 rzavaju se tako podešeni parametri mreže te se prelazi na sljedeći skriveni sloj. Ovaj postupak se ponavlja sve dok se ne ne istreniraju svi slojevi mreže. Opisani algoritam prikazan je u ispisu 2. Navedeni algoritam naziva se pohlepnim zato jer se slojevi treniraju slijedno, jedan po jedan, pri čemu se već podešeni parametri (prethodno istrenirani slojevi) ne mjenjaju. "Pohlepnost" ovog algoritma implicira odre denu suboptimalnost treniranja. Ovako istrenirana mreža neće davati najbolje moguće rezultate, ali to niti nije bio cilj. Radi se uistinu o predtreniranju. Mrežu smo htjeli dovesti u parametarski prostor u kojem će daljnje treniranje brže konvergirati prema boljem optimumu nego da nismo proveli postupak predtreniranja. Objasnili smo okvirno kako predtreniranje iterira kroz slojeve mreže. Potrebno je još razjasniti kako se pojedini slojevi treniraju. U kontekstu duboke probabilističke mreže, svaki sloj (spojen na prethodni) izgleda poput ograničenog Boltzmannovog stroja. Neuroni su organizirani u dva sloja, me dusobno potpuno spojena, bez veza unutar istog sloja. Uistinu, ovo je definicija RBMa. U tom smislu su svi algoritmi treniranja RBMova prikladni, u praksi je smisleno koristiti jednokoračnu prezistentnu kontrastnu divergenciju, kao poznato efikasnu opciju. Algorithm 2 Pohlepno predtreniranje po slojevima 1: D = skup podataka za učenje 2: n = broj skrivenih slojeva mreže 3: for i = 1 to n do 4: RBM i = ograničeni boltzmannov stroj za trenutni sloj 5: if i = 1 then 6: D i = D 7: else 8: D i = RBM i 1 (D i 1 ) 9: end if 10: treniraj RBM i koristeći D i 11: end for Fino podešavanje Pohlepno predtreniranje slojeva mrežu dovodi u područje parametarskog prostora u kojem možemo očekivati daljnju konvergenciju prema kvalitetnom optimumu. Težine i pristranosti mreže nakon predtreniranja kvalitetno modeliraju distribuciju skupa za 58
62 učenje, ali proces treniranja nije završen. Rezultati mnogih eksperimenata pokazuju da mreža nakon predtreniranja ima prostora za poboljšanje. Stoga mrežu nastavljamo trenirati algoritmima koji rade odjednom s čitavom mrežom, umjesto s pojedinim slojevima, kao što je običaj s konvencionalnim unaprijednim neuronskim mrežama. Ovaj proces se tipično naziva fino podešavanje (engl. fine-tuning) parametara. Razmatrali smo primjene mreže u svrhu modeliranja distribucije vjerojatnosti i u svrhu diskriminacije (klasifikacije) nevi denih uzoraka u poznate klase. Fino podešavanje parametara mreže se razlikuje ovisno o njenoj konačnoj primjeni. Dobro su poznata dva algoritma finog podešavanja koje opisujemo u nastavku. Algoritam "gore-dolje" Algoritam "gore-dolje" (engl. up-down algorithm) predložen je u [6] kao efikasan način finog-podešavanja težina u dubokoj vjerojatnosnoj mreži. Konceptualno je algoritam sličan kontrastnoj divergenciji. Na temelju primjera za učenje se generiraju stanja svih skrivenih neurona (prema "gore"). Potom se rekreira stanje vidljivog sloja (prema "dolje") počevši od najvišeg skrivenog te se minimizira odstupanje rekonstrukcije od originalnog primjera. Od kontrastne divergencije se algoritam razlikuje jer ona generira stanje samo jednog skrivenog sloja, dok je pri treniranju duboke mreže potrebno generirati više njih. Generiranje stanja skrivenih slojeva do najdubljeg te slijedno generiranje prema dolje računalno je zahtjevno i ima visoku varijancu stanja (prisjetimo se, stanje svakog neurona odre duje se stohastički). Zbog toga je za njegovo korištenje presudno kvalitetno predtreniranje slojeva. Bez predtreniranja algoritam presporo konvergira da bi bio praktično koristan. Algoritam "gore-dolje" optimizira rekonstrukciju primjera za učenje. U razmatranju kontrastne divergencije već je utvr deno da takva optimizacija dobro aproksimira modeliranje distribucije vjerojatnosti primjera za učenje. Konkretnu implementaciju ovog algoritma nećemo opisivati zbog relativno visoke kompleksnosti i male primjenjivosti. Naime, duboke vjerojatnosne mreže koriste se najčešće za diskriminativne zadatke (općenito za nadzirano učenje), puno rje de je potrebno u konačnici izgraditi isključivo generativni model. Za fino podešavanje duboke mreže za diskriminativni zadatak postoji brži i jednostavniji algoritam. Stoga se algoritam "gore-dolje" u praksi rijetko koristi. Čitatelja kojeg zanima algoritam "gore-dolje" upućujemo na rad [6] u kojem su teorijska podloga i implementacija detaljno objašnjeni. 59
63 Algoritam Backpropagation Algoritam backpropagation poznat je način treniranja unaprijednih neuronskih mreža. Literatura u kojoj je detaljno objašnjen je lako dostupna, eventualno neupućenom čitatelju predlažemo [13]. Backpropagation se u kontekstu dubokih probabilističkih koristi primarno za nadzirano učenje, odnosno klasifikaciju. Ovo je posljedica toga što backpropagation minimizira grešku izlaznog sloja mreže, pri čemu je izlazni sloj tipično oznaka razreda (jedan neuron po razredu). Fino podešavanje duboke probabilističke mreže backpropagation algoritmom zahtjeva promjenu definicije mreže. Backpropagation radi s neuronskim mrežama koje imaju realne aktivacije neurona (naspram diskretnih {0, 1} aktivacija) koje se odre duju deterministički (naspram stohastičnog odre divanja). Moguće su različite aktivacijske funkcije mreže, tipično se koriste sigmoidalna funkcija i tangens hiperbolni. U kontekstu finog podešavanja duboke probabilističke mreže prikladna je sigmoidalna funkcija jer je njen izlaz unutar intervala [0, 1]. Dakle, probabilističku mrežu s diskretnim aktivacijama ćemo koristiti kao determinističku mrežu s realnim aktivacijama. Pri tome parametri mreže (težine i pristranosti) ostaju isti. Za ovakav pristup finom podešavanju ne postoji matematičko opravdanje. Efektivno se odričemo definicije mreže kao generativnog probabilističkog modela i koristimo ju kao unaprijednu višeslojnu mrežu. Izlazni (najdublji) sloj mreže sadrži neurone od kojih svaki predstavlja jedan razred. Primjer za koji su izračunate aktivacije izlaznog sloja svrstava se u razred neurona koji je imao najveću aktivaciju. Ako se pri tome aktivacije svih neurona izlaznog sloja podijele sa sumom tih aktivacija (time njihova suma postaje 1), govorimo o softmax klasifikaciji. Takve aktivacije možemo tumačiti kao pouzdanost klasifikacije. Mnoga testiranja, uključujući testiranja provedena u originalnom radu o dubokim probabilističkim mrežama [6], su pokazala da ovaj pristup daje najbolje rezultate na diskriminativnom zadatku. Backpropagation algoritam vrlo efikasno trenira mrežu. Prisjetimo se, ključni problemi tog algoritma su tendencija zaglavljivanja u lokalnom optimumu i smanjenje efikasnosti treniranja kako dubina mreže raste. Korištenjem pohlepnog predtreniranja po slojevima zapravo smanjujemo utjecaj tih problema. 60
64 6. Primjer korištenja 6.1. Definicija problema U sklopu automatskog ocjenjivanja ispitnih obrazaca na fakultetu potrebno je prepoznati rukom pisano slovo upisano u za to predvi deno mjesto. Slovo indicira odabrani odgovor na pitanje u ispitu. U pravilu nema više od šest ponu denih mogućnosti, stoga je potrebno prepoznati slova iz skupa {A, B, C, D, E, F} (koriste se samo kapitalizirana slova). Uz mogućnosti odabira odgovora na obrascu je dopušteno koristiti još dva znaka s posebnim značenjem: slovo "X" i povlaku "-". Sustav treba moći prepoznati i kada na odre denoj lokaciji nije upisano ništa, odnosno znak praznine. Radi se dakle o diskriminacijskom zadatku od devet razreda Skup za treniranje Skup podataka za treniranje sakupljen je na Fakultetu Elektrotehnike i Računarstva u Zagrebu godine. Za svaki od devet razreda sadrži 9537 primjera (sveukupno primjera). Svaki primjer je procesiran tako da je minimalno pravokutno područje unutar kojeg postoje ne-bijeli slikovni elementi izrezano i skalirano u 4:3 omjer. Potom je rezultat smanjen na rezoluciju (32, 24) i pretovren u sliku sivih tonova. Konačno, primjeri su binarizirani, tako da sadrže samo crnu i bijelu boju, usporedbom s fiksnim pragom od 50% intenziteta. Tako procesirani nasumično odabrani primjeri prikazani su na slici Korišten model Za zadani diskriminacijski zadatak trenirali smo umjetnu neuronsku mrežu. Predtreniranje je provedeno po definiciji duboke probabilističke mreže: pohlepnim treniran- 61
65 Slika 6.1: Nasumično odabrani primjeri iz skupa za učenje, nakon procesiranja. Po jedan redak za svaki od razreda {A, B, C, D, E, F, X,, -}. jem stoga ograničenih Boltzmannovih strojeva sloj po sloj. Fino podešavanje parametara mreže obavljeno je backpropagation algoritom, mreža je dakle u tom trenutku pretvorena u determinističku mrežu s realnim aktivacijama i izlaznim softmax slojem Način evaluiranja U prvoj fazi treniranja mreže potrebno je pronaći arhitekturu i hiperparametre koji daju najbolje rezultate. Iscrpno pretraživanje mogućnosti je nemoguće jer ih je praktički beskonačno. Kako bi se maksimizirao broj pokusa koji se mogu izvršiti na dostupnom hardveru u zadanom vremenu, pokusi su u ovoj fazi bili evaluirani koristeći jednostavnu holdout metodu. Fiksni broj primjera za učenje, jednoliko raspore denih po razredima, izuzima se iz skupa za treniranje. Po završetku treniranja se performanse mreže evaluiraju koristeći izuzete primjere. Naš skup za evaluaciju (primjeri izuzeti iz skupa za treniranje) sadržavao je 10% (oko 8583) primjera. Konačna evaluacija obavljena je koristeći statistički ispravniju (ali vremenski zahtjevniju) stratified k-fold cross validation metodu. Skup za treniranje podjeljen je 62
Microsoft Word - predavanje8
DERIVACIJA KOMPOZICIJE FUNKCIJA Ponekad je potrebno derivirati funkcije koje nisu jednostavne (složene su). Na primjer, funkcija sin2 je kompozicija funkcija sin (vanjska funkcija) i 2 (unutarnja funkcija).
ВишеSadržaj 1 Diskretan slučajan vektor Definicija slučajnog vektora Diskretan slučajan vektor
Sadržaj Diskretan slučajan vektor Definicija slučajnog vektora 2 Diskretan slučajan vektor Funkcija distribucije slučajnog vektora 2 4 Nezavisnost slučajnih vektora 2 5 Očekivanje slučajnog vektora 6 Kovarijanca
ВишеPrimjena neodredenog integrala u inženjerstvu Matematika 2 Erna Begović Kovač, Literatura: I. Gusić, Lekcije iz Matematike 2
Primjena neodredenog integrala u inženjerstvu Matematika 2 Erna Begović Kovač, 2019. Literatura: I. Gusić, Lekcije iz Matematike 2 http://matematika.fkit.hr Uvod Ako su dvije veličine x i y povezane relacijom
ВишеUvod u obične diferencijalne jednadžbe Metoda separacije varijabli Obične diferencijalne jednadžbe Franka Miriam Brückler
Obične diferencijalne jednadžbe Franka Miriam Brückler Primjer Deriviranje po x je linearan operator d dx kojemu recimo kao domenu i kodomenu uzmemo (beskonačnodimenzionalni) vektorski prostor funkcija
Вишеknjiga.dvi
1. Vjerojatnost 1. lgebra dogadaja......................... 1 2. Vjerojatnost............................. 9 3. Klasični vjerojatnosni prostor................. 14 4. eskonačni vjerojatnosni prostor...............
ВишеMicrosoft Word - 6ms001
Zadatak 001 (Anela, ekonomska škola) Riješi sustav jednadžbi: 5 z = 0 + + z = 14 4 + + z = 16 Rješenje 001 Sustav rješavamo Gaussovom metodom eliminacije (isključivanja). Gaussova metoda provodi se pomoću
ВишеPostojanost boja
Korištenje distribucije osvjetljenja za ostvaranje brzih i točnih metode za postojanost boja Nikola Banić 26. rujna 2014. Sadržaj Postojanost boja Ubrzavanje lokalnog podešavanja boja Distribucija najčešćih
ВишеALIP1_udzb_2019.indb
Razmislimo Kako u memoriji računala prikazujemo tekst, brojeve, slike? Gdje se spremaju svi ti podatci? Kako uopće izgleda memorija računala i koji ju elektronički sklopovi čine? Kako biste znali odgovoriti
ВишеMatrice. Algebarske operacije s matricama. - Predavanje I
Matrice.. Predavanje I Ines Radošević inesr@math.uniri.hr Odjel za matematiku Sveučilišta u Rijeci Matrice... Matrice... Podsjeti se... skup, element skupa,..., matematička logika skupovi brojeva N,...,
ВишеOptimizacija
Optimizacija 1 / 43 2 / 43 Uvod u optimizaciju Zadana funkcija Uvod u optimizaciju f : R n R Cilj: Naći x, točku minimuma funkcije f : - Problem je jednostavno opisati x = arg min x R n f (x). - Rješavanje
Више(Microsoft Word vje\236ba - LIMES FUNKCIJE.doc)
Zadatak Pokažite, koristeći svojstva esa, da je ( 6 ) 5 Svojstva esa funkcije u točki: Ako je k konstanta, k k c c c f ( ) L i g( ) M, tada vrijedi: c c [ f ( ) ± g( ) ] c c f ( ) ± g( ) L ± M c [ f (
ВишеJMBAG IME I PREZIME BROJ BODOVA MJERA I INTEGRAL 2. kolokvij 29. lipnja (Knjige, bilježnice, dodatni papiri i kalkulatori nisu dozvoljeni!) 1. (
MJERA I INTEGRAL. kolokvij 9. lipnja 018. (Knjige, bilježnice, dodatni papiri i kalkulatori nisu dozvoljeni! 1. (ukupno 6 bodova Neka je (, F, µ prostor s mjerom, neka je (f n n1 niz F-izmjerivih funkcija
ВишеMicrosoft Word - 15ms261
Zadatak 6 (Mirko, elektrotehnička škola) Rješenje 6 Odredite sup S, inf S, ma S i min S u skupu R ako je S = { R } a b = a a b + b a b, c < 0 a c b c. ( ), : 5. Skratiti razlomak znači brojnik i nazivnik
ВишеTeorija skupova - blog.sake.ba
Uvod Matematika je jedan od najomraženijih predmeta kod većine učenika S pravom, dakako! Zapitajmo se šta je uzrok tome? Da li je matematika zaista toliko teška, komplikovana? Odgovor je jednostavan, naravno
ВишеSkalarne funkcije više varijabli Parcijalne derivacije Skalarne funkcije više varijabli i parcijalne derivacije Franka Miriam Brückler
i parcijalne derivacije Franka Miriam Brückler Jednadžba stanja idealnog plina uz p = nrt V f (x, y, z) = xy z x = n mol, y = T K, z = V L, f == p Pa. Pritom je kodomena od f skup R, a domena je Jednadžba
ВишеJMBAG IME I PREZIME BROJ BODOVA MJERA I INTEGRAL završni ispit 6. srpnja (Knjige, bilježnice, dodatni papiri i kalkulatori nisu dozvoljeni!) 1.
MJERA I INTEGRAL završni ispit 6. srpnja 208. (Knjige bilježnice dodatni papiri i kalkulatori nisu dozvoljeni!). (8 bodova) Kao na predavanjima za d N sa P d : a b ] a d b d ] : a i b i R a i b i za i
ВишеSveučilište J.J. Strossmayera Fizika 2 FERIT Predložak za laboratorijske vježbe Određivanje relativne permitivnosti sredstva Cilj vježbe Određivanje r
Sveučilište J.J. Strossmayera Fizika 2 Predložak za laboratorijske vježbe Cilj vježbe Određivanje relativne permitivnosti stakla, plastike, papira i zraka mjerenjem kapaciteta pločastog kondenzatora U-I
ВишеHej hej bojiš se matematike? Ma nema potrebe! Dobra priprema je pola obavljenog posla, a da bi bio izvrsno pripremljen tu uskačemo mi iz Štreberaja. D
Hej hej bojiš se matematike? Ma nema potrebe! Dobra priprema je pola obavljenog posla, a da bi bio izvrsno pripremljen tu uskačemo mi iz Štreberaja. Donosimo ti primjere ispita iz matematike, s rješenjima.
ВишеNumerička matematika 11. predavanje dodatak Saša Singer web.math.pmf.unizg.hr/~singer PMF Matematički odsjek, Zagreb NumMat 2019, 11. p
Numerička matematika 11. predavanje dodatak Saša Singer singer@math.hr web.math.pmf.unizg.hr/~singer PMF Matematički odsjek, Zagreb NumMat 2019, 11. predavanje dodatak p. 1/46 Sadržaj predavanja dodatka
ВишеJMBAG IME I PREZIME BROJ BODOVA 1. (ukupno 6 bodova) MJERA I INTEGRAL 1. kolokvij 4. svibnja (Knjige, bilježnice, dodatni papiri i kalkulatori n
1. (ukupno 6 bodova) MJERA I INTEGRAL 1. kolokvij 4. svibnja 2018. (Knjige, bilježnice, dodatni papiri i kalkulatori nisu dozvoljeni!) (a) (2 boda) Definirajte (općenitu) vanjsku mjeru. (b) (2 boda) Definirajte
ВишеMatematka 1 Zadaci za vežbe Oktobar Uvod 1.1. Izračunati vrednost izraza (bez upotrebe pomoćnih sredstava): ( ) [ a) : b) 3 3
Matematka Zadaci za vežbe Oktobar 5 Uvod.. Izračunati vrednost izraza bez upotrebe pomoćnih sredstava): ) [ a) 98.8.6 : b) : 7 5.5 : 8 : ) : :.. Uprostiti izraze: a) b) ) a b a+b + 6b a 9b + y+z c) a +b
Више2015_k2_z12.dvi
OBLIKOVANJE I ANALIZA ALGORITAMA 2. kolokvij 27. 1. 2016. Skice rješenja prva dva zadatka 1. (20) Zadano je n poslova. Svaki posao je zadan kao vremenski interval realnih brojeva, P i = [p i,k i ],zai
ВишеAlgoritmi SŠ P1
Županijsko natjecanje iz informatike Srednja škola 9. veljače 2018. RJEŠENJA ZADATAKA Napomena: kodovi za većinu opisanih algoritama dani su u Pythonu radi jednostavnosti i lakše čitljivosti. Zbog prirode
ВишеSlide 1
0(a) 0(b) 0(c) 0(d) 0(e) :: :: Neke fizikalne veličine poput indeksa loma u anizotropnim sredstvima ovise o iznosu i smjeru, a nisu vektori. Stoga se namede potreba poopdavanja. Međutim, fizikalne veličine,
ВишеMicrosoft PowerPoint - 03-Slozenost [Compatibility Mode]
Сложеност алгоритама (Програмирање 2, глава 3, глава 4-4.3) Проблем: класа задатака истог типа Велики број различитих (коректних) алгоритама Величина (димензија) проблема нпр. количина података које треба
Више7. predavanje Vladimir Dananić 14. studenoga Vladimir Dananić () 7. predavanje 14. studenoga / 16
7. predavanje Vladimir Dananić 14. studenoga 2011. Vladimir Dananić () 7. predavanje 14. studenoga 2011. 1 / 16 Sadržaj 1 Operator kutne količine gibanja 2 3 Zadatci Vladimir Dananić () 7. predavanje 14.
ВишеР273 Пројектовање база података Примери питања за колоквијум 1. Навести најважније моделе података кроз историју рачунарства до данас. 2. Објаснити ос
Р273 Пројектовање база података Примери питања за колоквијум 1. Навести најважније моделе података кроз историју рачунарства до данас. 2. Објаснити основне концепте мрежног модела 3. Објаснити основне
Више(Microsoft Word - Dr\236avna matura - kolovoz ni\236a razina - rje\232enja)
1. C. Imamo redom: I. ZADATCI VIŠESTRUKOGA IZBORA. B. Imamo redom: 0.3 0. 8 7 8 19 ( 3) 4 : = 9 4 = 9 4 = 9 = =. 0. 0.3 3 3 3 3 0 1 3 + 1 + 4 8 5 5 = = = = = = 0 1 3 0 1 3 0 1+ 3 ( : ) ( : ) 5 5 4 0 3.
Више(Microsoft Word - MATB - kolovoz osnovna razina - rje\232enja zadataka)
. B. Zapišimo zadane brojeve u obliku beskonačno periodičnih decimalnih brojeva: 3 4 = 0.7, = 0.36. Prvi od navedenih četiriju brojeva je manji od 3 4, dok su treći i četvrti veći od. Jedini broj koji
ВишеNumeričke metode u fizici 1, Projektni zadataci 2018./ Za sustav običnih diferencijalnih jednadžbi, koje opisuju kretanje populacije dviju vrs
Numeričke metode u fizici, Projektni zadataci 8./9.. Za sustav običnih diferencijalnih jednadžbi, koje opisuju kretanje populacije dviju vrsta životinja koje se nadmeću za istu hranu, dx ( dt = x x ) xy
ВишеUAAG Osnovne algebarske strukture 5. Vektorski prostori Borka Jadrijević
Osnovne algebarske strukture 5. Vektorski prostori Borka Jadrijević Osnovne algebarske strukture5. Vektorski prostori 2 5.1 Unutarnja i vanjska množenja Imamo dvije vrste algebarskih operacija, tzv. unutarnja
ВишеElementarna matematika 1 - Oblici matematickog mišljenja
Oblici matematičkog mišljenja 2007/2008 Mišljenje (psihološka definicija) = izdvajanje u čovjekovoj spoznaji odre denih strana i svojstava promatranog objekta i njihovo dovo denje u odgovarajuće veze s
ВишеToplinska i električna vodljivost metala
Električna vodljivost metala Cilj vježbe Određivanje koeficijenta električne vodljivosti bakra i aluminija U-I metodom. Teorijski dio Eksperimentalno je utvrđeno da otpor ne-ohmskog vodiča raste s porastom
ВишеPowerPoint Presentation
Колоквијум # задатак подељен на 4 питања: теоријска практична пишу се програми, коначно решење се записује на папиру, кодови се архивирају преко сајта Инжењерски оптимизациони алгоритми /3 Проблем: NLP:
ВишеMicrosoft PowerPoint - jkoren10.ppt
Dickey-Fuller-ov test jediničnog korena Osnovna ideja Različite determinističke komponente Izračunavanje test-statistike Pravilo odlučivanja Određivanje broja jediničnih korena Algoritam testiranja Prošireni
ВишеGeneralizirani trag i normalne forme za logiku interpretabilnosti Vedran Čačić PMF Matematički odsjek Sveučilište u Zagrebu Dubrovnik radiona Sustavi
Generalizirani trag i normalne forme za logiku interpretabilnosti Vedran Čačić PMF Matematički odsjek Sveučilište u Zagrebu Dubrovnik radiona Sustavi dokazivanja 28. lipnja 2012. Zašto logika interpretabilnosti?
ВишеProblemi zadovoljavanja ogranicenja.
I122 Osnove umjetne inteligencije Tema:. 7.1.2016. predavač: Darija Marković asistent: Darija Marković 1 I122 Osnove umjetne inteligencije. 2/26 (PZO) Problem zadovoljavanja ograničenja sastoji se od 3
Више(Kvantitativne metode odlu\350ivanja \226 problem optimalne zamjene opreme | math.e)
1 math.e Hrvatski matematički elektronički časopis Kvantitativne metode odlučivanja problem optimalne zamjene opreme optimizacija teorija grafova mr. sc. Bojan Kovačić, dipl. ing. matematike, RRiF Visoka
ВишеNewtonova metoda za rješavanje nelinearne jednadžbe f(x)=0
za rješavanje nelinearne jednadžbe f (x) = 0 Ime Prezime 1, Ime Prezime 2 Odjel za matematiku Sveučilište u Osijeku Seminarski rad iz Matematičkog praktikuma Ime Prezime 1, Ime Prezime 2 za rješavanje
Више(Microsoft Word - Dr\236avna matura - studeni osnovna razina - rje\232enja)
1. C. Imamo redom: I. ZADATCI VIŠESTRUKOGA IZBORA 9 + 7 6 9 + 4 51 = = = 5.1 18 4 18 8 10. B. Pomoću kalkulatora nalazimo 10 1.5 = 63.45553. Četvrta decimala je očito jednaka 5, pa se zaokruživanje vrši
ВишеMetoda konačnih elemenata; teorija i praktična implementacija math.e 1 of 15 Vol.25. math.e Hrvatski matematički elektronički časopis Metoda konačnih
1 of 15 math.e Hrvatski matematički elektronički časopis Metoda konačnih elemenata; teorija i praktična implementacija klavirska žica konačni elementi mehanika numerička matematika Andrej Novak Sveučilište
ВишеAlgoritmi SŠ P1
Državno natjecanje iz informatike Srednja škola Prvi dan natjecanja 2. ožujka 219. ime zadatka BADMINTON SJEME MANIPULATOR vremensko ograničenje 1 sekunda 1 sekunda 3 sekunde memorijsko ograničenje 512
ВишеInterpretacija čuda pomoću teorije determinističkog kaosa (Jerko Kolovrat, KBF Split; Marija Todorić, PMF Zagreb) Postoje razne teme koje zaokupljaju
Interpretacija čuda pomoću teorije determinističkog kaosa (Jerko Kolovrat, KBF Split; Marija Todorić, PMF Zagreb) Postoje razne teme koje zaokupljaju ljudski um i tjeraju ga da prema njima zauzme stav
Више(Microsoft Word - Rje\232enja zadataka)
1. D. Svedimo sve razlomke na jedinstveni zajednički nazivnik. Lako provjeravamo da vrijede rastavi: 85 = 17 5, 187 = 17 11, 170 = 17 10, pa je zajednički nazivnik svih razlomaka jednak Tako sada imamo:
ВишеFAKULTET STROJARSTVA I BRODOGRADNJE KATEDRA ZA STROJARSKU AUTOMATIKU SEMINARSKI RAD IZ KOLEGIJA NEIZRAZITO I DIGITALNO UPRAVLJANJE Mehatronika i robot
FAKULTET STROJARSTVA I BRODOGRADNJE KATEDRA ZA STROJARSKU AUTOMATIKU SEMINARSKI RAD IZ KOLEGIJA NEIZRAZITO I DIGITALNO UPRAVLJANJE Mehatronika i robotika Zagreb, 2014. MODEL PROCESA U PROSTORU STANJA
ВишеPowerPoint Presentation
УВОД Дa би рaчунaри нa мрежи могли међусобно да кoмуницирaју и рaзмeњују пoдaткe, пoтрeбнo je: дa сe увeду ПРOТOКOЛИ (утврђeна прaвилa и процедуре за комуникацију) да постоје АДРEСE кoje су jeдинствeнe
ВишеZadatak 1 U tablici se nalaze podaci dobiveni odredivanjem bilirubina u 24 uzoraka seruma (µmol/l):
Zadatak 1 U tablici se nalaze podaci dobiveni odredivanjem bilirubina u 4 uzoraka seruma (µmol/l): 1.8 13.8 15.9 14.7 13.7 14.7 13.5 1.4 13 14.4 15 13.1 13. 15.1 13.3 14.4 1.4 15.3 13.4 15.7 15.1 14.5
ВишеОрт колоквијум
II колоквијум из Основа рачунарске технике I - 27/28 (.6.28.) Р е ш е њ е Задатак На улазе x, x 2, x 3, x 4 комбинационе мреже, са излазом z, долази четворобитни BCD број. Ако број са улаза при дељењу
ВишеРАСПОРЕД ИСПИТА У ИСПИТНОМ РОКУ ЈАНУАР 1 ШКОЛСКЕ 2016/2017. ГОДИНЕ (последња измена ) Прва година: ПРВА ГОДИНА - сви сем информатике Име пр
РАСПОРЕД ИСПИТА У ИСПИТНОМ РОКУ ЈАНУАР 1 ШКОЛСКЕ 2016/2017. ГОДИНЕ (последња измена 23.01.2017.) Прва година: ПРВА ГОДИНА - сви сем информатике Име предмета Датум и термин одржавања писменог дела испита
Више2.7 Taylorova formula Teorem 2.11 Neka funkcija f : D! R; D R m ; ima na nekoj "-kugli K(T 0 ; ; ") D; T 0 x 0 1; :::; x 0 m neprekidne derivacije do
2.7 Taylorova formula Teorem 2.11 Neka funkcija f : D! R; D R m ; ima na nekoj "-kugli K(T 0 ; ; ") D; T 0 x 0 1; :::; x 0 m neprekidne derivacije do ukljucivo (n + 1) vog reda, n 0; onda za svaku tocku
ВишеSveučilište J.J. Strossmayera Fizika 2 FERIT Predložak za laboratorijske vježbe Cilj vježbe Određivanje specifičnog naboja elektrona Odrediti specifič
Cilj vježbe Određivanje specifičnog naboja elektrona Odrediti specifični naboja elektrona (omjer e/me) iz poznatog polumjera putanje elektronske zrake u elektronskoj cijevi, i poznatog napona i jakosti
ВишеТЕОРИЈА УЗОРАКА 2
ТЕОРИЈА УЗОРАКА 2 12. 04. 13. ВЕЖБАЊА Написати функције за бирање елемената популације обима N у узорак обима n, код простог случајног узорка, користећи алгоритме: Draw by draw procedure for SRS/SRSWOR
ВишеNeodreeni integrali - Predavanje III
Neodredeni integrali Predavanje III Ines Radošević inesr@math.uniri.hr Odjel za matematiku Sveučilišta u Rijeci Neodredeni integrali Neodredeni integral Tablični integrali Metoda supstitucije Metoda parcijalne
Више23. siječnja od 13:00 do 14:00 Školsko natjecanje / Osnove informatike Srednje škole RJEŠENJA ZADATAKA S OBJAŠNJENJIMA Sponzori Medijski pokrovi
3. siječnja 0. od 3:00 do 4:00 RJEŠENJA ZADATAKA S OBJAŠNJENJIMA Sponzori Medijski pokrovitelji Sadržaj Zadaci. 4.... Zadaci 5. 0.... 3 od 8 Zadaci. 4. U sljedećim pitanjima na pitanja odgovaraš upisivanjem
Више8 2 upiti_izvjesca.indd
1 2. Baze podataka Upiti i izvješća baze podataka Na početku cjeline o bazama podataka napravili ste plošnu bazu podataka o natjecanjima učenika. Sada ćete izraditi relacijsku bazu u Accessu o učenicima
Више1 MATEMATIKA 1 (prva zadaća) Vektori i primjene 1. U trokutu ABC točke M i N dijele stranicu AB na tri jednaka dijela. O
http://www.fsb.hr/matematika/ (prva zadać Vektori i primjene. U trokutu ABC točke M i N dijele stranicu AB na tri jednaka dijela. Označite CA= a, CB= b i izrazite vektore CM i CN pomoću vektora a i b..
ВишеXIII. Hrvatski simpozij o nastavi fizike Istraživački usmjerena nastava fizike na Bungee jumping primjeru temeljena na analizi video snimke Berti Erja
Istraživački usmjerena nastava fizike na Bungee jumping primjeru temeljena na analizi video snimke Berti Erjavec Institut za fiziku, Zagreb Sažetak. Istraživački usmjerena nastava fizike ima veću učinkovitost
ВишеGrupiranje podataka: pristupi, metode i primjene, ljetni semestar 2013./ Standardizacija podataka Predavanja i vježbe 8 Ako su podaci zadani
Grupiranje podataka: pristupi, metode i primjene, ljetni semestar 2013/2014 1 5 Standardizacija podataka Predavanja i vježbe 8 Ako su podaci zadani s više obilježja (atributa), ta se obilježja mogu međusobno
ВишеMatematika 1 - izborna
3.3. NELINEARNE DIOFANTSKE JEDNADŽBE Navest ćemo sada neke metode rješavanja diofantskih jednadžbi koje su drugog i viših stupnjeva. Sve su te metode zapravo posebni oblici jedne opće metode, koja se naziva
ВишеNatjecanje 2016.
I RAZRED Zadatak 1 Grafiĉki predstavi funkciju RJEŠENJE 2, { Za, imamo Za, ), imamo, Za imamo I RAZRED Zadatak 2 Neka su realni brojevi koji nisu svi jednaki, takvi da vrijedi Dokaži da je RJEŠENJE Neka
ВишеRecuva CERT.hr-PUBDOC
Recuva CERT.hr-PUBDOC-2019-5-379 Sadržaj 1 UVOD... 3 2 INSTALACIJA ALATA RECUVA... 4 3 KORIŠTENJE ALATA RECUVA... 7 4 ZAKLJUČAK... 13 Ovaj dokument izradio je Laboratorij za sustave i signale Zavoda za
Више07jeli.DVI
Osječki matematički list 1(1), 85 94 85 Primjena karakterističnih funkcija u statistici Slobodan Jelić Sažetak. U ovom radu odred ene su funkcije distribucije aritmetičke sredine slučajnog uzorka duljine
ВишеCelobrojno programiranje Rešavamo sledeći poblem celobrojnog programiranja: min c T x Ax = b x 0 x Z n Gde pretpostavljamo da je A celobrojna matrica
Celobrojno programiranje Rešavamo sledeći poblem celobrojnog programiranja: min c T x Ax = b x 0 x Z n Gde pretpostavljamo da je A celobrojna matrica dimenzije m n, b Z m, c Z n. Takođe, očekuje se da
ВишеDiferenciranje i integriranje pod znakom integrala math.e Vol math.e Hrvatski matematički elektronički časopis Diferenciranje i integriranje pod
1 math.e Hrvatski matematički elektronički časopis Diferenciranje i integriranje pod znakom integrala analiza Irfan Glogić, Harun Šiljak When guys at MIT or Princeton had trouble doing a certain integral,
Више(Microsoft Word - Dr\236avna matura - svibanj osnovna razina - rje\232enja)
I. ZADATCI VIŠESTRUKOGA IZBORA 1. A. Svih pet zadanih razlomaka svedemo na najmanji zajednički nazivnik. Taj nazivnik je najmanji zajednički višekratnik brojeva i 3, tj. NZV(, 3) = 6. Dobijemo: 15 1, 6
ВишеCIJELI BROJEVI 1.) Kako još nazivamo pozitivne cijele brojeve? 1.) Za što je oznaka? 2.) Ispiši skup prirodnih brojeva! 3.) Kako označavamo skup priro
CIJELI BROJEVI 1.) Kako još nazivamo pozitivne cijele brojeve? 1.) Za što je oznaka? 2.) Ispiši skup prirodnih brojeva! 3.) Kako označavamo skup prirodnih brojeva? 4.) Pripada li 0 skupu prirodnih brojeva?
ВишеMicrosoft Word - zadaci_19.doc
Na temelju sljedećih podataka odgovorite na prva dva pitanja. C = 1000, I = 200, G = 400, X = 300, IM=350 Sve su navedene varijable mjerene u terminima domaćih dobara. 1. Razina potražnje za domaćim dobrima
Вишеvjezbe-difrfv.dvi
Zadatak 5.1. Neka je L: R n R m linearni operator. Dokažite da je DL(X) = L, X R n. Preslikavanje L je linearno i za ostatak r(h) = L(X + H) L(X) L(H) = 0 vrijedi r(h) lim = 0. (5.1) H 0 Kako je R n je
ВишеSveučilište J.J. Strossmayera Fizika 2 FERIT Predložak za laboratorijske vježbe Lom i refleksija svjetlosti Cilj vježbe Primjena zakona geometrijske o
Lom i refleksija svjetlosti Cilj vježbe Primjena zakona geometrijske optike (lom i refleksija svjetlosti). Određivanje žarišne daljine tanke leće Besselovom metodom. Teorijski dio Zrcala i leće su objekti
ВишеSVEUČILIŠTE U ZAGREBU PRIRODOSLOVNO MATEMATIČKI FAKULTET MATEMATIČKI ODSJEK Ivana Šore REKURZIVNOST REALNIH FUNKCIJA Diplomski rad Voditelj rada: doc.
SVEUČILIŠTE U ZAGREBU PRIRODOSLOVNO MATEMATIČKI FAKULTET MATEMATIČKI ODSJEK Ivana Šore REKURZIVNOST REALNIH FUNKCIJA Diplomski rad Voditelj rada: doc.dr.sc. Zvonko Iljazović Zagreb, rujan, 2015. Ovaj diplomski
ВишеMicrosoft Word - V03-Prelijevanje.doc
Praktikum iz hidraulike Str. 3-1 III vježba Prelijevanje preko širokog praga i preljeva praktičnog profila Mali stakleni žlijeb je izrađen za potrebe mjerenja pojedinih hidrauličkih parametara tečenja
ВишеSVEUČILIŠTE U ZAGREBU PRIRODOSLOVNO MATEMATIČKI FAKULTET MATEMATIČKI ODSJEK Irma Valčić ANALIZA KOMPLEKSNOSTI SKRIVENIH MARKOVLJEVIH MODELA Diplomski
SVEUČILIŠTE U ZAGREBU PRIRODOSLOVNO MATEMATIČKI FAKULTET MATEMATIČKI ODSJEK Irma Valčić ANALIZA KOMPLEKSNOSTI SKRIVENIH MARKOVLJEVIH MODELA Diplomski rad Zagreb, srpanj 2015. Voditelj rada: doc. dr. sc.
ВишеMicrosoft Word - zadaci_21.doc
1. Devalvacija predstavlja: a) porast Ē b) smanjenje Ē c) porast P d) smanjenje realnog deviznog tečaja 2. Revalvacija predstavlja: a) porast Ē b) smanjenje P c) porast P* d) ništa od navedenog 3. AD krivulja
Више4
4.1.2 Eksperimentalni rezultati Rezultati eksperimentalnog istraživanja obrađeni su u programu za digitalno uređivanje audio zapisa (Coll Edit). To je program koji omogućava široku obradu audio zapisa.
ВишеMicrosoft Word - Dopunski_zadaci_iz_MFII_uz_III_kolokvij.doc
Dopunski zadaci za vježbu iz MFII Za treći kolokvij 1. U paralelno strujanje fluida gustoće ρ = 999.8 kg/m viskoznosti μ = 1.1 1 Pa s brzinom v = 1.6 m/s postavljana je ravna ploča duljine =.7 m (u smjeru
Више9. : , ( )
9. Динамика тачке: Енергиjа, рад и снага (први део) др Ратко Маретић др Дамир Мађаревић Департман за Техничку механику, Факултет техничких наука Нови Сад Садржаj - Шта ћемо научити (1) 1. Преглед литературе
ВишеMicrosoft Word - Ispitivanje toka i grafik funkcije V deo
. Ispitati tok i skicirati grafik funkcije y= arcsin + Oblast definisanosti (domen) Podsetimo se grafika elementarnih funkcija i kako izgleda arcsin funkcija: y - y=arcsin Funkcija je definisana za [,]
Више2. Globalna svojstva realnih funkcija Denicija 2.1 Za funkciju f : A kaemo da je:! R; A R ome dena odozgor ako postoji M 2 R takav da je (8x 2 A) (f (
2. Globalna svojstva realnih funkcija Denicija 2.1 Za funkciju f : A kaemo da je:! R; A R ome dena odozgor ako postoji M 2 R takav da je (8 2 A) (f () M) ; ome dena odozdol ako postoji m 2 R takav da je
Више1 Konusni preseci (drugim rečima: kružnica, elipsa, hiperbola i parabola) Definicija 0.1 Algebarska kriva drugog reda u ravni jeste skup tačaka opisan
1 Konusni preseci (drugim rečima: kružnica, elipsa, hiperbola i parabola) Definicija 0.1 Algebarska kriva drugog reda u ravni jeste skup tačaka opisan jednačinom oblika: a 11 x 2 + 2a 12 xy + a 22 y 2
ВишеCVRSTOCA
ČVRSTOĆA 12 TEORIJE ČVRSTOĆE NAPREGNUTO STANJE Pri analizi unutarnjih sila koje se pojavljuju u kosom presjeku štapa opterećenog na vlak ili tlak, pri jednoosnom napregnutom stanju, u tim presjecima istodobno
Више10_Perdavanja_OPE [Compatibility Mode]
OSNOVE POSLOVNE EKONOMIJE Predavanja: 10. cjelina 10.1. OSNOVNI POJMOVI Proizvodnja je djelatnost kojom se uz pomoć ljudskog rada i tehničkih sredstava predmeti rada pretvaraju u proizvode i usluge. S
ВишеMere slicnosti
Nenad Mitić Matematički fakultet nenad@matf.bg.ac.rs Kako odrediti sličnost/različitost, obrazaca, atributa, dogadjaja... Podaci različitog tipa i strukture Zavisnost od tipa, raspodele, dimenzionalnosti
ВишеMicrosoft Word - PARCIJALNI IZVODI I DIFERENCIJALI.doc
PARCIJALNI IZVODI I DIFERENCIJALI Sama definicija parcijalnog ivoda i diferencijala je malo teža, mi se njome ovde nećemo baviti a vi ćete je, naravno, naučiti onako kako vaš profesor ahteva. Mi ćemo probati
ВишеMicrosoft Word - III godina - EA - Metodi vjestacke inteligencije
Школска година 2018/2019. Предмет Методи вјештачке интелигенције Шифра предмета 2284 Студијски програм Електроенергетика и аутоматика Циклус студија Година студија Семестар Број студената Број група за
ВишеMetode psihologije
Metode psihologije opažanje, samoopažanje, korelacijska metoda, eksperiment Metode služe za istraživanja... Bez znanstvenih istraživanja i znanstvene potvrde, spoznaje i objašnjenja ne mogu postati dio
ВишеMicrosoft Word - IZVODI ZADACI _2.deo_
IZVODI ZADACI ( II deo U ovom del ćemo pokšati da vam objasnimo traženje izvoda složenih fnkcija. Prvo da razjasnimo koja je fnkcija složena? Pa, najprostije rečeno, to je svaka fnkcija koje nema tablici
ВишеUDŽBENIK 2. dio
UDŽBENIK 2. dio Pročitaj pažljivo Primjer 1. i Primjer 2. Ova dva primjera bi te trebala uvjeriti u potrebu za uvo - denjem još jedne vrste brojeva. Primjer 1. Živa u termometru pokazivala je temperaturu
ВишеRaspodjela i prikaz podataka
Kolegij: ROLP Statistička terminologija I. - raspodjela i prikaz podataka 017. Neki temeljni statistički postupci u znanstvenom istraživanju odabir uzorka prikupljanje podataka određivanje mjerne ljestvice
ВишеZADACI ZA VJEŽBU 1. Dokažite da vrijedi: (a) (A \ B) (B \ A) = (A B) (A C B C ), (b) A \ (B \ C) = (A C) (A \ B), (c) (A B) \ C = (A \ C) (B \ C). 2.
ZADACI ZA VJEŽBU. Dokažite da vrijedi: (a) (A \ B) (B \ A) = (A B) (A C B C ), (b) A \ (B \ C) = (A C) (A \ B), (c) (A B) \ C = (A \ C) (B \ C).. Pomoću matematičke indukcije dokažite da za svaki n N vrijedi:
ВишеDržavna matura iz informatike
DRŽAVNA MATURA IZ INFORMATIKE U ŠK. GOD. 2013./14. 2016./17. SADRŽAJ Osnovne informacije o ispitu iz informatike Područja ispitivanja Pragovi prolaznosti u 2014./15. Primjeri zadataka po područjima ispitivanja
Више1
Podsetnik: Statističke relacije Matematičko očekivanje (srednja vrednost): E X x p x p x p - Diskretna sl promenljiva 1 1 k k xf ( x) dx E X - Kontinualna sl promenljiva Varijansa: Var X X E X E X 1 N
ВишеUvod u statistiku
Uvod u statistiku Osnovni pojmovi Statistika nauka o podacima Uključuje prikupljanje, klasifikaciju, prikaz, obradu i interpretaciju podataka Staistička jedinica objekat kome se mjeri neko svojstvo. Svi
Више(Microsoft Word - Dr\236avna matura - kolovoz osnovna razina - rje\232enja)
5 5: 5 5. B. Broj.5 možemo zapisati u obliku = =, a taj broj nije cijeli broj. 0 0 : 5 Broj 5 je iracionalan broj, pa taj broj nije cijeli broj. Broj 5 je racionalan broj koji nije cijeli broj jer broj
ВишеVELEUČILIŠTE VELIKA GORICA REZULTATI STUDENTSKE ANKETE PROVEDENE NA VELEUČILIŠTU VELIKA GORICA ZA ZIMSKI SEMESTAR AKADEMSKE 2013/2014 GODINE 1. Uvod E
REZULTATI STUDENTSKE ANKETE PROVEDENE NA VELEUČILIŠTU VELIKA GORICA ZA ZIMSKI SEMESTAR AKADEMSKE 2013/2014 GODINE 1. Uvod Evaluacijska anketa nastavnika i nastavnih predmeta provedena je putem interneta.
Више35-Kolic.indd
Sandra Kolić Zlatko Šafarić Davorin Babić ANALIZA OPTEREĆENJA VJEŽBANJA TIJEKOM PROVEDBE RAZLIČITIH SADRŽAJA U ZAVRŠNOM DIJELU SATA 1. UVOD I PROBLEM Nastava tjelesne i zdravstvene kulture važan je čimbenik
Више2. Globalna svojstva realnih funkcija Denicija 2.1 Za funkciju f : A kaemo da je:! R; A R ome dena odozgor ako postoji M 2 R takav da je (8x 2 A) (f (
2. Globalna svojstva realnih funkcija Denicija 2.1 Za funkciju f : A kaemo da je:! R; A R ome dena odozgor ako postoji M 2 R takav da je (8x 2 A) (f (x) M) ; ome dena odozdol ako postoji m 2 R takav da
ВишеAlgebarski izrazi (4. dio)
Dodatna nastava iz matematike 8. razred Algebarski izrazi (4. dio) Aleksandra-Maria Vuković OŠ Gornji Mihaljevec amvukovic@gmail.com 12/21/2010 SADRŽAJ 7. KVADRATNI TRINOM... 3 [ Primjer 18. Faktorizacija
ВишеNeuronske mreže
Neuronske mreže: Genetički algoritmi Prof. dr. sc. Sven Lončarić Fakultet elektrotehnike i računarstva sven.loncaric@fer.hr http://ipg.zesoi.fer.hr 1 Uvod U mnogim primjenama pojavljuje se problem optimizacije
ВишеТРОУГАО БРЗИНА и математичка неисправност Лоренцове трансформације у специјалној теорији релативности Александар Вукеља www.
ТРОУГАО БРЗИНА и математичка неисправност Лоренцове трансформације у специјалној теорији релативности Александар Вукеља aleksandar@masstheory.org www.masstheory.org Август 2007 О ауторским правима: Дело
ВишеStručno usavršavanje
TOPLINSKI MOSTOVI IZRAČUN PO HRN EN ISO 14683 U organizaciji: TEHNIČKI PROPIS O RACIONALNOJ UPORABI ENERGIJE I TOPLINSKOJ ZAŠTITI U ZGRADAMA (NN 128/15, 70/18, 73/18, 86/18) dalje skraćeno TP Čl. 4. 39.
Више