Umjetne neuronske mreže Umjetna ntelgencja Matko Bošnjak, 2010.
Uvod Automatzrana obrada podataka pogodna za zvršavanje na računalu Neautomatzrane obrade podataka zvršavaju žvčan sustav procesranje prrodnoga jezka rješavanje problema prepoznavanje lca čovjek obavlja u 100-200 ms (100ms potrebno za raspoznavanje lca majke!) računalu treba vše vremena, a točnost je uptna td. Tražmo koncept obrade podataka slčan funkconranju mozga...da l je moguće koprat rad mozga? krenmo s jednostavnjm Bološke neuronske mreže bološk organzm, žvčan sustav Umjetne neuronske mreže prmtvne mtacje bološkh neuronskh mreža pokušavaju prblžt računala mogućnostma mozga mtacjom njegovh procesnh elemenata na jako pojednostavljen načna
Usporedba mozak -računalo Mozak zvršava obradu podataka na potpuno drugačj načn od konvenconalnh dgtalnh računala (von Neumannova računala) gradben element broj veza energetska Potrošnja Mozak 10 11 neurona 10 14 snaps (10 3 po neuronu) Računalo 781M tranzstora (Core 7) 32 10-16 J po operacj 10-6 J po operacj brzna prjenosa ms cklus ns cklus načn rada serjsk paralelno uglavnom serjsk tolerancja na pogreške da ne sgnal analogn dgtaln sposoban učt da malo svjestan/ntelgentan u većn slučajeva ne (još?)
Bološka pozadna Dendrt prmaju sgnale drugh neurona Akson prenos mpulse do snaptčkh termnala On zatm prenose sgnale na dendrte drugh neurona
Umjetn ekvvalent McCulloch-Ptts model neurona (1943.) Threshold Logc Unt (TLU) Analogja: sgnal su numerčke vrjednost (x n ), jakost snapse opsuje težnsk faktor (w n ), tjelo neurona je zbrajalo (Σ), a akson aktvacjska funkcja (ϕ) x 1 x 0 =1 x 2 w 2 w 1 w 0 net = n = 0 w x aktvacjska funkcja φ(.) zlaz o = ϕ( n = 0 w x ) w n x n
Perceptron Najjednostavnj oblk neuronske mreže Umjetn neuron s funkcjom praga kao aktvacjskom funkcjom 1957, Rosenblatt x 1 x 0 =1 w 1 w 0 x 2 w 2 net = n = 0 w x 1 o = 0 n = 0 n = 0 w x w x 0 < 0 w n x n
Reprezentacjska moć perceptrona Pogledajmo malo poblže zlaz perceptrona 1 o = 0 n = 0 n = 0 w x w x 0 < 0 To je jednadžba deczjske hperravnne u n-dmenzonalnom prostoru n = 0 n = 0 w x w x 0 x C < 0 x C n = 0 w x = 0 Perceptron omogućava klasfkacju! SAMO lnearno odvojvh razreda 1 2 x 2 C 1 x 1 U dvje dmenzje deczjsk pravac: w 0 + w1 x2 + w2 x2 = 0 C 2
Perceptron? I što ćemo s perceptronom? Naučt ga! Čovjek uč tj. usvaja znanja, vještne...navke A neuronska mreža (za početak perceptron)? Hebbova teorja Učt znač mjenjat jakost veza adaptacja slobodnh parametara mreže (težna) kroz kontnuranu stmulacju okolne Paradgme učenja: učenje pod nadzorom učenje bez nadzora... Znač trebamo mjenjat težnske faktore
Učenje perceptrona Prmjer za učenje: (x, t) xje ulazn vektor, tje željen zlaz Perceptron za određen prmjer daje zlaz (o), a m znamo što želmo dobt na zlazu (t) razlka nam govor o potreb korgranja težna ukolko nema razlke, sve je u redu ukolko ma, moramo radt korekcju x 1 w 1 x 0 =1 w 0 w w + w w = η( t o) x stopa učenja x 2 w 2 net = n = 0 w x 1 o = 0 n = 0 n = 0 w x w x 0 < 0 w n x n
Učenje perceptrona -algortam PERCEPTRON(skup za učenje, η) Postav težne na nasumčno odabrane vrjednost dok nsu sv uzorc spravno klasfcran za svak uzorak z skupa učenja Klasfcraj uzorak perceptronom ako je uzorak spravno klasfcran nastav sa sljedećm uzorkom nače prmjen korekcju: w w + η( t o) x Algortam konvergra u konačnom broju koraka ako su prmjer za učenje lnearno separabln ako je η dovoljno malen (Mnsky Papert, 1969.)
Zašto baš tako? x 2 w w + η( t o) x x 2 (-1,3) (-1,3) (1,1) x 1 (1,1) x 1 (-2,-1) (5,-2) -3 + x 1 + x 2 = 0 (-2,-1) (5,-2) -2 + 2x 1 +2x 2 = 0 x 2 x 2-3 -3x 1 +4x 2 = 0 (-1,3) (-1,3) (1,1) (1,1) x 1 x 1 (-2,-1) (5,-2) (-2,-1) (5,-2) -2 + 2x 1 +2x 2 = 0
Gradjentn spust delta pravlo Prethodn algortam ne konvergra za lnearno neseparablne prmjere Zato uvodmo gradjentn spust pretraga prostora hpoteza (težna) za pronalazak težna koje najbolje odgovaraju podacma za učenje U ovom slučaju korstmo perceptron BEZ aktvacjske funkcje lnearna jednca (tzv. Adalne) o n = = 0 w x Pogreška učenja hpoteza (težna), gdje je D skup za učenje: 1 2 E( w r E ) = ( t d o d ) w = η w = η ( td od ) x 2 d D w d D Gradjentn spust mnmzra E teratvnm modfcranjem težna u malm koracma. U svakom koraku, vektor težna se mjenja u smjeru najvećeg spusta nz plohu pogreške. Proces se nastavlja sve dok se ne dostgne globaln mnmum pogreške d
Gradjentn spust algortam GRADIJENTNI-SPUST(skup za učenje, η) Postav težne na nasumčno odabrane vrjednost dok nje zadovoljen krterj zaustavljanja za svak uzorak z skupa učenja Klasfcraj uzorak perceptronom za svakutežnu w zračunaj za svakutežnu w začunaj w w w + η( t o) x w + w Gradjentn spust (delta pravlo) asmptotsk konvergra prema mnmumu pogreške (bez obzra da l su prmjer za učenje lnearno separabln l ne)
Stohastčk gradjentn spust Problem gradjentnog spusta spora konvergencja u mnmum ne garantra pronalazak globalnog mnmuma u slučaju vše lokalnh mnmuma Stohastčk gradjentn spust gradjentn spust korgra težne nakon zračuna nad svm prmjerma stohastčk gradjentn spust aproksmra gradjentn spust nkrementalnom korekcjom težna Razlke gradjentn spust je sporj jer zahtjeva vše računanja (sve težne odjednom), međutm kako korst prav gradjent, rad veće korake stohastčk gradjentn spust može ponekad zbjeć lokalne mnmume jer korst vše manjh gradjenata pogreške umjesto globalnog
Stoh. Gradjentn spust algortam STOHASTIČKI-GRADIJENTNI-SPUST(skup za učenje, η) Postav težne na nasumčno odabrane vrjednost dok nje zadovoljen krterj zaustavljanja za svak uzorak z skupa učenja Klasfcraj uzorak perceptronom za svakutežnu w zračunaj w w + η( t o) x Delta pravlo još je poznato kao LMS (least-mean-square), Adalne pravlo l Wdrow-Hoff pravlo
Prmjer Neural Networks applet @ www.aspace.org AND OR XOR
Neuronske mreže Defnral smo umjetn neuron, vdjel smo perceptron sa step funkcjom lnearnu jedncu (Adalne) bez aktvacjske funkcje Sve što smo do sada radl je blo vezano uz jedan procesn element Nameće nam se mogućnost povezvanja vše procesnh elemenata No, koj procesn element ćemo korstt kao gradben element takve mreže? lnearnu jedncu? lnearna kombnacja lnearnh funkcja je opet lnearna funkcja nšta od vše ekspresvnost perceptron? aktvacjska funkcja perceptrona (step funkcja) je nedferencjablna pa ne možemo korstt gradjentn spust Treba nam element s nelnearnom dferencjablnom aktvacjskom funkcjom
Sgmodna funkcja Sgmodna (logstčka) funkcja σ(y) σ ( y ) = 1 1 + e ky 1 y glatka funkcja praga nelnearna dferencjablna posjeduje zgodno svojstvo da je monotono raste s ulazom konstanta k utječe na strmnu d σ ( y ) dy = σ ( y )( 1 σ ( y )) No možemo korstt druge funkcje: tanh, lnearna po odsječcma, td.
Topologja neuronskh mreža Ok, mamo nov tp umjetnog neurona, al kako ćemo ga povezat s ostalm neuronma? Izlaz jednog neurona predstavlja (može predstavljat) ulaz sljedećem Podjela neuronskh mreža po topologj (arhtektur mreže) Osnovna podjela acklčke ne sadrže povratne veze cklčke sadrže povratne veze (tema za sebe)
Topologja neuronskh mreža Po broju slojeva jednoslojne ulazn sloj se ne računa jer nje procesn sloj Izlazn sloj Ulazn sloj všeslojne sadrže jedan l vše skrvenh slojeva Ulazn sloj Skrven slojev Izlazn sloj
Topologja neuronskh mreža Po povezanost djelomčno povezane potpuno povezane svak neuron prethodnog sloja povezan je sa svakm neuronom sljedećeg sloja
Topologja neuronskh mreža Prozvoljna acklčka mreža Topologju moguće naučt!! recmo genetskm algortmom Savladal smo gradben element, savladal smo topologju Kako ćemo sada učt mreže?
Učenje neuronskh mreža U slučaju jednoslojne neuronske mreže prlčno jednostavno gradjentn spust Al kako ćemo učt všeslojnu neuronsku mrežu? sto gradjentnm spustom? Tu nalazmo na problem: znamo korgrat težne zlaznh neurona jer kod njh točno znamo znos pogreške, međutm kolka je pogreška za skrvene neurone? Iz čega nju računat? Formula pogreške učenja hpoteza (težna) E 1 ( w r 2 ) = ( t kd o kd ) d 2 j d D k output w j problem všestrukh lokalnh mnmuma zato ćemo korstt stohastčk gradjentn spust ovs o zlaznom sloju...a skrven? w E = η
Backpropagaton Problem: nepoznat željen odzv neurona u skrvenom sloju Rješenje: pogreška se može procjent na temelju pogrešaka neurona u sljedećem sloju s kojma je skrven neuron spojen 7 2 5 0.5 0.7 0.9 0.8
Backpropagaton algortam BACKPROPAGATION(skup za učenje, η) Incjalzraj težnske faktore na male slučajne vrjednost dok nje spunjen uvjet zaustavljanja za svak(x, t) z skupa za učenje Izračunaj zlaz o u za svaku jedncu umreže za svaku zlaznu jedncu k zračunaj pogrešku δ k o k ( 1 ok )( tk ok ) za svaku skrvenu jedncu h zračunaj pogrešku δ h o h (1 o h ) w δ sh s s Downstream( h) Ugod svak težnsk faktor w j w j w j + w j gdje je w j = ηδ x j j
Konvergencja lokaln mnmum Backpropagaton garantra konvergencju SAMO u lokaln mnmum ne mora nužno doseć globaln mnmum Unatoč tome, backpropagaton je u praks zuzetno efektvna metoda aproksmacje funkcja Tu se možemo osvrnut na korak algortma Incjalzraj težnske faktore na male slučajne vrjednost Zašto na male slučajne vrjednost? na početku gradjentnog spusta, mreža predstavlja vrlo glatku funkcju pogledat sgmodnu funkcju (18) Heurstke za nadjačavanje problema lokalnh mnmuma dodavanje momenta u pravlo korekcje težna uporaba stohastčkog gradjentnog spusta učenje všestrukh mreža pa odabr najbolje (l upotreba ansambla)
Reprezentacjska moć Kakve sve funkcje mogu neuronske mreže reprezentrat? odgovor dakako ovs o topologj mreže generalno: boolean funkcje kontnurane funkcje prozvoljne funkcje Neuronske mreže mogu aproksmrat prozvoljnu funkcju prozvoljnom precznošću (Kolmogorovljev egzstencjaln teorem)
Reprezentacja skrvenog sloja Interesantno je zagledat se u skrven sloj znamo što su zlazn ulazn sloj, al što je skrven? Backpropagaton korgra težne tako da defnra neurone skrvenog sloja što efektvnje u svrhu mnmzacje kvadratne pogreške E To ga vod prema defncj skrvenog sloja koja nje eksplctno zadana ulazom, al je zgrađena tako da na najbolj načn predstav značajke prmjera za učenje koj su najvažnj za učenje cljne funkcje Automatsko otkrvanje korsne reprezentacje skrvenog sloja je ključna sposobnost všeslojnh mreža
Dekoder Prmjer
Krterj zaustavljanja Fksn broj teracja petlje ok, al što možemo očekvat od takve mreže ako o grešc ne znamo nšta unaprjed? Unaprjed određena pogreška skupa za učenje zaustavljamo učenje kada pogreška padne spod praga Unaprjed određena pogreška skupa za testranje također zaustavljamo učenje kada pogreška padne spod zadanog praga Krterj zaustavljanja je dostan važan jer premalo teracja može neznatno smanjt pogrešku tme dobvamo lošju mrežu nego bsmo mogl prevše može odvest u overfttng
Generalzacja overfttng Svojstvo dobre klasfkacje za nepoznate ulaze zove se generalzacja Clj generalzacje: nterpolrat raspoložve podatke najjednostavnjom krvuljom Prenaučenost (eng. overfttng) prevelk broj prmjera za učenje (eng. overfttng) uzrokuje gubtak svojstva generalzacje, UNM postaje stručnjak za podatke z skupa za učenje forsranje što manje pogrešne na skupu za učenje mreža postaje ekspert za naučeno (štreber), al loše generalzra zlaz zlaz ulaz ulaz
Overfttng Kako se rješt overfttnga? weght decay smanjvanje težna u svakoj teracj za nek malen faktor (sprječavamo kompleksne aproksmacje) uvođenje seta za valdacju daje nam mjeru pogreške za vrjeme učenja počnje rast kada mreža uč posebnost skupa za učenje pogreška valdacja učenje br. teracja
Prmjer XOR XOR
Mal readng Prmjer
Malo detaljnj prmjer ZmajMathOCR prepoznavanje evaluacja rukom psanh matematčkh zraza scrtavanje funkcja jedne varjable
Malo detaljnj prmjer ulazn sloj skrven sloj zlazn sloj...... z zlazn vektor 255 var 16
Prmjene Klasfkacja uzoraka optčko prepoznavanje znakova raspoznavanje govora/govornka detekcja QRS kompleksa Klasterranje (engl. clusterng) rudarenje podataka kompresja podataka Aproksmacja funkcja Predvđanja kretanje cjena donca vremenske prognoze Optmzacje problem putujućeg putnka (engl. TSP) Asocjatvne memorje Upravljanje kontrola brzne vrtnje motora
Što dalje? Kohonen self-organzng network SOM Radal bass functon (RBF) Recurrent networks Hopfeld Echo state network Long short term memory network Assocatve memory Stochastc neural network Weghtless networks Instantaneously traned networks Neuro-fuzzy networks...
Lteratura Machne learnng, Tom. M. Mtchell, McGraw-Hll, 1997 Predavanja z kolegja Strojno učenje Tom M. Mtchell, Carnege Mellon Unversty http://www.cs.cmu.edu/%7eawm/10701/sldes/nnets-10-4-05.pdf Neuronske mreže, predavanja, Sven Lončarć http://nm.zeso.fer.hr/predavanja.html Pogledajte: Neural Networks @ AIspace http://www.aspace.org/neural/ndex.shtml