PV021: Neuronové sítě Tomáš Brázdil i Cíl předmětu ► Na co se zaměříme ► Základní techniky a principy neurónových sítí (NS) ► Přehled základních modelu NS a jejich použití ► Co si (doufám) odnesete ► Znalost základních modelu NS (Perceptron, vícevrstvá sít', Hopfieldova sít', Boltzmannuv stroj, Kohonenova mapa) ► Znalost jednoduchých aplikací techto modelu ► Znalost základních principu uccení NS - Prehled elementárních „implementaccních" technik pro ucření a aplikaci NS ► Základní literatura: Jirí Šíma a Jan Neruda, Teoretické otázky neuronových sítí http://www2.cs.cas.cz/~sima/kniha.pdf (Nás bude zajímat převážne (Část I.) 2 Základy neuronových sítí ► Základní přehled a motivace ► Biologický neuron ► Formální neuron ► Neuronové síte a jejich dynamika 3 Co jsou umělé neuronové sítě ► Umělý neuron je hrubou matematickou aproximací biologického neuronu. ► (Umělá) neuronová sít' se skládá ze vzájemne propojených (umelých) neuronu. "Schopnosti" síte jsou zakódovány v síle spoju mezi neurony. Zdroj obrázku: http://tulane.edu/sse/cmb/people/schrader/ 4 Proč umělé neuronové sítí? ► Modelování biologických neuronových sítí (computational neuroscience). ► zjednodušený matematický model pomáhá identifikovat dUležité mechanismy ► Jak mozek přijímá a zpracovává informace? ► Jak uchovává informace? ► Jak se mozek vyvíjí? ► ► neurovedy jsou silne multidisciplinární - precizní (matematický) popis usnadnuje komunikacimeziodborníky na jednotlivé podoblasti 5 Proč umělé neuronové sítí? „Inženýrské" aplikace neuronových sítí. ► jedineCné vlastnosti biologických sítí vhodne dopinují standardní architekturu pocítacu ► umeié neuronové síte byly (a jsou) aplikovány v mnoha oblastech. ► rozpoznávání vzoru (pattern recognition) - rozpoznávání reci, psaného textu, sonarových signálu ► predikce vývoje ccasových řad - vývoj cen akcií, menových kurzu, pocasí ► další aplikace ve financcnictví - analýza rizik, delení klientu do specifických skupin »• řízení - robotika, řízení výrobních procesii ► analýza dat - komprese, dolování znalostí, redukce dimenze dat ► redukce šumu - ECG, obraz, zvuk ► 6 Významné vlastnosti neuronových sítí ► Masivní paralelismus ► mnoho pomalých výpočetních prvkU zpracovává informace paralelne na mnoha úrovních ► Adaptace a ucení ► díte se naucí poznat králíka poté, co se mu ukáže nekolik králíku ► Schopnost generalizace ► po shlédnutí nekolika králíku je díte schopno poznat další (jiné) králíky ► Odolnost vuci nepřesnosti vstupu ► rozmazaná fotka králíka muže být stále klasifikována správne jako obraz králíka ► Odolnost vuci poškození ► mnoho experimentu prokázalo, že i poškozená neuronová sít' je stále schopna uspokojive fungovat ► poškozená sít' se muže přeadaptovat, stávající neurony mohou převzít funkcipoškozených 7 Biologická neuronová síť ► Nervová soustava člověka se skládá z přibližně 1011 neuronu (centimetr krychlový lidského mozku obsahuje až 50 milionu nervových bunek) ► Každý neuron je spojen s približne 104 neurony ► Neurony jsou velmi komplexní systémy Velmi hrubý popis funkce nervové soustavy: ► Vnejší podnety jsou prijímány receptory (napr. bunky oka). ► Informace jsou dále prenášeny pomocí periferní nervové soustavy (PNS) do centrální nervové soustavy (CNS -mícha, mozek) kde jsou zpracovávány (integrovány) ► Po zpracování informace jsou (pomocí PNS) prípadne aktivovány efektory (napr. svalové bunky) 8 Zdroj: N. Campbell and J. Reece; Biology, 7th Edition; ISBN: 080537146X 9 Mozková kůra Biologický neuron Sumace a akční potenciál ► Klidový potenciál v těle neuronu ~ -70 mV ► Vnější podněty mění potenciál v axonovém hrbolku ► Po prekroCení prahu ~ -55 mV je generován akční potenciál ~ 40 mV ► Poté nastane krátká refrakce ~ -80 mV ► akCní potenciál se šíří axonem, v axonovém zakonCení vyvolá chemický proces, který zmení potenciál v sousedním neuronu Zdroj obrázku: http://www.yaldex.eom/gaines-prograniining/S672323699_ch12lev1sec9.html#ch12fig3® 12 Sumace a akční potenciál - detailněji 1. Pri -55mV se otevrou kanály pro Na+, které se nahrnou dovnitř 2. Při +40mV se Na + kanály uzavrou a K+ otevrou - K+ se vyhrnou ven 3. Pri -80mV se K+ uzavrou, poté iontové pumpy obnoví klidový potenciál Zdroj obrázku: V. Hevern; http://web.lemoyne.edu/~hevern/psy34S_11S/psy34S.html 13 Šíření akčního potenciálu axonem Zdroj: D. A. Tamarkin; STCC Foundation Press 14 Formální neuron bez biasu ► xi,..., xn jsou reálné vstupy („dendrity") ► w-\,...,wn jsou reálné váhy („propustnost synapsí") ► l je vnitřní potenciál; většinou l = Yj/Li WjXj ► y je výstup daný y = o(E) kde o je aktivační funkce; např. ostrá nelinearita 1 í > h; 0 í < h. kde h je reálný práh. 16 Formální neuron (s biasem) práh bias \ T Xi X2 Xn ► x1,...,xn jsou reálné vstupy ► x0 je speciální vstup, který má vždy hodnotu 1 ► w0,w1,...,Wn jsou reálné váhy ► l je vnitřní potenciál; vetšinou l = w0 + Yjn=1 WjXj ► y je výstup daný y = o(l) kde o je aktivaCní funkce; např. ostrá nelinearita 1 í > 0 ; 0 í < 0. ( práh aktivační funkce a je roven 0; reálný práh byl nahrazen vstupem x0 = 1a váhou w0 = -h) 17 Neuron a lineární separace 5> o 5 = o 5< o 5 < o ► vnitřní potenciál n í = Wo + WiXi i=1 zadává sepařaCní nadřovinu v n-řozmemém vstupním prostoru ► v 2d přímka ► v 3d plocha 18 Neuron a lineární separace Zde n = 8 • 8 tedy pocet pixelu v obrazcích. Vstupy jsou binární vektory dimenze n (tmavý bod ~ 1, svetlý bod ~ 0). 19 Neuron a lineární separace wo + L "=i WiXi = 0 A A A wo + L "=1 w,x,- = 0 B B ► (Červená prímka nesprávne klasifikuje ► Zelená klasifikuje správne (muže být výsledkem korekce ucícího algoritmu) 20 Neuron a lineární separace (0,1) 00 (1,1) ► Neexistuje přímka, která by oddělila body 1 od bodU 0. (0,0) (0,1 ) 21 Neuronové sítí? ► Neuronová sít' se skládá z formálních neuronu, které jsou vzájemně propojeny tak, že výstup jednoho neuronu je vstupem obecne více neuronu. ► Architektura síte je urCena poCtem a vzájemným propojením neuronu. ► Stav síte je vektor hodnot všech neuronu. (Stavy síte s n neurony jsou prvky r") ► Stavový prostor síte je množina všech stavu. ► Konfigurace síte je vektor hodnot všech vah v síti. (Konfigurace síte s m spoji jsou prvky rm) ► Váhový prostor síte je množina všech konfigurací. 22 Neuronové sítí? Neurony rozdělujeme na ► Výstupní ► Skryté ► Vstupní 23 Neuronové síte Dynamiku síte delíme do tří režimů ► OrganizaCní ► architektura síte a její prípadná zmena ► Aktivní - poccátecní stav síte (hodnoty neuronu) a jeho zmeny v case (při pevné architektuře a konfiguraci) (mimo jiné urcuje zpusob výpoctu vnitrních potenciálu l a aktivacní funkce a všech neuronu) ► Adaptivní ► pocátecní konfigurace síte (hodnoty vah) a její zmena v cřase (ucření) 24 Organizační dynamika Organizační dynamika určuje strukturu síte. Rozlišujeme dva typy architektury: ► Cyklická (resp. rekurentní), pokud obsahuje orientovaný čyklus. Q—O O ► Acyklická (resp. dopredná) Q O O 25 Organizační dynamika - vícevrstvé síte Výstupní Skryté yi X2 Q O CřQDb Vstupní X2 ► Neurony jsou rozdelenydo vrstev (vstupní a výstupní vrstva, obecne nekolik skrytých vrstev) ► Vrstvy císlujeme od 0; vstupní vrstva je nultá - Napr. třívrstvá sít' se skládá z jedné vstupní, dvou skrytých a jedné výstupní vrstvy. ► Neurony v i-té vrstve jsou spojeny se všemi neurony ve vrstve i +1. ► Vícevrstvou sít' lze zadat pocty neuronu v jednotlivých vrstvách (napr. 2-4-3-2) 26 Aktivní dynamika Aktivní dynamika urcuje, jakým zpusobem síť pocítá. Mejme sít' s n neurony z nichž k je vstupních a i výstupních. ► Vstup síte je vektor k reálných císel, tedy prvek Rk. (nekdy se omezíme pouze na jistou podmnožinu rk) ► Vstupní prostor síte je množina všech vstupu. ► Počáteční stav Vstupní neurony jsou nastaveny na hodnoty ze vstupu síte (každá složka vstupu má přiřazen príslušný vstupní neuron) Ostatní neurony jsou iniciálne nastaveny na 0. 27 Aktivní dynamika - výpoCet ► VýpoCet (obvykle) probíhá v diskrétních krocích. V každém kroku se provede následující: 1. Podle pravidla aktivní dynamiky je vybrán jeden neuron (sekvencní výpocet) nebo více neuronu (paralelní výpocet). 2. Vybraný neuron zmení svijj stav v závislostina hodnotách svých vstupu. (Hodnota neuronu, který nemá vstupy, zustává konstantní.) Výpocet je koneCný pokud se od jistého kroku dál nemení stav síteř. ► Výstup sítě je vektor hodnot všech výstupních neuronu (tedy prvek R). Výstup se mení v pnůbehu výpoctu! Pro vícevrstvé síte používáme následující pravidlo aktivní dynamiky: V i-tém kroku vyhodnoť práve všechny neurony v i-té vrstve. 28 Aktivní dynamika - funkce síte Definice Mejme neuronovou sít s n neurony z nichž k je vstupních a i výstupních. Nechť A c Rk a B c Ri. Předpokládejme, že výpoCet této síte skoncípro každý vstup z A. Řekneme, že tato síť pocítá funkci F : A — B pokud pro každý vstup v e A je F (v) výstupem síte po skoncení výpoctu. Podle toho, zda je funkce síte diskrétní nebo spojitá rozlišujeme diskrétní a analogové neuronové síte. Příklad 1 Tato síť poCítá funkci z R2 do R. 29 Aktivní dynamika - aktivaCní funkce Aktivní dynamika urcuje aktivacní funkci o pro každý neuron. ► Ostrá nelinearita ► ► Logistická sigmoida o(£) =-1—— kde A e R je prametr strmosti. 1 + e_A'« Hyperbolický tangens 30 Aktivní dynamika - vnitrní potenciál Aktivní dynamika určuje způsob výpočtu vnitrního potenciálu £ každého neuronu. Pokud nebude uvedeno jinak, předpokládáme, že Pozdeji využijeme další možnosti, např. £ = ||x - w|| kde |||| je daná vektorová norma (nejčasteji Euklidovská), x = (x1,...,xn) jsou vstupy neuronu a W = (w1r..., wn) jsou váhy. n 31 Aktivní dynamika - XOR 0101 / X1 0001010101(11 -2 1010 1001 AktivaCní funkce je ostrá nelinearita o(í) = 1 í > 0 ; [0 í< 0. Síť poCítá funkci XOR(x1, x2) X1 X2 y 1 1 0 1 0 1 0 1 1 0 0 0 1 32 Neuron a lineární separace 3 - - 2x2 = 0 33 Aktivní dynamika - príklad Aktivacní funkce ostrá nelinearita í > 0; í < 0. 34 Adaptivní dynamika Adaptivní dynamika urcuje, jakým zpusobem se sít' ucí. ► počáteční konfigurace váhy mohou být nastaveny bud' náhodneř nebo na základeř předbežné znalostivstupu síte ► učící pravidlo pro (postupnou) adaptaci vah cílem je adaptovat váhy tak, aby sít' poccítala danou funkci 35 mm m m r m mm \S r r ■ I I Adaptivní dynamika - ucíci pravidla ► ucení s ucitelem ► Požadovaná funkce je zadána množinou tréninkových vzorů což jsou dvojice tvaru (vstup, výstup). - Při ucení se hledá konfiguracisíte, která nejlépe odpovídá daným vzorům (vzhledem k danému kvalitativnímu kritériu). ► ucení bez ucitele ► Tréninková množina obsahuje pouze vstupy síte. - Cílem je odhalit strukturu v množine vstupu (shlukování, samoorganizace) 36 Ucení s uCitelem - ilustrace A A A A B B B m ► klasifikace v rovine pomocí jednoho neuronu ► tréninkové vzory jsou tvaru (bod, hodnota) kde hodnota je bud 1 nebo 0 podle toho zda je bod ze skupiny A nebo B po prředložení nesprávneř klasifikovaného vzoru skupiny A (cřervená prřímka), ucřící algoritmus pootocří přrímku ve smeřru nesprávneř klasifikovaného bodu (zelená přrímka). ► 37 Učení bez učitele - ilustrace A A A • X ' A N X X B B X B hledáme dva reprezentanty „shluku" červené křížky odpovídají reprezentantům pred aplikací učícího algoritmu, zelené po aplikaci učící algoritmus muže např. napočítat množinu bodu, které jsou nejblíže danému reprezentantovi a potom reprezentanta posunout do težište této množiny bodu 38 Výhody umelých neuronových sítí Masivní paralelismus ► neurony mohou být vyhodnocovány soucasne Adaptace a ucení - existuje mnoho ucících algoritmu, které „programují" neuronové síte na základe příkladů požadovaného chování Schopnost generalizace a odolnost vuci nepřesnosti vstupu - informace jsou v sítikódovány približne pomocí vah mnoha neuronu ► na vstup podobný vstupu tréninkového vzoru, reaguje naucená sít' podobným výstupem ► takto je schopna extrahovat charakteristické vlastnosti dat Odolnost vuci poškození ► poškození se obvykle projevuje postupnou ztrátou presnostivýsledku ► ► ► ► 39