PV021: Neuronové sítě Tomáš Brázdil i Cíl předmětu ► Na co se zaměříme ► Základní techniky a principy neuronových sítí (NS) ► Přehled základních modelů NS a jejich použití ► Co si (doufám) odnesete ► Znalost základních modelů NS (Perceptron, vícevrstvá síť, Hopfieldova síť, Boltzmannův stroj, Kohonenova mapa) ► Znalost jednoduchých aplikací těchto modelů ► Znalost základních principů učení NS ► Přehled elementárních "implementačních" technik pro učení a aplikaci NS ► Základní literatura: Jiří Ší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ážně Část I.) Základy neuronových sítí ► Základní přehled a motivace Biologický neuron ► Formální neuron ► Neuronové sítě a jejich dynamika Co jsou umělé neuronové sítě ► Umělý neuron je hrubou matematickou aproximací biologického neuronu. ► (Umělá) neuronová síť se skládá ze vzájemně propojených (umělých) neuronů. "Schopnosti" sítě jsou zakódovány v síle spojů mezi neurony. Zdroj obrázku: http://tulane.edu/sse/crab/people/schrader/ Proč umělé neuronové sítě .. ► Modelování biologických neuronových sítí (computational neuroscience). ► zjednodušený matematický model pomáhá identifikovat důležité mechanismy ► Jak mozek přijímá a zpracovává informace? ► Jak uchovává informace? ► Jak se mozek vyvíjí? ► neurovědy jsou silně multidisciplinární - precizní (matematický) popis usnadňuje komunikaci mezi odborníky na jednotlivé podoblasti 5 Proč umělé neuronové sítě .. „Inženýrské" aplikace neuronových sítí. ► jedinečné vlastnosti biologických sítí vhodně doplňují standardní architekturu počítačů ► umělé neuronové sítě byly (a jsou) aplikovány v mnoha oblastech. ► rozpoznávání vzorů (pattern recognition) - rozpoznávání řeči, psaného textu, sonarových signálů ► predikce vývoje časových řad - vývoj cen akcií, měnových kurzů, počasí ► další aplikace ve finančnictví - analýza rizik, dělení klientů do specifických skupin ► řízení - robotika, řízení výrobních procesů ► 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 prvků zpracovává informace paralelně na mnoha úrovních ► Adaptace a učení ► dítě se naučí poznat králíka poté, co se mu ukáže několik králíků ► Schopnost generalizace ► po shlédnutí několika králíků je dítě schopno poznat další (jiné) králíky ► Odolnost vůči nepřesnosti vstupu ► rozmazaná fotka králíka může být stále klasifikována správně jako obraz králíka ► Odolnost vůči poškození ► mnoho experimentů prokázalo, že i poškozená neuronová síť je stále schopna uspokojivě fungovat ► poškozená síť se může přeadaptovat, stávající neurony mohou převzít funkci poškozených Biologická neuronová síť ► Nervová soustava člověka se skládá z přibližně 1011 neuronů (centimetr krychlový lidského mozku obsahuje až 50 milionů nervových buňek) ► Každý neuron je spojen s přibližně 104 neurony ► Neurony jsou velmi komplexní systémy Velmi hrubý popis funkce nervové soustavy: Vnější podněty jsou přijímány receptory (např. buňky oka). ► Informace jsou dále přenáš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) případně aktivovány efektory (např. svalové buňky) 8 Biologická neuronová síť - příklad Cell body of Gray Zdroj: N. Campbell and J. Reece; Biology, 7th Edition; ISBN: 080537146X Mozková kůra Sumace a akční potenciál Dendrity sousedních Axon sousedního neuronu Klidový potenciál v těle neuronu « -70 mV Vnější podněty mění potenciál v axonovém hrbolku Po překročení prahu « -55 mV je generován akční potenciál« 40 mV Poté nastane krátká refrakce « -80 mV akční potenciál se šíří axonem, v axonovém zakončení vyvolá chemický proces, který změní potenciál v sousedním neuronu Zdroj obrázku: http://www.yaldex.cora/garaes-progranutiing/Q672323699_chl21evlsec9.htral#chl2fig3Q Sumace a akční potenciál - detailněji Venku Uvnitř FOT mi _i Při -55mV se otevřou kanály pro Na+, které se nahrnou dovnitř Při +40mV se Na+ kanály uzavřou a K+ otevřou - K+ se vyhrnou ven Při -80mV se K+ uzavřou, poté iontové pumpy obnoví klidový potenciál Zdroj obrázku: V. Hevern; http://web.leraoyne.edu/~hevern/psy34Q_HS/psy34Q.htral íření akčního potenciálu axonem (Í)AP begins ^at axon hillock ŕ r r ■A @ electrical current spreads... (^current spread is the electrical d event that triggers V-gated channels (A thus the AP) a tiny bit down the axon ■*(A)electrical current spreads... w-> f§)current spread is the electrica *■ event that triggers V-gated channels (& thus the AP) a tiny bit down the axon ^fZjelectrical current \^-^7'«< spreads^ etcetera... Zdroj: D. A. Tamarkin; STCC Foundation Press Synaptický přenos http://changingraindsaboutdownsyndrorae.blogspoi íynaptic-plastic Formální neuron bez biasu ► x-i,..., x„ jsou reálné vstupy („dendrity") ► w-|,.. .,wn jsou reálné váhy („propustnost synapsí") ► £ je vnitřní potenciál; většinou £ = L/Li W;X; ► y je výstup daný y = a(£) kde o aktivační funkce; např. ostrá nelinearita kde h je reálný práh. Formální neuron (s biasem) bias x0 = 1 x-i,.. .,xn jsou reálné vstupy x0 je speciální vstup, který má vždy hodnotu 1 w0, w-i,..., wn jsou reálné váhy £ je vnitřní potenciál; většinou £ = w0 + £,"=1 w,X; y je výstup daný y = a(£) kde a je aktivační funkce; např. osřrá nelinearita ( práh aktivační funkce a je roven 0; reálný práh byl nahrazen vstupem x0 = 1 a váhou w0 = -h) Neuron a lineární separace ► vnitřní potenciál 4 = 0 18 Zde n = 8 • 8 tedy počet pixelů v obrazcích. Vstupy jsou binární vektory dimenze n (tmavý bod « 1, světlý bod « 0). 19 lineární separace x,- = O wo + wixi = 0 B B Červená přímka nesprávně klasifikuje Zelená klasifikuje správně (může být výsledkem korekce učícího algoritmu) B 20 Neuron a lineární separace *1 (0,1) | (1,1) o—© (0,0) Neexistuje přímka, která by oddělila body 1 od bodů 0. (0,1) *2 21 Neuronové sítě ► Neuronová síť se skládá z formálních neuronů, které jsou vzájemně propojeny tak, že výstup jednoho neuronu je vstupem obecně více neuronů. ► Architektura sítě je určena počtem a vzájemným propojením neuronů. ► Stav sítě je vektor hodnot všech neuronů. (Stavy sítě s n neurony jsou prvky R") ► Stavový prostor sítě je množina všech stavů. ► Konfigurace sítě je vektor hodnot všech vah v síti. (Konfigurace sítě s m spoji jsou prvky Rm) ► Váhový prostor sítě je množina všech konfigurací. 22 Neurony rozdělujeme ► Výstupní ► Skryté ► Vstupní Neuronové sítě Dynamiku sítě dělíme do tří režimů - Organizační ► architektura sítě a její případná změna ► Aktivní ► počáteční stav sítě (hodnoty neuronů) a jeho změny v čase (při pevné architektuře a konfiguraci) (mimo jiné určuje způsob výpočtu vnitřních potenciálů E, a aktivační funkce o všech neuronů) ► Adaptivní ► počáteční konfigurace sítě (hodnoty vah) a její změna v čase (učení) 24 Organizační dynamika Organizační dynamika určuje strukturu sítě. Rozlišujeme dva typy architektury: ► Cyklická (resp. rekurentní), pokud obsahuje orientovaný cyklus. ► Acyklická (resp. dopředná) Organizační dynamika - vícevrstvé sítě Výstupní Skryté Vstupní (XQ OD Neurony jsou rozděleny do vrstev (vstupní a výstupní vrstva, obecně několik skrytých vrstev) Vrstvy číslujeme od 0; vstupní vrstva je nultá ► Např. třívrstvá síť se skládá z jedné vstupní, dvou skrytých a jedné výstupní vrstvy. Neurony v /-té vrstvě jsou spojeny se všemi neurony ve vrstvě ; + 1. Vícevrstvou síť lze zadat počty neuronů v jednotlivých vrstvách (např. 2-4-3-2) 26 Aktivní dynamika určuje, jakým způsobem síť počítá. Mějme síť s n neurony z nichž k je vstupních a l výstupních. ► Vstup sítě je vektor k reálných čísel, tedy prvek Rfc. (někdy se omezíme pouze na jistou podmnožinu Rk) Vstupní prostor sítě je množina všech vstupů. ► Počáteční stav Vstupní neurony jsou nastaveny na hodnoty ze vstupu sítě (každá složka vstupu má přiřazen příslušný vstupní neuron) Ostatní neurony jsou iniciálně nastaveny na 0. ► Výpočet (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 (sekvenční výpočet) nebo více neuronů (paralelní výpočet). 2. Vybraný neuron změní svůj stav v závislosti na hodnotách svých vstupů. (Hodnota neuronu, který nemá vstupy, zůstává konstantní.) Výpočet je konečný pokud se od jistého kroku dál nemění stav sítě. ► Výstup sítě je vektor hodnot všech výstupních neuronů (tedy prvek Rr). Výstup se mění v průběhu výpočtu! Pro vícevrstvé sítě používáme následující pravidlo aktivní dynamiky: V Mém kroku vyhodnoť právě všechny neurony v Mé vrstvě. Aktivní dynamika - funkce sítě Definice Mějme neuronovou síť s n neurony z nichž k je vstupních a í výstupních. Nechť A cRka6c Rr. Předpokládejme, že výpočet této sítě skončí pro každý vstup z A. Řekneme, že tato síť počítá funkci F : A —> B pokud pro každý vstup v e A je F(v) výstupem sítě po skončení výpočtu. Podle toho, zda je funkce sítě diskrétní nebo spojitá rozlišujeme diskrétní a analogové neuronové sítě. Příklad 1 Tato síť počítá funkci z R2 do R. 29 Aktivní dynamika - aktivační funkce Aktivní dynamika určuje aktivační funkci a pro každý neuron. ► Ostrá nelinearita •<«-{; ► Logistická sigmoida oU) =--—— kde A e R je prametr strmosti. 1 + e_A« ► Hyperbolický tangens 1 - 30 Aktivní dynamika - vnitřní potenciál Aktivní dynamika určuje způsob výpočtu vnitřního potenciálu £ každého neuronu. Pokud nebude uvedeno jinak, předpokládáme, že Později využijeme další možnosti, např. r- 11 ~» ~* 11 £ = ||x - W\\ kde INI je daná vektorová norma (nejčastěji Euklidovská), x = (x-i,.. .,xn) jsou vstupy neuronu a w = (w-,,..., wn) jsou váhy. n 31 Aktivní dynamika - XOR 1010 1001 Aktivační funkce je ostrá nelinearita |1 «5>0; 10 <5<0. Síť počítá funkci XOfí(x-|,x2) x2 y 1 1 0 1 0 1 0 1 1 0 0 0 32 Neuron a lineární separace ► Přímka P3 má rovnici 3 - 2xt - 2x2 = 0 Aktivní dynamika - příklad Adaptivní dynamika Adaptivní dynamika určuje, jakým způsobem se síť učí. ► počáteční konfigurace váhy mohou být nastaveny buď náhodně nebo na základě předběžné znalosti vstupů sítě ► učící pravidlo pro (postupnou) adaptaci vah cílem je adaptovat váhy tak, aby síť počítala danou funkci 35 Adaptivní dynamika - učící pravidla ► učení s učitelem ► Požadovaná funkce je zadána množinou tréninkových vzorů což jsou dvojice tvaru (vstup, výstup). ► Při učení se hledá konfiguraci sítě, která nejlépe odpovídá daným vzorům (vzhledem k danému kvalitativnímu kritériu). ► učení bez učitele ► Tréninková množina obsahuje pouze vstupy sítě. ► Cílem je odhalit strukturu v množině vstupů (shlukování, samoorganizace) Učení s učitelem - ilustrace B B B klasifikace v rovině pomocí jednoho neuronu tréninkové vzory jsou tvaru (bod, hodnota) kde hodnota je buď 1 nebo 0 podle toho zda je bod ze skupiny A nebo 6 po předložení nesprávně klasifikovaného vzoru skupiny A (červená přímka), učící algoritmus pootočí přímku ve směru nesprávně klasifikovaného bodu (zelená přímka). 37 Učení bez učitele - ilustrace A m 0 ► hledáme dva reprezentanty „shluků" A červené křížky odpovídají reprezentantům před aplikací učícího algoritmu, zelené po aplikaci učící algoritmus může např. napočítat množinu bodů, které jsou nejblíže danému reprezentantovi a potom reprezentanta posunout do těžiště této množiny bodů 38 Výhody umělých neuronových ► Masivní paralelismus ► neurony mohou být vyhodnocovány současně ► Adaptace a učení ► existuje mnoho učících algoritmů, které „programují" neuronové sítě na základě příkladů požadovaného chování ► Schopnost generalizace a odolnost vůči nepřesnosti vstupu ► informace jsou v síti kódovány přibližně pomocí vah mnoha neuronů ► na vstup podobný vstupu tréninkového vzoru, reaguje naučená síť podobným výstupem ► takto je schopna extrahovat charakteristické vlastnosti dat ► Odolnost vůči poškození ► poškození se obvykle projevuje postupnou ztrátou přesnosti výsledků 39