Neuronové sít a výpočetní inteligence
Transkript
Neuronové sít a výpočetní inteligence
Neuronové sít a výpo etní inteligence Úvod do p edm tu Miroslav Skrbek ©2010 LS2011/12 5.3.2012 verze 1.0 1 Um lá inteligence Um lá inteligence (UI) je obor informatiky zabývající se tvorbou stroj vykazujících známky inteligentního chování. Definice pojmu „inteligentní chování“ je stále p edm tem diskuse, nej ast ji se jako etalon inteligence užívá lidský rozum. P evzato z: wikipedia http://cs.wikipedia.org/wiki/Um%C4%9Bl%C3%A1_inteligence Turing v test (Alan Turing 1950): test, ve kterém za oponou je umíst n stroj a lov k. Jiný lov k (p ed oponou) s ob ma komunikuje (verbáln ). Pokud nerozenáme stroj od lov ka, pak o stroji m žeme hovo it jako o inteligentním stroji. Klasická um lá inteligence je založena na logice, symbolickém po ítání, odvozování, ešení problém – bohužel mnohdy tyto metody vedou k vysoké výpo etní složitosti (prozkoumávání obrovských stavových prostor ). Programovací jazyky pro AI: prolog, lisp, P íklad: šachový stroj, expertní systémy 5.3.2012 verze 1.0 2 Výpo etní inteligence • Je to ást um lé inteligence, která (na rozdíl od tradi ní um lé inteligence založené na symbolickém po ítání) využívá p edevším heuristických algoritm pro ešení problém • Výpo etní inteligence zahrnuje – Neuronové sít (neural networks) – Fuzzy systémy (fuzzy systems) – Evolu ní výpo ty (evolutionary computation). 5.3.2012 verze 1.0 3 ešení reálných úloh Analýza Matematický Popis (lineární rovnice, diferenciální rovnice, relace, …) Úloha Syntéza Program pro po íta ešení (aplikace) Problém: pro adu úloh nelze nalézt matematický popis P íklady: rozpoznej obli ej, nakresli um lecký obraz, rozpoznej, co ekl, i bezpe n automobil, … Pokud p eci jen n jaký matematický popis existuje, nemusí být možné získat ešení z d vodu vysoké opera ní nebo pam ové složitosti algoritmu. 5.3.2012 verze 1.0 4 Jiné ešení je u it model, klasifikátor nebo kontrolér data Úloha Pro r zná data je model, p ípadn kontrolér strukturn stejný a provádí také stejný výpo et. M ní se pouze jeho parametry. U ení Modelu, klasifikátoru, kontroléru ešení (aplikace) Expert Model (modeluje daná data), kontrolér realizuje funkci ízení (na základ vstupních dat generuje ídící signály) P íklad kontroléru: programové vybavení pro autonomního robota P íklad modelu: programové vybavení systému, který ur uje závažnost choroby na základ jejích p íznak (dat z laboratorních m ení nebo vyšet ení) 5.3.2012 verze 1.0 5 P íklad Napišt program, který bude rozpoznávat ru n psané písmo (praktická aplikace – t íd ní obálek na pošt ) Okno 4x4 pixely p edzpracování 32x32 pixel ( ernobílý obr.) ešení: rozpoznávat písmena po íta prost nau íme a nebudeme nic programovat 5.3.2012 verze 1.0 Po et erných pixel v odpovídajícím okn 4x4 v originálním obrázku (bílá 0, erná 16) {0,0,0,0,5,15,1,0,0,0,0,0,14,16,2,0,0,0,1,12,16,16, 2,0,0,1,13,16,12,16,0,0,0,4,13,2,8,13,0,0,0,0,0,0,9 ,13,0,0,0,0,0,0,11,16,0,0,0,0,0,0,4,16,4,0,1} Zdroj dat: UCI databaze (http://archive.ics.uci.edu/ml/datasets/Optical+Recognition+of+Handwritten+Digits) E. Alpaydin, C. Kaynak, Department of Computer Engineering, Bogazici University, 80815 Istanbul Turkey, [email protected], July 1998 6 Zevšeobecn ní (generalizace) • Zevšeobecn ní je vlastnost správ reagovat na neu ená (ale u eným dat m podobná) data – V autoškole se u íme ešit k ižovatky (kreslené); na základ této u ené znalosti jsme schopni projet reálnou k ižovatku bez nehody (tedy alespo v tšina z nás) – V jistém smyslu slova, je možné proložení bod k ivkou chápat jako jistý druh zevšeobecn ní (získáme hodnoty mezi zadanými body, které se nebudou p íliš lišit od skute nosti) Pozn.: na tomto principu ada adaptivních systém pracuje, jen se jedná o mnohorozm rný prostor, kde se prokládá hyperrovinami a hyperplochami. • U ení pozbývá smyslu, pokud u ený systém nemá vlastnost zevšeobecn ní – student se nau í fakta, ale látce nerozumí (neumí znalost použít a nechápe souvislosti) 5.3.2012 verze 1.0 7 Co se obvykle u í ? Model, klasifikátor, kontrolér, agent Model reprezentuje ur itou realitu a je schopen o této realit vypovídat a dávat p edpov di. (model chování osoby, po así, letadla p i letu, p i nehod , …) Klasifikátor za azuje data do t íd (skupin) na základ n jakého pozorování. Vstupním hodnotám p i azuje výstupní kategorii. (p íznaky-druh nemoci, vlastnosti-zví e (rostlina, …), obrázek-písmeno, zvukpromluva, …) Kontrolér (regulátor) na základ sensorických vstup generuje ak ní ( ídící) hodnoty. M že být kompozicí model a klasifikátor . ( ídící ást robota, regulátor ur itého procesu (výrobního, chemického apod., …) Agent funk ní celek (obvykle program nebo kombinace software/hardware), který se umí rozhodovat, hledat ešení, interagovat s okolím a kooperovat s ostatními agenty. (nyní ve výzkumu, kooperace r zných spot ebi v inteligentní domácnosti, agenti vyhledávající neobvyklé aktivity v rozsáhlých sí ových nebo ekonomických prost edích, poskytující ur ité služby, atp.) 5.3.2012 verze 1.0 8 Co znamená u it ? Model/kontrolér Vstupy y = f (x) wij wkl x1 x2 Výstupy y1 y2 Vstup x1 x2 Výstup y1 y2 Vstup x1 x2 Výstup y1 y2 0,1 0,8 0,4 0,2 0,8 0,8 0,2 0,1 0,3 ??? ??? ??? 0,3 0,2 0,4 5.3.2012 verze 1.0 0,4 0,1 0,8 U ení modelu 0,1 0,8 0,9 Použití (aplikace) modelu ??? ??? ??? 9 Neuronové sít a výpo etní inteligence Neuronové sít Miroslav Skrbek ©2010 LS2011/12 5.3.2012 verze 1.0 1 Biologický neuron Axon jiného neuronu T lo bu ky (soma) Ranvier v zá ez axon Myelinová pochva Synapse Dentrity (výb žky na t le bu ky) 5.3.2012 verze 1.0 Jádro (Nucleus) Axonální zakon ení 1835 J. E. Purkyn 2 Funkce neuronu U Ak ní potenciál zeleného neuronu t +40mV U Práh Silná excitace U Ak ní potenciál erveného neuronu -70mV 1ms t 5.3.2012 verze 1.0 Slabá excitace Období, kdy neuron nereaguje (Refractory period) 3 Synapse Axon Dendrit Uvoln ní neurotransmiter pokud neuron “pálí” Neurotransmitery ovliv ují vlastnosti membrány t la neuronu a vedou tak k navýšení (excita ní synapse) nebo snížení (inhibi ní synapse) vnit ního potenciálu neuronu. Synapse vykazují plasticitu, tj. vlastnosti synapse se m ní v ase, mluvíme o procesu adaptace nebo u ení. 5.3.2012 verze 1.0 4 Model neuronu McCulloch-Pitts (1943) Vstupy Inhibi ní synapse Neuron Výstup x1 y x2 x3 Excita ní synapse Neuron pracuje na principu všechno nebo nic (0 – neaktivní (inhibovaný), 1 – aktivní (excitovaný)) Neuron je excitován, pokud více než jeden vstup s excita ní synapsí je aktivní Jakmile je alespo jedna inhibi ní synapse aktivní, neuron nem že být nikdy excitován. Struktura zapojení mezi neurony se nem ní Významné zpožd ní mezi neurony je zpožd ní synapsí P evzato z: Freeman, J. A.,Skapura D. M.: Neural networks. Algorithms, applications, and programming techniques. Addison-Wesley Publishing Company. erven 1992. ISBN 0-201-51376-5 5.3.2012 verze 1.0 5 P íklad Nakreslete neuronovou sí dle McCulloch-Pittse realizující logickou funkci: y = ((a ∨ b) ∧ c) ∨ ¬(d ⇔ e) a a∨b (a ∨ b) ∧ c b y y = ((a ∨ b) ∧ c) ∨ ¬(d ⇔ e) c ( d ∧ ¬e) ∧ (¬d ∧ e) = ¬(d ⇔ e) d ∧ ¬e y = ((a ∨ b) ∧ c) ∨ (d ⇔ e) d ¬d ∧ e e 5.3.2012 verze 1.0 6 Hebovské u ení • Je-li bu ka A na pokraji excitace a bu ka B je opakovan nebo trvale excitovaná, pak se posílí vazba mezi bu kou A a B (bu ka A se stane citliv jší na signál bu ky B) [Donald O. Hebb, Organization of Behavior, 1949] • Tento princip je jedním ze základních u ících princip v um lých neuronových sítích 5.3.2012 verze 1.0 7 Spojité um lé neurony Neuron Vstupy x1 Výstup w1 y w2 x2 w3 x3 Váhy Nelineární výstupní funkce N Perceptron y = S( (Frank Rosenblatt, 50 léta 20. století) wi xi + Θ) Práh i =1 N RBF Neuron ( xi − wi ) 2 ) y = G( i =1 5.3.2012 verze 1.0 8 Výstupní funkce neuronu Odezva neuronu se dv ma vstupy Výstupní funkce - Sigmoida y Do kategorie pat í 1.0 0.8 0.6 Perceptrony 0.4 0.2 5 x2 5 y = S ( x) = 1 1 + e −γ . x Do kategorie nepat í Pozn.: parametr ur uje strmost k ivky. Obvykle konstanta pro všechny neurony v síti. x1 y Výstupní funkce – Gaussova k ivka 1.0 0.8 RBF neurony 0.6 0.4 x2 0.2 3 2 1 1 2 3 2 − y = G ( x) = e 5.3.2012 verze 1.0 x 2σ 2 Pozn.: parametr ur uje strmost k ivky. Obvykle konstanta pro všechny neurony v síti. x1 9 P íklad: spo t te výstup perceptronu x1=0,5 w1 =1,7 y w2 =3,2 x2 =0,8 x3 =1 w3 =-2.5 N Perceptron y = S( wi xi + Θ) = i =1 5.3.2012 verze 1.0 Θ=1,3 1 1 + e −1,5( 0,5.1,7+0,8.3, 2+1.( −2,5)+1,3) 10 Neuronové sít a výpo etní inteligence Neuronové sít Miroslav Skrbek ©2010 LS2011/12 5.3.2012 verze 1.0 1 Lineární a nelineární separabilita 1 Perceptron 1 Perceptron Chyby X2 M X2 Nelineárn separabilní problém Lineárn separabilní problém M X1 Data (p íklad) Kat. M M M … x1 x2 0.1 0.1 0.3 0.2 0.1 0.1 X2 X1 4 perceptrony 0.8 0.6 0.7 0.7 0.6. 0.9 … 5.3.2012 verze 1.0 X1 2 Úkol: ur ete, který problém je lineárn separabilní ? X2 X2 nelineárn X1 P íklad neseparovatelných dat: zjišt ní identity lov ka (jméno a p íjmení) podle jeho výšky. asto najdeme dva lidi r zného jména se stejnou výškou. Pozn.: m íme-li více antropologických dat (nap . ší ku o í, vzdálenost roviny o í od nosu, úst a brady, ší ku lebky v rovin o í apod.) získáme nelineárn separovatelný problém (viz. biometrická data v cestovním pasu). 5.3.2012 verze 1.0 lineárn X2 X1 nelineárn X1 A co tento ? Chyták ! Tohle je neseparovatelný problém Množiny M a promíchány, nelze je odd lit jinak, než prvek po prvku nebo po malých skupinách. astý p ípad, shodná data reprezentují r zné kategorie. 3 Zevšeobecn ní Zevšeobecn ní je schopnost neuronové sít reagovat na neu ená data s minimální chybou. Výstup Data z testovací množiny (neu ená) Data z trénovací množiny Data z trénovací množiny Výstup vstup Neuronová sí s dobrou schopností zevšeobec ovat (=> kvalitní model) 5.3.2012 verze 1.0 Chyba Vstup P eu ená neuronová sí , malá chyba p i u ení, velké chyby p i testování (=> špatný model) 4 Um lá neuronová sí • Dle teorie t ívrstvá neuronová sí m že aproximovat libovolnou funkci, tj. má schopnost modelovat libovolnou závislost vstup-výstup • Neuronová sít se u í na základ p íklad (páry vstupvýstup), nepot ebuje p edem analýzu problému (jak je tomu nap . p i realizaci modelu programem) • U ení je proces, ve kterém se hledají takové hodnoty vah neuron sít , pro které bude rozdíl mezi odezvou neuronové sít a daty minimální • Jsou-li váhy nalezeny, pak p iložíme vstupní data na vstupy sít a dostaneme odezvu (modelu), která nap . napoví jestli hodnota našich akcií poroste (klesne, p ípadn o kolik), pokud na vstupech byla hodnota akcie za posledních n kolik dn 5.3.2012 verze 1.0 5 Neuronové sít Perceptrony Neuronová sí wij x1 x2 Výstupní vrstva wkl y1 x1 y1 x2 Perceptrony odd lují množiny dat y2 RBF neurony Skrytá vrstva y1 x2 5.3.2012 verze 1.0 RBF Neurony reprezentují shluky dat x1 6 Topologie neuronových sítí • S dop edným ší ením – Realizuje mapovací funkci y=f(x) – signál se ší í pouze od vstupu k výstupu – Jednokrokový výpo et od vstupu k výstupu (každý neuron po ítán jen jednou) – realizují funkci, která mapuje vstup na výstup bez ohledu na po adí hodnot p iložených postupn na vstupy • Rekurentní – Má vnit ní stav, mapuje yt+1=f(qt),g(qt+1,xt)=qt – vhodné pro asové ady – Krom dop edných spojení mezi neurony existují i zp tné vazby (signál se ší í sm rem ke vstupu) – Iterativní (opakovaný) výpo et, n které neurony se po ítají vícekrát. 5.3.2012 verze 1.0 7 Co ur uje schopnosti neuronové sít • Topologie – Typ • Dop edná • Rekurentní – Hustota propojení • Úplné propojení • áste né propojení – Po et vrstev – Po et neuron (ve skrytých vrstvách) • Vlastnosti neuron – Typ aktiva ní funkce – Metrika 5.3.2012 verze 1.0 8 Jak velkou neuronovou sí zvolit ? • Po et neuron ve vstupní a výstupní vrstv je dán aplikací, volíme pouze po ty skrytých neuron • Neexistují jednozna ná pravidla • Platí zásada mén je více • Za ínáme s jednou skrytou vrstvou, více vrstev p idáme, pokud jsme nespokojeni s výsledky • Po et neuron ve skryté vrstv by m l odpovídat struktu e ( lenitosti) dat (více shluk pot ebuje více neuron ) snadn jší p eu ení malá generalizace • Více neuron horší model 5.3.2012 verze 1.0 9 Po et neuron v skryté vrstv 1 neuron 4 neurony X2 X2 Perceptrony 2 neurony X1 X2 X1 X2 7 neuron RBF neurony 5.3.2012 verze 1.0 X1 X1 10 X Y Neuronová sí - - Kódování Typická úloha - klasifikace t ída - Dekódování 1 z n X1 x2 x3 x4 0.1 0.2 0.1 -0.2 0.2 -0.8 -0.5 0.4 0.8 -0.1 0.4 0.4 … 0.1 -0.4 0.4 5.3.2012 verze 1.0 0.7 t ída 1 7 3 4 11 Predikce Predikovaná hodnota Neuronová sí - Burzovní index … 0.3,0.8,0.1,0.1,0.2,0.9,0.8,0.5,0.5,0.4 … Zp tná vazba pro u ení Posun o jedno íslo Historie Budoucnost Predikovat lze více budoucích hodnot, nutno po ítat r stem chyby 5.3.2012 verze 1.0 12 Neuronové sít a výpo etní inteligence Neuronové sít Miroslav Skrbek ©2010 15.3.2010 verze 1.0 1 U ení neuronové sít • U ení je optimaliza ní úloha, která najde pro danou trénovací množinu dat, takovou konfiguraci vah, kdy je pr m rná chyba sít p es celou trénovací množinu menší než požadované kriterium • asto používané jsou gradientní metody nebo p írodou inspirované algoritmy (nap . genetický algoritmus) • Požadavek na p íliš nízkou chybu vede k p eu ení, tj. nízké chyby pro data v trénovací množin , pro jiná data vysoké chyby. 15.3.2010 verze 1.0 2 Pojmy v u ení • Vzor – – Vzor je element datového souboru ur eného pro zpracování neuronovou sítí Typicky je to pár vstupní vektor a výstupní vektor. Vstupní vektor dat se p ikládá na vstupy neuronové sít , výstupní vektor reprezentuje požadovanou hodnotu výstup . N které neuronové sít nap . SOM výstupní vektor nepot ebují, pak vzor obsahuje pouze vstupní vektor. • Trénovací množina • Testovací množina • Valida ní množina • Vybavení • Iterace • Epocha • U ení – – – – – – – – Množina vzor ur ená pro u ení neuronové sít Množina vzor ur ená pro testování neuronové sít Množina vzor ur ená pro testování neuronové sít b hem u ení (používá se pro zabrán ní p eu ení) P edložení jednoho vzoru neuronové sítí a výpo et výstupu neuronové sít P edložení jednoho vzoru neuronové sít , provedení vybavení a následn jednoho kroku u ení Provedení iterace pro všechny vzory z trénovací množiny Proces výpo tu váhových (p ípadn jiných) koeficient na základ trénovací množiny U ení se skládá z jedné i více epoch • P eu ení • Lokální minimum • Zevšeobecn ní (generalizace) • Hebbovo pravidlo • Delta pravidlo – – – – – Nadm rná doba u ení (p íliš mnoho provedených epoch u ení), která zp sobí r st chyby pro netrénovaná data (zhoršení zevšeobecn ní) Parazitní minimum na energetické (chybové) hyperploše, jehož hodnota je vyšší než chyba o ekávaného globálního minima. Schopnost reakce správné reakce na neu ená data Pravidlo pro úpravu vah. Posilování vah mezi neurony, které vykazují podobné reakce na stejné podn ty Pravidlo pro úpravu vah v u ícím algoritmu Back Propagation 15.3.2010 verze 1.0 3 P íklad u ení v programu Mathematica 15.3.2010 verze 1.0 4 Matematika: parciální derivace M jme funkci f(x1, x2, x3, …xn) více prom nných. Tato funkce má v bod B=(b1,b2, b3,…,bn) parciální derivaci podle xi, pokud existuje limita ∂f ( x1 , x2 , ∂xi , xn ) = lim h →0 f ( x1 + h, x2 , , xn ) − f ( x1 , x2 , h , xn ) Pro výpo et parciální derivace využíváme stejná pravidla, jako v p ípad funkce jedné prom nné, p i emž všechny prom nné vyjma té, podle které derivujeme, považujeme za konstanty (tj. jejich derivace jsou rovny nule). P íklad: f ( x, y, z ) = 5 x 2 − 8 log( y ) + sin(ωz ) ∂f ( x, y, z ) ∂f ( x, y, z ) 1 ∂f ( x, y, z ) = 10 x, = −8 , = ω cos(ωz ) ∂x ∂y y ∂z 15.3.2010 verze 1.0 5 Matematika: gradient Gradient je diferenciální operátor. Je-li aplikován na funkci f více prom nných, pak je jeho výsledkem vektor parciálních derivací podle všech prom nných funkce f. nabla ∇f ( x1 , x2 , ∂f ∂f , xn ) = , , ∂x1 ∂x2 ∂f , ∂xn Gradient má jasnou geometrickou interpretaci. Je to sm r nejv tšího spádu v daném bod na ploše funkce f. ∇ G ( x , y ) = ∇ (e 15.3.2010 verze 1.0 −( x2 + y 2 ) 2σ 2 )= − x σ2 e −( x2 + y2 ) 2σ 2 ,− y σ2 e −( x2 + y 2 ) 2σ 2 6 Matematika: optimalizace Optimalizace je proces, ve kterém hledáme množinu parametr x1,x2, …, xn tak, abychom minimalizovali tzv. cenovou (cílovou, ú elovou) funkci. Lineární regrese: m jme N bod grafu. Cílem je, co nejoptimáln ji tyto body proložit p ímkou. Cenová funkce je sou et kvadrát chyby mezi prokládající p ímkou a hodnotami zadaných bod . Snadno ešitelné metodou nejmenších tverc Problém batohu: m jme N r zn t žkých p edm t , p i emž každý p edm t má svoji cenu (v K ) a objem. Nalezn te takový výb r p edm t , který se ješt vejde do batohu o daném objemu a zárove má ze všech p ípustných výb r nejv tší cenu. Cenovou funkcí je zde cena p edm t v batohu vetovaná p ípustným objemem batohu. T žko ešitelné - NP problém 15.3.2010 verze 1.0 7 Neuronové sít a výpo etní inteligence Neuronové sít Miroslav Skrbek ©2010 12.4.2010 verze 1.0 1 U ení s u itelem U ení s u itelem je založeno na minimalizaci chyby mezi momentální a požadovanou odezvou neuronové sít . Roli u itele zde hraje požadovaná odezva sít , kterou se snažíme neuronovou sí nau it. V pr b hu u ení zm nami vah minimalizujeme chybu 1 E= 2 M N ( y ( j )i −d i( j ) ) 2 j =1 i =1 Kde N je po et výstup neuronové sít a M je po et vzor v trénovací množin . Pozor ! yi(j) je i-tý výstup j-tého vzoru z trénovací množiny. Pozn.: pro zobrazovací ú ely a ú ely stop kriteria se výše uvedený vzorec transformuje na st ední kvadratickou chybu (RMS). RMS= (2E/M/N), která nabývá hodnoty mezi 0 a 2 a je nezávislá na velikosti neuronové sít (na po tu výstup ) a po tu vzor v trénovací množin . 12.4.2010 verze 1.0 2 Odvození algoritmu Back Propagation xj wij i-tý neuron i Wi(j+1) Aktiva ní funkce yi di - x(j+1) ∂E ∂E ∂yi ∂ϕi = . . ∂wij ∂yi ∂ϕi ∂wij ∂E = −( d i − yi ). yi (1 − yi ).x j ∂wij δi 12.4.2010 verze 1.0 x2 od jiných neuron i i E Pozn.: y(1-y) je derivace aktiva ní funkce, konkrétn sigmoidy a gamma=1. Pro tanh bude tato derivace jiná: (1+y)(1-y). Derivace se odvodí z derivace inverzní funkce (proto je funkcí y a ne x). Ta je totiž jednodušší a lépe se po ítá. 3 Gradientní metoda u ení algoritmem Back Propagation Inicializace vah náhodn ±0.5 E (chyba sít ) Postup v míst nejvyššího spádu ∆w = −η∇E Chyba p ipadající na i-tý neuron Moment <0,1) Alfa Aktualizace vah (delta pravidlo) ∆wij (t + 1) = η * δ i (t ) x j + α∆wij (t ) Zm na váhy mezi i-tým a j-tým neuronem 12.4.2010 verze 1.0 Rychlost u ení <0,1> Eta j-tý vstup neuronu 4 Zp tná propagace chyb do vnit ních (skrytých) vrstev i-tý neuron wij xj δi Aktiva ní yi funkce Wi(j+1) x(j+1) k-tý neuron ∂yi δi = ∂ϕi ∂ϕ k δk k =1 ∂yi N N δ i = yi (1 − yi ) wkiδ k obecn wki w(k+1)i wki δk w(k+1)i Aktiva ní funkce (k+1)-ní neuron δ(k+1) k =1 12.4.2010 verze 1.0 Konkrétn pro Sigmoidu a =1 (gamma), N je po et neuron v následující vrstv , tj. vrstv blíže výstup m yk Aktiva ní funkce yk+1 Pozn.: Delta pravidlo je pro vnit ní vrstvy stejné 5 Algoritmus u ení 1. Náhodn inicializujeme váhy v neuronové síti 2. Vezmeme pár vstup-výstup z trénovací množiny dat a ást vstup p iložíme na vstup sít 3. Vypo teme výstupy sít 4. Porovnáme výstup sít s ástí výstup z páru vstupvýstup (vypo teme odchylku) 5. Na základ odchylky upravíme o kousek váhy sít (získáme o n co lepší ešení) 6. Pokud jsme ješt nevy erpali celou trénovací množinu pokra ujeme bodem 2 7. Pokud je pr m rná chyba p es celou trénovací množinu vyšší než požadované kriterium, pokra ujeme bodem 2 8. Sí je nau ena, konec 12.4.2010 verze 1.0 6 Parametry u ení (u gradientních metod) Rychlost u ení (Eta) Je koeficient, který ur uje o kolik (relativn k velikosti chyby) se má upravit váha neuronu (bod 5.). ím je koeficient v tší, tím rychleji se sí u í (rychleji dosáhne bod 8.). Pozor ! vysoká hodnota, ale m že zp sobit, že se nenajde optimální ešení a bodu 8 se nikdy nedosáhne. P i vysoké rychlosti m že docházet k oscilacím. Trp livost se tedy vyplácí a s nižším koeficientem m žete nalézt ešení spíše než s vysokou hodnotou. Setrva nost (Alfa) Je koeficient, který udává, jakou m rou se má do zm ny váhy zapo ítat její p edchozí zm na. Zm na váhy má dv složky: chybu odezvy sít , která se zapo ítává koeficientem rychlosti u ení a p edchozí zm na váhy. Pokud je zm na váhy malá, dominuje složka chyby sít , v opa ném p ípad , když do asn chyba sít klesne, je váha stále upravována ve velikosti p edchozí zm ny (podobn jako auto ve vysoké rychlosti p ejíždí hrbol). Setrva nost m že pomoci se vymanit z lokálního minima a nalézt lepší konfiguraci vah s menší chybou. 12.4.2010 verze 1.0 7 Pr b h chyby b hem u ení E Sí se nenau ila a u ení skon ilo v lokálním minimu. Sí se nau ila, ale objevily se b hem u ení oscilace. Typicky vysoká rychlost u ení (velká hodnota parametru éta) Správný pr b h chyby, sít se nau ila 12.4.2010 verze 1.0 Epocha 8 Uváznutí v lokálním minimu E Nežádoucí lokální minimum Kuli ka p edstavuje aktuální hodnoty všech vah a posouvá se dle gradientu E, tj. dle gradientu se p i te ke každé váze delta w dle hodnoty gradientu násobeného parametrem eta (to je základní princip algoritmu). Dosp je-li kuli ka do lokálního minima, krok kterýmkoliv sm rem znamená zvýšení chyby a za „kopcem“ algoritmus globální minimum nevidí (z tohoto pohledu je slepý). Algoritmus proto skon í kon í s chybou lokálního minima. asté ešení w Globální minimum chybové funkce. Sem chceme, aby algoritmus dosp l 12.4.2010 verze 1.0 Zavedeme setrva nost (parametr alpha, viz. Delta pravidlo), kuli ka získá setrva nost, která jí udržuje v pohybu nezávisle na gradientu. Zelená kuli ka se setrva ností se bude chovat jako reálná kuli ka s ur itou hmotností, která se kutálí z kopce. Díky setrva nosti vysko í z d lku a pokra uje do globálního minima. Setrva nost musí být ale dostate ná, jinak nep ekoná „kopec“ a bude oscilovat v lokálním minimimu do zastavení. 9 ešení uváznutí v lokálním minimu • Správné nastavení parametr eta a alpha – zvýšení alpha a snížení eta (není to univerzální lék, závisí na úloze, naopak m že vést k nežádoucím oscilacím, mnohdy pom že specifický (experimentáln zjišt ný) pom r eta a alpha) • Výb r vzor z trénovací množiny v náhodném po adí – Obvykle se používá sekven ní (postupný) výb r vzor , kdy se po adí vzor nem ní v pr b hu epochy. Toto n kdy vede „mylným závislostem“, které si neuronová sít b hem u ení vyvodí a to m že n kdy vést do lokálního minima (odpovíte stejn rychle na otázku kolik je 6x9 nebo 9x6). – Výb r vzor se uplatní pouze pokud se váhy aktualizují v každé iteraci, pokud se aktualizují na konci epochy (Batch verze algoritmu), pak na po adí nezáleží. • Strukturou trénovací množiny – Stejné zastoupení vzor ve všech t ídách – Vynechání obdobných vzor v rámci kategorie (z ed ní dat) • Použitím verze gradientní metody s prom nným krokem – Díky konstantnímu parametru eta m žeme považovat krok algoritmu za konstantní (stejn dlouhý), existují druhy algoritm s prom nným krokem. 12.4.2010 verze 1.0 10 P íprava trénovací množiny • Dostupná data rozd líme na – Trénovací množinu – Testovací množinu • Stejné procentní zastoupení vzor ze všech t íd – Selektivní výb r vzor • Nevýhodou je, že neuronová sí se u í jen na zlomku dostupné informace, než je k dispozici – Duplikace • Normalizace vstupních dat – Zm na m ítka (pozor na dynamicky po ítané m ítko, trénovací a testovací množina m že mít odlišné hodnoty) – Transformace p es nelineární funkci (nap . log(x), potla ení velkých hodnot, zd razn ní malých hodnot) 12.4.2010 verze 1.0 11 Alternativy algoritmu Back Propagation • Dávkové (Batch) verze – Základní • B hem epochy se akumulují w pro každou váhu, k aktualizaci vah dojde až na konci epochy. – QuickProp • Fahlman, 1988 – Quasi-Newton • Bishop, 1995, Shepherd, 1997 – Conjugate gradient descent, • Bishop, 1995, Shepherd, 1997 – Levenberg-Marquardt, • Levenberg, 1944, Marquardt, 1963, – Delta-bar-Delta • Jacobs, 1988, Patterson, 1996 12.4.2010 verze 1.0 12 Neuronové sít a výpo etní inteligence Neuronové sít Miroslav Skrbek ©2010 12.4.2010 verze 1.0 1 Asociativní pam ti • P i azují vstupnímu vektoru výstupní, typicky binární vektor • Mají dv varianty – Heteroasociativní • Klí p ichází na zvláštní vstupy – Autoasociativní • Klí je sou ástí hodnoty a není p esn vymezen 12.4.2010 verze 1.0 2 P íklad heteroasociativní pam ti Klí (vektor binárních hodnot) x1-x6 1Vybavení: p iložíme klí a spo teme vástupní hodnotu dle vztahu: N ϕi = wij xi j =0 yi = 1 if ϕi > Θi jinak 0 12.4.2010 verze 1.0 8 prahování y1-y8 Hodnota (vektor binárních hodnot) U ení: pokud váha je binární hodnota (0/1), pak je váha rovna jedné pokud pro tuto váhu vzor i hodnota nabývá hodnoty jedné. Pro spojité váhy, lze nahradit jednovrstvou neuronovou sítí a pro nalezení vah použít nap . gradientní optimaliza ní algoritmus. 3 Hopfieldova sít • • • • Je p íkladem autoasociativní pam ti Klí a hodnota nelze odlišit Význam má pro rekonstrukci (opravu) dat Problémem je nízká pam ová kapacita 12.4.2010 verze 1.0 4 Hopfieldova sí x1 w15 x5 5 Vybavení (jedna iterace): Výstupy neuron nastavíme podle vzoru na binární hodnotu (-1 nebo 1). Nové hodnoty výstup vypo teme dle vztahu: 1 w12 w13 w14 4 w43 U ení je jednorázové pro danou množinu vzor . 2 M wij = w53 w54 x2 w23 3 x3 x4 N xki xkj k = 0 ∀i , j:i ≠ j Kde xki (xkj) je i-tá (j-tá) dimenze k-tého vzoru. Prom nná k iteruje p es všechny vzory trénovací množiny. N wij yi(t −1) ϕi = j =0 1 yi = y ( t −1) i −1 ϕi > 0 ϕi = 0 if ϕi < 0 if if 12.4.2010 verze 1.0 Iterace provádíme opakovan až do ustálení výstup . Pozn: yi(t-1) znamená p edchozí hodnotu yi (tj. pro i=0 se výstup nem ní) 5 Neuronové sít a výpo etní inteligence Neuronové sít Miroslav Skrbek ©2010 26.4.2010 verze 1.0 1 Shluková analýza • D ležitá metoda analýzy dat • eší problém nalezení podobností v neznámých datech • Podobná data typicky leží v prostoru blízko sebe (tvo í shluky) • Zajímají nás parametry shluku jako je st ed (težišt ) a velikost (rozptyl). Vzory v okolí st edu m žeme pomažovat za reprezentanty shluku (typické hodnoty) 26.4.2010 verze 1.0 2 P íklad Máme data z vyšet ení od skupiny pacient a máme zjistit, zda existují takové podskupiny skupiny pacient , kte í mají podobné výsledky vyšet ení. V dalším kroku pak zkoumáme, zda tyto skupiny náležejí k zdravým, i nemocným, p ípadn s jakou závažností nemoci, p ípadn které nemoci. Data pacient s obdobnými p íznaky nemoci budou podobná a budou tvo it shluky. Pacienti, ležící ve st edu shluku reprezentují typického pacienta s danou formou nebo závažností nemoci. O ekáváme, že najdeme vztah mezi výsledky vyšet ení a úsudkem léka e (když to léka pozná musí takový vztah existovat). Pokud nenajdeme vztah shluk ke zdraví pacient , pak patrn bude chybná diagnostická metoda, která dostate n nevypovídá o diagnostikované nemoci. P edpokládáme, že známe spolehliv stav pacient z úsudku léka e, který používá jinou diagnostickou metodu. Jiným p íkladem pak bude zkoumání dat o zákaznících mobilních operátor , kde nám m že nap . tato metoda pomoci nalézt novou cílovou skupinu zákazník . Podobn se m žeme zam it na uživatele Internetu, e-maily (spam), hledání typického chování hacker , apod. 26.4.2010 verze 1.0 3 P íklad shluk v datech Shluk St ed (typický reprezentant) 26.4.2010 verze 1.0 4 K-means algoritmus 1. Odhadneme po et shluk 2. Náhodn vygenerujeme st edy shluk . Po et st ed je roven po tu shluk , st ed je reprezentován vektorem s stejnou dimenzí, jako je dimenze vektor , které tvo í shlukovaná data. 3. Ur íme, k jakému shluku pat í jaký vektor z dat. Daný vektor pat í do toho shluku, k jehož st edu je nejblíže (minimální Euclideovská vzdálenost od daného st edu) 4. Z dat, která náleží shluku vypo teme nový st ed (postupn po složkách pr m r p es všechny vektory shluku) a nahradíme jím p vodní st ed shluku. Toto provedeme pro všechny shluky 5. Body 3 a 4 opakujeme do ustálení (tj. do doby, kdy se st edy posunou o mén než je zadaná hodnota) 6. Ukon íme algoritmus 26.4.2010 verze 1.0 5 RadialRBFBasis Functions (RBF) neurony Výstupní neurony s lineární výstupní funkcí y1 N ( xi − wij ) 2 − yi (rbf) = e y1(rbf) j =1 2σ 2 x1 N ( xi − w ji ) 2 y2 x2 − y j (rbf) = e i =1 2σ 2 N yi = wij y j (rbf) j =1 N ( xi − w ji ) 2 − y j (rbf) = e i =1 2σ 2 Váhy mezi skrytou a výstupní vrstvou se po ítají gradientním algoritmem nebo metodou nejmenších tverc pro lineární jednotky. St edy se po ítají K-means algoritmem (tj. st edy se umís ují do st ed shluk ). Parametr se ur í jako rozptyl shluku. 26.4.2010 verze 1.0 6 Neuronové sít a výpo etní inteligence Neuronové sít Miroslav Skrbek ©2010 17.5.2010 verze 1.0 1 Samoorganizující se mapy (SOM) • SOM se mnohdy nazývá dle autora Kohonenova sí • Reprezentuje neuronovou sít u enou bez u itele • Provádí shlukovou analýzu • Oproti K-means algoritmu není t eba p edem znát po et shluk 17.5.2010 verze 1.0 2 SOM N yi = ( x j − wij ) Fiktivní vazba mezi neurony zp sobená funkcí h(i,b) 2 j =1 ∆wij = α (t )( x j − wij )h(i, b) wij xj Vybavování: Na vstupy p edložíme vzor a vypo teme odezvy. Vít z (neuron s nejmenší odezvou) je reprezentantem shluku, kam vzor pat í. 17.5.2010 verze 1.0 Vít z (reprezentant shluku) Best matching unit (BMU) Neuron s nejmenší odezvou pro daný vstup (t) ur uje rychlost u ení (je prom nná v ase – klesá do nuly). h(i,b) je funkce, která je maximální pokud i je index vít zného neuronu (i = b), pokud je to jiný neuron, pak funkce h klesá se vzdáleností od vít ze. Extrém je 1 pro i=b, 0 jinak. U ení: na vstupy p edložíme vzor a ur íme vít ze. Váhy vít ze posuneme o kousek blíže k u enému vektoru. Krom vít ze upravíme sousední neurony (typicky ím dále, tím mén ). Postup opakujeme do ustálení ( (t) = 0). 3 Algoritmus SOM 1. Inicializujeme váhy neuron náhodnými hodnotami a nastavíme po áte ní hodnotu koeficientu (t). 2. Vybereme vektor z u ící množiny a p iložíme na vstupy sít 3. Vypo teme výstupy neuron minulý slide) (vzorec pro yi, viz. 4. Zjistíme neuron s nejmenší odezvou (to je reprezentant pro vstupní vektor) 5. Pro každý neuron upravíme váhu o slide) wij (viz. minulý 6. Pokud jsme nevy erpali u ící množinu, pokra ujeme bodem 2 7. Snížíme koeficient (t). Pokud je (t) > 0, pokra ujeme bodem 2, op t od po átku u ící množiny. 17.5.2010 verze 1.0 4 Funkce h(i,b) Funkce h(i,b) jak se budou m nit váhy neuron blízkých vít znému neuronu. Jinými slovy, jak se budou prototypy reprezentované neurony posouvat sm rem k u enému vzoru. Nejvíce bude p itahován vít zný neuron, nemén neuron, který je od n ho nejvíce vzdálen. Neurony (pozice a vzdálenost) h(p); p=i-b Typ mexický klobouk 1 2 Zde dochází k odpuzování p -1 -1 p=-2 1 1 p=2 Pokud je funkce h(i,b) záporná, pak jsou nejbližší neurony naopak odpuzovány, aby se vytvo ily bariery mezi shluky. P i u ení se za íná s plochou h(i,b), která se postupn s asem m ní na strm jší (zužuje se). 17.5.2010 verze 1.0 5 Uspo ádání neuron v SOM Lineární m ížka tvercová m ížka Hexagonální m ížka Toroid m ížka V hexagonální a lineární m ížce je vzdálenost mezi sousedními neurony 1 ve všech sm rech. Ve tvercové a toroidní je vzdálenost rovnob žne s osami 1 a uhlop í n dva (Manhattanská vzdálenost) nebo odmocnina ze dvou (Eukleidovská). 17.5.2010 verze 1.0 6 U-matice Shluk 3 Shluk 1 Shluk 2 Slouží k vizualizaci odezvy neuronové sít SOM. Barva neuron v plástu hexagonální m ížky indikuje pr m rnou vzdálenost vah daného neuronu od jeho soused . Sousední neurony s bílou barvou reprezentují shluk (mají podobné váhy, tedy reprezentují stejná vstupní data), tmavé brázdy vzdálených neuron odd lují shluky. Z U-matice je proto možno vy íst po et shluk v datech a neurony, které je reprezentují. Obrázek p evzat z: http://www.cis.hut.fi/jhollmen/dippa/node24.html 17.5.2010 verze 1.0 7 Neuronové sít zohled ující as • Jsou to – rekurentní neuronové sít • Nau í se chování kone ného automatu – Time-delay-neural-networks (TDNN) • Výstup generuje na základ historie dat • Vhodné pro zpracování asových ad – asová ada je posloupnost hodnot xt, kde má význam t asu. Stanovíme-li n jké t=t0 jako sou asnost, pak xt=t je sou asná hodnota, xt<t jsou 0 0 minulé hodnoty (historie) a xt>t jsou hodnoty budoucí 0 • Umí se u it sekvence 17.5.2010 verze 1.0 8 Rekurentní neuronové sít Rekurentní skrytá vrstva Elmanova sí yh1 x1 y1 y2 Vybavení neuronové sít probíhá tak, že nastavíme hodnoty výstupu rekurentních neuron na nulu a pak na vstup p ikládáme postupn vektory a provedíme výpo et y. Pro hodnoty ve zp tných vazbách použijeme hodnoty z p edešlého kroku. Odezva sít tedy nezávisí jen na vstupech, ale taky na p edchozím stavu sít , tj. p edchozích hodnotách ve skryté vrstv . x2 U ení yh4 Jordanova sí je modifikovaná Elmanova sí , která nemá výstupní vrstvu neuron a výstupy se berou rovnou z rekurentní vrstvy. roztrhneme zp tné vazby a u íme algoritmem back-propagation yh(t-1) yh(t) y(t) x(t) 17.5.2010 verze 1.0 9 Sí TDNN y Dop edná neuronová sí X T T T T Sou asná hodnota a historie posledních p ti hodnot 17.5.2010 verze 1.0 T Zpožd ní o jeden krok 10 Neuronové sít a výpo etní inteligence Neuronové sít Miroslav Skrbek ©2010 17.5.2010 verze 1.0 1 Fuzzy Logika Fuzzy logika byla odvozena teorie fuzzy množin (Lotfi A. Zadeh, 1965) Fuzzy množina je rozší ením klasických množin o spojitou hodnotu p íslušnosti, p i emž prvek množiny m že mít nenulovou p íslušnost k více fuzzy množinám. Fuzzy znamená v angli tin neostrý, neur itý, rozmazaný Klasická množina: prvek (x) do množiny pat í, prvek do množiny nepat í 17.5.2010 verze 1.0 Fuzzy množina: prvek do množiny pat í s mírou p íslušnosti m (nap . m=0.6). 2 Funkce p íslušnosti Funkce p íslušnosti je zobrazením množiny prvk do množiny m r p íslušností k množin . Ozna uje ji (x). (x) Pro spojité veli iny Pro diskrétní veli iny 1 x x ∈< 0,1 > 0 17.5.2010 verze 1.0 1 x (x) A 0,1 B 0,3 C 0,8 D 0,3 3 P íklad funkce p íslušnosti P edpokládejme veli inu: teplota (myšleno venkovní teplota vzduchu) Pro tuto veli inu budeme definovat fuzzy množiny: velká zima, zima, teplo, horko. (t) Funkce p íslušnosti pro jednotlivé množiny odlišeny v grafu barevn -50 17.5.2010 verze 1.0 0 20 50 t (°C) 4 Úloha M jme t i fuzzy množiny A, B, C a k nim funkce p íslušnosti zadané analyticky: − µ A ( x) = e x2 0 , 05 − , µ B ( x) = e ( x −0 , 4 ) 2 0 , 06 − , µC ( x) = e ( x −1) 2 0 , 08 (x) 1.0 Dopl te prázdná pole x 0.8 0.6 0.4 0 1 0,3 0,165 0,45 0,017 0,65 B(x) C(x) 3,7.10-6 0,85 0,35 0,21 0,8 0.2 0.0 0.0 A(x) 0.2 0.4 0.6 0.8 1.0 x 17.5.2010 verze 1.0 5 Fuzzy pravidla Levá strana pravidla Pravá strana pravidla If teplota == horko then topit == vubec and chladit == hodne If teplota == horko and vitr == silny then topit == vubec If teplota == teplo then topit == malo If teplota == zima then topit == stredne If teplota == zima and vitr == silny then topit == hodne prom nná Pravidla tvo í lingvistický model, význam jednotlivých termín (zima, teplo, malo, …) vyjad ují funkce p íslušnosti. 17.5.2010 verze 1.0 Fuzzy množina 6 Pojmy fuzzyfikace, inference a defuzzyfikace Fuzzyfikace – p evod hodnot prom nných na míry p íslušnosti Fuzzy inference – vyhodnocení fuzzy pravidel a získání výstupních fuzzy množin Defuzzyfikace – p evod výstupních fuzzy množin na výstupní prom nné Vstupní prom nné (teplota, rychlost v tru, …) Pravidla Výstupní prom nné (topení,chlazení) y1 x1 x2 Fuzzyfikace Inference Defuzzyfikace xn 17.5.2010 verze 1.0 yn Míry p íslušnosti k jednotlivým fuzzy množinám Výstupní fuzzy množiny 7 P íklad fuzzyfikace Vstup 1: Teplota (konkrétní, nap . 25°C) Vstup 2: vítr (konkrétní, nap . 35 m/s) zima zima(25)=0 slabý slabý(35)=0,5 0°C 100 km/hod teplo(25)=0,5 teplo silný 0°C 100 km/hod horko(25)=0,6 horko silný(35)=0,8 vichr vichr(35)=0 0°C 100 km/hod 17.5.2010 verze 1.0 8 Inference If (teplota == teplo) and (vitr == silny) then topit == slab teplo(25)=0,5 silný(35)=0,8 = min( teplo(25), silný(35)) = min(0,5, 0,8)=0,5 Pokud je použita logická spojka or, pak se použije funkce maximum. Pokud se tatáž výstupní prom nná vyskytuje ve více pravidlech, pak se fuzzy množiny p ipadající na jednotlivé výskyty této prom nné vyhodnocují tak, jako by byly spojeny logickou spojkou or (po ítá se maximum). 17.5.2010 verze 1.0 9 Vyhodnocení pravých stran pravidel Výsledná míra p íslušnosti Pro výstupní prom nnou topení malo = 0.2 = 0.2 … then topeni == malo = 0.8 … then topeni ==st edn 1 100% stredn = 0.1 … then topeni ==hodn = 0.8 výsle dek 100% hodn = 0.1 Pozn.: toto je nutno provést pro všechny výstupní prom nné 17.5.2010 verze 1.0 100% 10 Defuzzyfikace Defuzzyfikace se provádí nej ast ji výpo tem t žišt dané fuzzy množiny Obecný vzorec xmax x.µ ( x)dx xt = xmin xmax µ ( x)dx xmin xt1 xt2 xt3 xt4 xt5 xt6 xt7 x Složitý tvar rozložíme na jednodušší geometrické útvary a spo teme díl í t žišt . Pak použijeme vztah N xtk .mk xt = 17.5.2010 verze 1.0 k =1 N mk k =1 Kde mk je plocha geometrického útvaru, který odpovídá t žišti xtk 11 P íklad: spo t te hodnotu pro zadanou fuzzy množinu výstupní veli iny 0,8 0,4 0,2 0 17.5.2010 verze 1.0 40 60 80 100 x 12 P íklad: spo t te hodnotu pro zadanou fuzzy množinu výstupní veli iny 0,9 0,6 0,2 0,1 0 17.5.2010 verze 1.0 40 60 80 100 x 13 Genetický algoritmus • Algoritmus inspirovaný evolu ními teoriemi živo ich • Robustní heuristický optimaliza ní algoritmus • Náro ný na výkon a systémové zdroje po íta e 17.5.2010 verze 1.0 14 Neuronové sít a výpo etní inteligence Neuronové sít Miroslav Skrbek ©2010 17.5.2010 verze 1.0 1 Základní pojmy 1010001001010010100010 Genom (kódovaný p edpis jak sestavit jedince) Operace: mutace, k ížení Jedinec Jedinec Jedinec Jedinec Jedinec 17.5.2010 verze 1.0 Populace jedinc Operace: vyhodnocení cenové funkce (zdatnost, fitness), výb r nejlepších jedinc 2 Selekce • Výb r jedinc do další populace • asto používaná metoda je ruletová selekce (roulette wheel selection). Jedinci se vybírají do nové populace náhodn s pravd podobností danou jejich zdatností (vyšší zdatnost => vyšší pravd podobnost) • Jinou metodou je p evzít do nové populace ur ité procento jedinc s nejv tší zdatností 17.5.2010 verze 1.0 3 Mutace Mutace je náhodná zm na genomu. Jedná se o unární operaci nad genomem. Pro binárn zakódovaný genom je mutace realizována jako zm na náhodn vybraného bitu (p ípadn bit ) v genomu. P vodní genom: 01000100101001 Generátor náhodných ísel generuje 5, zm níme tedy pátý bit (bity po ítáme z leva, nejlev jší je bit 1): Nový genom: 01001100101001 Mutace m že také nap . prodloužit genom p idáním bitu. 17.5.2010 verze 1.0 4 K ížení K ížení je rekombinace genetické informace dvou jedinc . Jedná se o binární operaci. Genom 1: 0010100011100001 Genom 2: 1110001000101101 Náhodn zvolíme bod k ížení Genom : 1110001000100001 Jsou možná i více bodová k ížení (více bod , kde rozd líme genom) 17.5.2010 verze 1.0 5 Základní algoritmus 1. Náhodn vygenerujeme po áte ní populaci jedinc 2. Vyhodnotíme zdatnost u všech jedinc v populaci 3. ást jedinc s nejhorší zdatností odstraníme 4. Populaci doplníme o další jedince (k ížení, mutace, reprodukce) 5. Pokra ujeme bodem 2, pokud není spln na podmínka ukon ení 6. Vezmi jedince s nejlepší zdatností jako výsledné ešení 17.5.2010 verze 1.0 6 Problém batohu Máme následující p edm ty P íklad genomu: P edm t Hmotnost [kg] Cena [K ] A 2 10 B 1 50 V batohu je B a D C 5 5 D 4 100 Zdatnost je: cenaB+cenaD = 50 + 100 = 150 Jaké p edm ty mohu odnést, unesu-li max. 6 kg ABCD Genom:0101 P íklad populace: Genom 1:0101 Genom 2:1101 Genom 3:1001 zdatnost: 150 zdatnost: 0 zdatnost: 110 Pozn: Genom 2: má zdatnost nula, protože p ekra uje limit 6kg. 17.5.2010 verze 1.0 7 Pojem fenotyp a genotyp Genotyp je soubor všech genetických informací (pro ú ely GA lze chápat genotyp = genom jako u jednobun ných živo ich ) Fenotyp je soubor znak chování jedince. Tyto znaky jsou projevem ur ité podmnožiny gen (vloh) z genomu. Pokud nap íklad šlechtíme neuronovou sí pro ízení robota, je genotypem informace popisující, jak neuronovou sít vytvo it (genom typicky popisuje topologii sít ) a n které parametry. Fenotypem pak jsou schopnosti neuronové sít (vytvo ené na základ konkrétního genomu) a ídit robota tak, aby projel p ekážkovou dráhu. Zdatností je v tomto p ípad úsp šnost projetí dráhy. 17.5.2010 verze 1.0 8 Výhody a nevýhody GA • Výhody – Prov uje n kolik ešení najednou (jedno ešení = jeden jedinec v populaci) – Na po átku je celá populace rozprost ena po prostoru ešení, tak je velká pravd podobnost, že n který padne do blízkosti globálního minima – Výb r jedinc do populace se d je na základ výpo tu hodnotící funkce bez žádných specifických požadavk , proto je vhodný pro širokou škálu optimaliza ních úloh – Mezi genotypem a fenotypem m že být matematicky t žko popsatelný vztah 17.5.2010 verze 1.0 • Nevýhody – vysoká pam ová a opera ní náro nost – Vyhodnocení zdatnosti je nutné provést vždy pro všechny jedince 9 Diverzita populace • V n kterých p ípadech se m že celá populace brzy soust edit do oblasti blízké n kterému lokálnímu maximu fitness funkce a tím zabránit nenalezení globálního maxima. Tomu se íká p ed asná konvergence. V tomto p ípad jsou všechny jedinci v tšinou genotypov podobní • Tomu lze zabránit zajišt ním diverzity populace – Nechat p ežít jedince i s nižší zdatností – Zvýšit mutaci na genotypov podobných jedincích nebo podobnost s ostatními jedinci zapo ítávat do zdatnosti (v tší podobnost, menší zdatnost) – Zavést do populace druhy a nenechat je k ížit mezi sebou nebo k ížení omezit 17.5.2010 verze 1.0 10 Diferenciální evoluce • Genetický algoritmu se speciálním typem k ížení jedinc • Vhodný pro spojitou optimalizaci (genom obsahuje íselné hodnoty) • K ížení – Pro jedince x náhodn vybereme z populace jedince a, b, c. – Pro náhodn vybranou dimenzi genomu i ur íme xi=ai+k(bi – ci), kde k je váha diference mezi jedinci – Tak vytvo íme nového jedince, kterého za adíme do populace je tehdy, pokud jeho zdatnost je v tší než je zdatnost x. • Slovn e eno: nového jedince vytvo íme ze základního jedince x tak, že jeho n které geny zm níme na základ t í náhodn vybraných jedinc a,b,c tak, že jedinec a bude tvo it bázi, ke které p i te vážený rozdíl jedinc b,c. 17.5.2010 verze 1.0 11 Genetické programování Genom • • • • Vytvá ení programu nebo dataflow grafu genetickým algoritmem Genom obsahuje instrukce výpo tu Zdatnost vyjad uje rozdíl mezi výsledkem programu a požadovaným výsledkem. Menší rozdíl v tší zdatnost Problémem je, že p i mutaci nebo k ížení m že vzniknout mnoho nefunk ních ešení => navrhnout takové operátory k ížení, které tento negativní jev potla í. Nap . operujeme nad dataflow grafem nikoliv p ímo nad sekvencemi instrukcí. 001 001 010 011 002 011 001 010 002 010 001 011 … Program add a=b,c sub c=a,b mul b=a,c … Liší se výsledek od požadovaného ? 17.5.2010 verze 1.0 12 P íklad dataflow grafu Dataflow graf výpo tu výrazu: y y = sin(x1*x2+x3(x6-x5)) SIN + * x1 17.5.2010 verze 1.0 * x2 - x3 x6 x5 13 Genetický algoritmus pro u ení neuronových sítí • Používá se pro šlecht ní topologie neuronové sít ale i vah • P i návrhu algoritmu je t eba zohlednit, že neuronová sí s dobrou topologií, ale špatn nastavenými vahami, m že mít horší zdatnost, než neuronová sí s horší topologií, ale dob e nastavenými vahami. – Obvykle se šlechtí dvou úrov ov , nejprve topologie, pak se topologie zmrazí a nechá se as algoritmu doladit váhy. Potom se teprve rozhodne o vy azení jedince z populace – Kombinací algoritm : topologie genetickým algoritmem, váhy gradientn (Backpropagation) 17.5.2010 verze 1.0 14 Neuronové sít a výpo etní inteligence Neuronové sít Miroslav Skrbek ©2010 24.5.2010 verze 1.0 1 Particle swarm optimization • P írodou inspirovaný optimaliza ní algoritmus • Modeluje chování hejn pták • Vhodný pro spojitou optimalizaci • Má adu podobností s genetickým algoritmem 24.5.2010 verze 1.0 2 Popis algoritmu • • • • • • Základem je hejno ástic (jedinc , pták ) Každá ástice se pohybuje po spojitém prostoru, kde hledáme ešení. Má tedy svoji rychlost a sm r Každá ástice vyhodnocuje fitness svého ešení v každém bod prostoru, kde se vyskytuje a pamatuje si svoje nejlepší ešení (lbest) Pro všechny ástice se udržuje nejlepší dosud nalezené ešení (gbest, to bude potom výsledným ešením po ukon ení algoritmu) Algoritmus postupuje po krocích, ve kterých se vyhodnocuje nová pozice ástic dle vztahu x(t+1)=x(t)+v(t), v(t)= pv(t-1)+ prp(pp-x(t))+ grg(g-x(t)), kde rp a rg jsou náhodné vektory a p, p, g jsou parametry Rychlost ástice je ovlivn na vzdáleností ástice od jejího nejlepšího ešení lbest ( len pp-x(t)) a vzdáleností od globálního ešení gbest ( len g-x(t)). Jinými slovy ástice je sm rována jak k jejímu lokálnímu, tak ke globálnímu ešení, p i emž parametry p, g ur ují míru ovlivn ní. Náhodné vektory rp a rg vnášejí do pohybu náhodnou složku. Parametr p je mírou setrva nosti ástice 24.5.2010 verze 1.0 3 PSO Náhodná složka pohybu Výsledný sm r pohybu Dosud nejlepší ešení, které jejinec našel Dosud nejlepší ešení (celkové) 24.5.2010 verze 1.0 4 Optimalizace mraven ími koloniemi Ant Colony Optimization (ACO) • • • • • • Algoritmus optimalizace mraven ími koloniemi Mravenec vytvá í ešení tím, že se v u itých krocích (typicky uzlech grafu) náhodn rozhoduje, kterou hranou se vydá. P edstavte si paket v síti (mravenec), který se rozhoduje, kterým portem se vydat k požadovanému cílovému po íta i. Pravd podobnost, kterou hranou se vydá je ovlivn na feromonem (t kavá látka, kterou mravenec klade). Feromon mravenec klade na hrany grafu, a to pokud našel cíl (tedy na zpáte ní cest ). Klade ho o to víc kolik potravy našel. V p ípad p íkladu s paketem by to byla doba, za kterou dosáhl cíle ( ím kratší, tím více feromonu). Pak budou ostatní pakety chodit po feromonové cest . Feromon v ase vyprchává, tzn. pokud n který mravenec nanese feromon a další ho nenásledují, protože našli lepší ešení, pak z cesty, která není navšt vována feromon vyprchá. Fermomon je ur itou formou pam ti (akumuluje zkušenost).T kavost feromonu je ur itou formou zapomínání. To umož uje algoritmu se pr b žn adaptovat na nové podmínky. 24.5.2010 verze 1.0 5 Mraven í kolonie Po áte ní ešení Cílové ešení Ší kou ervené áry je vyzna eno množství feromonu 24.5.2010 verze 1.0 6 Popis algoritmu τ iα, jηiβ, j pi , j = τ iα, jηiβ, j τ iα, j ... množství feromonu na hran i, j η iβ, j ... díl í cena ešení j i,j, i Aktualizace feromonu pi,j j T kání feromonu τ i , j = (1 − ρ )τ i , j + ∆τ i , j 24.5.2010 verze 1.0 P írustek feromonu od mravence (pokud projde hranou) 7 Aplikace • Logistika • Dopravní systémy • Sm rování v sítích • ešení standardní úlohy obchodního cestujícího (TSP – Travelling Salesman Problem) 24.5.2010 verze 1.0 8 P íklad Hodnoty i,j jsou vzdálenosti mezi m sty M jme p t m st se vzdálenostmi (viz. graf) η1,3 = 11 1 8km 2 η 4, 2 = 13 5km 11km 23km 4km 13km 3 5 9km 3km V jakém po adí m sta projít, abychom urazili minimální vzdálenost ? 24.5.2010 verze 1.0 4 d(1,2,3,4,5)=24km d(1,4,3,2,5)=41km d(1,5,4,2,3)=31km … (n-1)! možností ešení: pošleme mravence, mravenec nesmí projít jedno m sto dvakrát 9