ANALÝZA A KLASIFIKACE DAT prof. Ing. Jiří Holčík, CSc. III. NEURONOVÉ SÍTĚ I. definice UMĚLÁ NEURONOVÁ SÍŤ (Artificial Neural Network - ANN) je distribuovaný (v užším smyslu paralelní) výpočetní systém (program), sestávající z dílčích podsystémů (neuronů), který je inspirován neurofyziologickými poznatky o struktuře a činnosti neuronů a nervových systémů živých organismů a který je ve větší či menší míře modeluje. definice þ distribuovaný x paralelní systém (distribuovaný klade důraz na nezávislé zpracování) þ výpočetní systém x program x model Struktura ANN Umělá neuronová síť se skládá z výpočetních jednotek – neuronů – které jsou vzájemně propojeny váhami ohodnocenými spoji. Tímto propojením a schopnostmi adaptovat váhy (učit se) na základě vstupních dat (vzorů) umožňují ANN zobecňovat informaci skrytou v učební množině Struktura ANN Je reprezentovaná váhovaným orientovaným grafem s velkým počtem uzlů, z nichž každý představuje jednoduchou výpočetní jednotku. Tyto jednotky komunikují (přijímají a vysílají signály) jednak mezi sebou, jednak s vnějším prostředím. Struktura ANN Umělou neuronovou síť charakterizují tři základní skutečnosti: è vlastnosti jednotlivých výpočetních jednotek (umělých neuronů); è topologie sítě, tj. vzájemné propojení neuronových jednotek; è strategie učení. základní aspekty výpočtů neuronovou sítí (přirozenou i umělou): þ celkový výpočetní model se skládá z proměnného (časově i strukturálně) vzájemného propojení jednoduchých prvků či jednotek; þ základem učení je modifikace vlastností vazeb mezi jednotlivými výpočetními elementy Þ znalost či zkušenost, vnímané jako výsledek učení, jsou reprezentovány strukturou sítě; základní aspekty výpočtů neuronovou sítí (přirozenou i umělou): þ k tomu, aby byl neuronový systém co k čemu, musí být schopen uchovávat informaci, tj. musí být trénovatelný, a dále musí skýtat naději, že tuto informaci následně dokáže spojit (asociovat) s každým nově zpracovávaným vzorkem či signálem - to znamená, že cílem učení by mělo být vytvoření takové interní struktury neuronové sítě, která je schopná správně identifikovat každou novou vstupní informaci, i když ta není totožná s informací použitou při vlastním učení; þ neuronové sítě jsou dynamické systémy, jejichž stav (tj. výstupy jednotlivých výpočetních jednotek a váhy vzájemných vazeb) se mění v čase v závislosti na vstupech a počátečním stavu. Charakteristiky aplikačních oblastí pro ANN þ optimalizace struktury např. časového uspořádání nebo obecněji úlohy spojené s prohledáváním prostoru možných řešení; þ rozpoznávání a klasifikace (zejména, ale nejen z oblasti rozpoznávání řeči či vizuální scény, příp. rozpoznávání psaného písma), včetně výběru příznaků, které mohou být použity pro popis klasifikovaného objektu; þ zpracování poškozených, scházejících, kontradiktivních, mlhavých (fuzzy) či pravděpodobnostních údajů. Charakteristiky úloh pro řešení pomocí ANN þ velký rozměr problémového prostoru - stav systému (řešení problému) je popsán hodnotami velkého počtu proměnných a parametrů; þ složité vzájemné vztahy mezi stavovými veličinami; þ prostor řešení může být prázdný, může obsahovat jediné řešení a nebo (nejčastěji) větší počet téměř stejně užitečných řešení. Model Neuronu – biologická inspirace Model neuronu Fáze činnosti neuronu: þ přenos informace z jednoho neuronu na druhý přes synaptická spojení; þ nelineární kumulace vstupních stimulů v těle neuronu; þ prahování potenciálu těla neuronu, jehož výsledkem je rozhodnutí, zda přejde neuron do stavu vybuzení či nikoliv - toto prahování může být spojeno s dalšími operacemi, vyjadřujícími dynamické vlastnosti neuronu (např. dopravní zpoždění, paměť, frekvenční filtraci vstupních hodnot, atp.). Model neuronu MODEL NEURONU MODEL NEURONU AKTIVACE UMĚLÉHO NEURONU þ Nechť je každý vstup do neuronu ohodnocen vahou, která udává kvalitativní (stimulace vs. inhibice) i kvantitativní charakteristiku daného vstupu. Předpokládejme, že w[ij] představuje váhu spojení z j-tého neuronu nebo vstupu do i-tého neuronu. To znamená, že velké kladné hodnoty w[ij] představují silný stimulační vstup do neuronu, zatímco velká záporná váha reprezentuje silné tlumení vstupu z j-tého neuronu. AKTIVACE UMĚLÉHO NEURONU þ Tato konvence umožňuje vyjádřit aktivaci jednotlivých neuronů pomocí vztahu kde w[ij] je prvek matice synaptických vah W = [w[ij]] a y[j] označuje výstup z j-tého neuronu. Je-li D celkový počet na vstup připojených neuronů, pak hodnoty vstupních signálů lze vyjádřit pomocí sloupcového vektoru y = (y[1], y[2], ...,y[D])^T. Celkovou aktivaci sítě N neuronů pak můžeme popsat vztahem a = W.y, kde a = (net[1], net[2], ..., net[N]). PŘEVODNÍ CHARAKTERISTIKY þ nastavitelný lineární zisk; y[i] = f(net[i]) = net[i ]y[i] = f(net[i]) = c[i].net[i]. þ (reléová) prahová charakteristika; þ lineární prahová charakteristika; PŘEVODNÍ CHARAKTERISTIKY þ obecná sigmoidální charakteristika; þ sigmoidální funkce pro různé hodnoty parametru l; DYNAMICKÉ VLASTNOSTI UMĚLÉHO NEURONU Výše uvedené převodní funkce umožňují výpočet výstupu neuronu, aniž by byly vzaty v potaz jakékoliv dynamické parametry neuronu, jako jsou např. zpoždění signálu mezi vstupem a výstupem, vliv předchozích vstupních či výstupních hodnot, atd. DYNAMICKÉ VLASTNOSTI UMĚLÉHO NEURONU Takové dynamické vlastnosti mohou být popsány např. diferenciální rovnicí kde net[i](t) je hodnota aktivační funkce neuronu, net[i]^a(t) je hodnota aktivační funkce odpovídající okamžitému vstupu neuronu a a je časová konstanta i-tého neuronu. Diferenciální rovnice tedy umožňuje zahrnout časové změny stavů daného neuronu, tj. zavádí lokální neuronovou paměť. V případě diskrétního popisu činnosti umělého neuronu lze sestavit ekvivalentní diferenční rovnici. STRUKUTURA ann þ Aktivační vlna se šíří sítí jednosměrně od vstupů k výstupům; þ realizace buď ve spojitém či diskrétním čase STRUKUTURA ann þ Je třeba stanovit časové okamžiky, ve kterých se odečítá výstup z jednotlivých neuronů; !!! synchronizace !!! NÁVRH STRUKTURY ns þ výběrem sítě s obecnou strukturou jejíž vlastnosti jsou známy, stejně jako algoritmus jejího učení; þ adaptací výše uvedené struktury sítě tak, aby odpovídala určité specifické aplikaci. To je možné, použijeme-li jakékoliv informace, která umožní upřesnit vlastnosti a chování jak jednotlivých neuronů, tak jejich skupin. Adaptaci struktury lze provést i prostřednictvím učícího algoritmu. þ návrhem zcela specifické, na aplikaci závislé konfigurace, která splňuje stanovené požadavky. OBRÁZKY Z HISTORIE ADALINE - B. Widrow (1960) adaptivní lineární neuron OBRÁZKY Z HISTORIE PERCEPTRON - F.Rosenberg (1961) tříúrovňový hierarchický model zrakového systému