doc. RNDr. Petr Tučník, Ph.D. petr.tucnik@fpf.slu.cz ▪ Studium neuronových sítí ▪ Historický vývoj ▪ Aplikace neuronových sítí 2 Zdroj: http://neuron.tym.sk/ 4 ▪ Neuronové počítače jsou – zjednodušeně – matematickými modely neuronových systémů živých organismů. ▪ Dva základní směry výzkumu: ▪ Pochopení a modelování fungování lidského mozku ▪ HW realizace inspirovaná neurofyziologickými poznatky 5 ▪ Z hlediska způsobu práce s informacemi rozlišujeme dvě úrovně ▪ Symbolická (např. logika) ▪ Subsymbolická (neuronové sítě, genetické algoritmy) ▪ Neuronové sítě patří do tzv. nové umělé inteligence (tradiční UI je reprezentována směry jako expertní systémy, propoziční logika, stavové prostory apod.) 6 ▪ Z hlediska aplikace na řešení problému můžeme hovořit o dvou typech algoritmů: ▪ Klasifikátor – třídí (klasifikuje) vstupní data (např. rozpoznání tváří) ▪ Řídící – zajišťuje kontinuální řízení nějaké činnosti (např. řízení vozidla) 7 Obr. Warren McCulloch ▪ V roce 1943 přišli pánové Warren McCulloch a Walter Pitts s modelem jednoduchého neuronu ▪ Neuron je fundamentální jednotkou každé neuronové soustavy ▪ Bylo dokázáno, že tento nejjednodušší typ modelů může počítat s libovolnou aritmetikou či funkcí. 9 Zdroj: http://www.fi.muni.cz/usr/jkucera/pv109/2000/xneudert.html 10 Zdroj: Marček, D.: Neuronové sítě a fuzzy časové řady ▪ Z pohledu zpracování má model neuronu 3 základní části, které vykonávají specifické operace: ▪ Synaptická spojení (přijímají informace). ▪ Tělo buňky (soma) – je místem, kde se vykonávají operace agregace, prahování a nelineární transformace (aktivace) ze synaptických vstupů. Agregací se rozumí učení potenciálu neuronu. Jestliže potenciál neuronu přesáhne určitý práh, soma aktivuje výstupní signál. ▪ Axon - prostřednictvím axonu je výstupní signál ze somy přenášen do synapsí jiných neuronů. 11 Obr. Donald Hebb ▪ V r. 1949 byla vydána kniha The Organization of Behavior od Donalda Hebba. Poskytla návod kterak používat učící pravidlo pro synapse neuronů (interface). ▪ Inspirací byly podmíněné reflexy, které jsou pozorovatelné u živočichů. ▪ Myšlenky uvedené v této knize ovlivnily řadu vědců, ačkoliv 40.-50. léta nepřinesla v oblasti neurovýpočtů žádný zásadní pokrok. 12 Obr. Marvin Minsky ▪ V roce 1951 byl Marvinem Minskym postaven neuropočítač SNARK. ▪ Z technického hlediska byl velmi úspěšný, automaticky adaptoval váhy, nikdy se ale nestal užitečným z hlediska praktické aplikace. ▪ Jednoduše vznikl, aby existoval. 13 ▪ V roce 1957 byl model neuronu zobecněn Frankem Rosenblattem na tzv. perceptron, který počítal s reálnými čísly. ▪ Jedná se o pevnou architekturu jednovrstvé sítě s n vstupními a m výstupními neurony. ▪ Byl navržen i učící algoritmus, který v konečném čase je schopen nalézt odpovídající váhový vektor parametrů nezávisle na počáteční konfiguraci. ▪ Reálné stavy neuronů ve vstupní vrstvě se nastavují na vstup sítě a výstupní neurony počítají svůj binární stav, který určuje výstup sítě stejným způsobem jako obecný neuron. 14 Obr. Frank Rosenblatt ▪ Na základě výzkumů o perceptronech byl v letech 1957-1958 sestrojen Charlesem Wightmanem a Frankem Rosenblattem první neuropočítač s reálnou aplikací – rozpoznávání znaků. ▪ Znak se promítal na světelnou tabuli, která byla snímána maticí 20x20 fotosnímačů. ▪ Intenzita celkového počtu 400 snímačů byla vstupem do neuronové sítě perceptronů. ▪ Počítač měl odpovídat, zda se jedná o znak „A“ nebo „B“, atd. 15 ▪ Počítač také disponoval 512 adaptovatelnými váhovými parametry, které byly realizovány polem 8x8x8 potenciometrů. ▪ Hodnota odporu každého potenciometru odpovídala příslušné váze. ▪ Učící pravidlo řídil analogový obvod. ▪ Díky úspěchu při prezentaci se neuropočítače dostávají do popředí zájmu. 16 Obr. Bernard Widrow ▪ Dalším typem neuronového prvku, který je podobný neuronu, je ADALINE (ADAptivní LINeární Element). ▪ Dynamika modelu se liší v tom, že výstupy sítě jsou obecně reálné a jednotlivé ADALINE realizují lineární funkci. ▪ Autory jsou Bernard Widrow a jeho studenti.Widrow se zasloužil o vznik první komerční organizace (Memistor Corporation) v pol. 60. let, která se zabývala stavbou neuropočítačů a jejich součástek. ▪ V r. 1960 byla založena (Rogerem Barronem a Leweyem Gilstrapem) firma zaměřená na aplikaci neurovýpočtů. Vysledky lze nalézt v knize Nilse Nilssona Learning Machines (1965). 17 ▪ Model BAS byl vyvinut byl vyvinut na přelomu 50.-60. let Karlem Steinbuchem. ▪ Na rozdíl od klasických počítačových pamětí, kdy klíč k vyhledávání položky v paměti je adresa, dochází u asociativní paměti k vybavení určité události na základě její částečné znalosti. ▪ Zejména dva typy sítí zaznamenaly další rozvoj – autoasociativní a heteroasociativní paměti. 18 Zdroj: Marček, D.: Neuronové sítě a fuzzy časové řady ▪ Pro označení množiny neuronů používáme pojem pole. Na neuronovou síť se můžeme dívat jako na pole neuronů, které jsou topologicky seskupeny. Jednotlivé neurony mezi jednotlivými poli a v rámci polí jsou vzájemně v relaci prostřednictvím synaptických spojení. ▪ Má-li vstupní pole FX celkem n neuronů a výstupní pole FY p neuronů, pak zobrazením vstupu x1, x2, ..., xn do výstupu y1, y2, yp je možné definovat závislost f: Rn→Rp 19 ▪ Váhy synaptických spojení lze reprezentovat maticí synaptických vah M pro synaptickou projekci z FX do FY. ▪ Podobně označíme N matici vah pro zpětnou synaptickou projekci neuronů pole FY do pole FX. 20 ▪Mají-li M, N stejnou strukturu, znamená to, že M=NT a N = MT, kde MT, NT označují transpozici k matici M, N. ▪V tomto případě mluvíme o dvojsměrných sítích (bidirectional). ▪Vede-li aktivační dynamika neuronů v polích FX a FY ke stabilnímu chování sítě, mluvíme o dvojsměrné asociativní paměti – BAM. 21 ▪ BAM uchovává asociace mezi dvěma informacemi – přivedeme-li na vstup informaci X, na výstupu dostaneme asociaciY a naopak. ▪ Specifický případ – jednosměrná síť.Vznikne, jestliže obě pole neuronů FX a FY vzájemně splynou. ▪ Vznikne tak jedno pole neuronů, synapticky propojené samo se sebou. 22 ▪ Matice synaptických propojení je čtvercová rozměru n x n nebo p x p. ▪ Pokud je matice M symetrická, tj. M = MT, pak jednosměrná síť definuje BAM. ▪ Zatímco BAM je heteroasociativní síť, po splynutí do jednoho pole FZ vzniká autoasociativní síť. 23 ▪ Neuropočítače byly využívány stále pouze k experimentálním projektům. ▪ Rozvoji oboru nepřála ani malá publicita. ▪ Řada odborníků odchází do jiných oblastí výzkumu. 24 ▪ Především dvě osobnosti se zasadily o dočasnou diskreditaci oboru neuronových sítí – Marvin Minsky a Seymour Papert. ▪ Kniha těchto dvou autorů Perceptrons upozornila na nemožnost perceptronu počítat funkci XOR. ▪ Nyní lze tento problém řešit vícevrstvou sítí, ale učící postupy (jak adaptovat jednotlivé váhy) nebyly v té době známy. ▪ Přísun financí do oboru se zbrzdil a projekty byly financovány především ze soukromých zdrojů. 25 Obr. Teuvo Kohonen ▪ Objevuje se řada zajímavých talentů – Shun-Ichi Amari, James Anderson, Kunikiho Fukushima, Stephen Grossberg,Teuvo Kohonen, David Wilshaw. ▪ Vzniká řada grantových projektů zabývajících se neuropočítači a jejich využitím.Významná je zejména grantová agentura DARPA (Defense Advanced Research Project Agency). ▪ Nastává oživení v oboru neuronových sítí. 26 Zdroj: Marček, D.: Neuronové sítě a fuzzy časové řady 27 Obr. John Hopfield ▪ John Hopfield ve svých pracích z let 1982 a 1984 ukázal souvislost některých modelů s fyzikálními modely magnetických materiálů. ▪ Podle něj byly později nazvány tzv. Hopfieldovy sítě, které fungují na principu autoasociativních pamětí. Hopfieldova síť má pevnou topologii s „n“ neurony, které jsou zapojeny cyklicky. Všechny neurony jsou zároveň výstupní. 28 Zdroj: Marček, D.: Neuronové sítě a fuzzy časové řady ▪ Napravo je zobrazeno topologické schéma Hopfieldovy sítě se 4 neurony. ▪ Hopfieldova síť je model asociativní paměti, ve kterém pole neuronů splývají a existuje úplné obousměrné synaptické propojení neuronů. ▪ Zásadní podmínkou však je, aby síť byla asynchronní. to znamená, že každý neuron v síti vyhodnocuje své výstupy v časové na sobě nezávislých okamžicích na ostatních neuronech sítě. Pokud v určitém časovém okamžiku změní stav více jak jeden neuron, síť je nestabilní. 29 ▪ Učící backpropagation algoritmus pro zpětné šíření chyby ve vícevrstvých sítích byl publikován v roce 1986 badateli sdruženými do skupiny PDP (Parallel Distributed Processing Group) jejímiž zástupci byli David Rumelhart, Geoffrey Hinton a Ronald Williams. ▪ Podařilo se jim vyřešit problém, který Minsky označil za nevyřešitelný a tím pozastavil vývoj v oboru. ▪ Stal se jedním z nejpoužívanějších algoritmů a je součástí až 80% všech neurosystémů. 30 ▪ Model byl zobecněním sítě perceptronů pro acyklickou architekturu se skrytými vrstvami. ▪ Nejednalo se o nový objev, algoritmus byl původně objeven již v roce 1969 Arthurem Brysonem,Yu-Chi Ho, Paulem Werbosem a Davidem Parkerem. ▪ Systém úspěšně konvertoval anglicky psaný text na mluvený. Byl přímým konkurentem systému DECtalk, který obsahoval stovky pravidel vytvářených lingvisty po celá desetiletí. ▪ Již z tohoto malého příkladu je vidět nesporná síla neuropočítače. 31 ▪ V podstatě se jedná o gradientní metodu minimalizující součet čtverců chyby výstupních hodnot uvažované sítě. ▪ Tento přístup lze aplikovat na libovolnou umělou neuronovou síť. ▪ Většinou se používá na vrstevnaté NS s dopředným šířením signálu bez laterálních vazeb mezi výkonnými prvky jednotlivých vrstev. 32 ▪ Proces učení zpětným šířením je možno rozdělit do tří částí: 1. Dopředné šíření signálu 2. Zpětné šíření analýzy odpovídajících chyb 3. Adaptování vhodných parametrů sítě ▪ Části 2 a 3 často splývají. 33 ▪ První konference se konala v San Diegu. IEEE mezinárodní konference hostila přes 1700 účastníků. ▪ Výsledkem bylo založení mezinárodní společnosti pro výzkum neuronových sítí INNS (International Neural Network Society). ▪ Vznikla řada časopisů jako Neural Networks, Neural Computation,IEEE Transactions on Neural Networks. 34 ▪ Nejčastější námitkou proti NS vycházejí z nesrozumitelnosti způsobu, jímž jsou reprezentovány uložené informace. ▪ NS se v tomto ohledu chová jako černá skříňka – „není do ní vidět“. ▪ Vyplývá to z distribuovaného rozložení informací v rozsáhlých maticích vah ▪ Je to v ostrém kontrastu ke způsobu, jakým jsou ukládána data např. v jasně definovaných strukturách tradiční umělé inteligence – logika, ES... 35 ▪ Základní oblasti využití umělých NS ▪ Analýza a zpracování jednorozměrných signálů ▪ Predikce časových řad ▪ Komprese signálů ▪ Zpracování obrazu ▪ Filtrace šumu 37 ▪ NS se aplikují tehdy, když je zapotřebí pracovat se signály, jejichž periodicita není zcela přesná, náhodně se mění a kdy je též třeba adaptivně podle potřeb uživatele měnit podmínky analýzy a požadavky na ni kladené. ▪ Analýza má obvykle charakter klasifikace příslušnosti jednotlivých částí sledovaného signálu do některé z hledaných tříd (např. vyhledávání významných složek elektrokardiografického signálu (EKG)). 38 ▪ Často je potřebná znalost budoucího chování různých veličin ▪ Aplikace NS pro predikci časových řad: ▪ Vývoj zdravotního stavu pacienta ▪ Pohyb kurzů měn v dalším časovém období ▪ Spotřeba elektrické energie v následujících 48 hodinách ▪ Predikce hustoty provozu v dané dopravní lokalitě 39 ▪ Oproti tradičním metodám nabízejí NS výhodu při zpracování zejména komplikovaných dat: ▪ Zašumělá data ▪ Vícerozměrná data ▪ Nelineární data ▪ Přesnost predikce se snižuje, když se pokoušíme předvídat dále v budoucnosti 40 Zdroj: Marček, D.: Neuronové sítě a fuzzy časové řady 41 ▪ Prognózy EX POST (také pseudoprognózy) jsou takové prognózy, u kterých známe skutečnosti pozorování a jsme pro ně schopni vyčíslit chybu prognózy. ▪ Prognózy EX ANTE (v nejbližším horizontu) mají smysl pro praktické rozhodování, jelikož skutečně umožňují odhadovat vývoj. ▪ Dá se říci, že jestliže prediktor produkuje chybově přijatelné ex post prognózy, bude produkovat i chybově přijatelné ex ante prognózy. 42 ▪ Neuronové metody komprese lze použít jak na jednorozměrné, tak vícerozměrné signály. ▪ Současně s kompresí je signál i zakódován. ▪ Princip komprese jednorozměrného signálu funguje tak, že síť má jedinou skrytou vrstvu, která je uspořádána tak, že počet neuronů vstupní a výstupní vrstvy je shodný a značně větší než počet prvků ve skryté vrstvě. 43 Zdroj: Novák, M. et al: Umělé neuronové sítě ▪ Vstupní signál X je přiváděn na vstup. ▪ Při učení je tentýž signál přiváděn i na výstupní vrstvu (Y). ▪ Přitom usilujeme o to, aby platilo X=Y ▪ Na prvcích skryté vrstvy je pak možno indikovat komprimovaný signál. 44 Zdroj: Novák, M. et al: Umělé neuronové sítě ▪ Takto naučenou síť rozdělíme řezem podél skryté vrstvy na dvě. ▪ Získáme tak dvě sítě, které od sebe můžeme vzdálit. ▪ Na místě vysílání i příjmu tak budeme mít k dispozici NS schopnou se signálem pracovat. ▪ Je však zapotřebí zajistit co nejmenší přenosové zkreslení signálu. 45 ▪ Pro jednoduchost předpokládejme černobílé obrazové symboly, které nemají polotónový charakter. ▪ První částí úlohy je lokalizace rozpoznávaného znaku a jeho obklopení vhodným okolím, ve kterém je proveden rozklad na posloupnost jednoduchých signálů (většinou 0 a 1, podle toho, zda je daný obrazový element černý či bílý) ▪ Takový signál je vstupem do NS, ve které je provedena klasifikace do jemu příslušející třídy. ▪ Klasicky se takto rozpoznávají značky (dopravní, mapové, navigační), číslice, písmena, písmo. ▪ Nověji se rozpoznávají tváře nebo postavy. 46 ▪ Šum se obvykle projevuje v jiných kmitočtových pásmech než užitečný signál.Vhodným potlačením těchto kmitočtových šumových pásem se vlastní signál příliš nezkreslí. ▪ Využívají se k tomu tzv. transverzální filtry, které se svou strukturou v podstatě shodují s umělou NS ADALINE. ▪ Vlastnosti lineárních filtrů šumu je možno zlepšit aplikací nelineárních metod vycházejích z vrstevnatých sítí s nelineárními přenosovými funkcemi výkonných prvků. 47 Zdroj: Novák, M. et al: Umělé neuronové sítě ▪ Značení k obrázku: ▪ Zašuměný signál X ▪ Šum N ▪ Užitečný signál S ▪ Na vstupní vrstvu je přiváděn zašuměný signál X = {x} = N+S (směs užitečného signálu a šumu) 48 ▪ Ve fázi učení je požadovaným výstupem nezašuměný signál S. ▪ Při procesu učení je síť natrénována na daném učebním souboru k rozlišování užitečných signálů a šumu. ▪ Je-li pak na vstup takto naučené sítě přiveden jiný zašumělý signál, zkreslený šumem podobného charakteru, objeví se na výstupu signál do značné míry zbavený rušivých složek. 49 ▪ Aplikace umělých NS v praxi ▪ Řízení (např. ALVINN) ▪ Analýza dat a znalostní systémy ▪ Optimalizace ▪ Aplikace v robotice ▪ Finanční trhy ▪ Kognitivní architektury 50 ▪ Deep learning v UNS: https://www.youtube.com/watch?v=BR9h47Jtqyw ▪ Tutoriál / cyklus přednášek o UNS (37 videí): https://www.youtube.com/watch?v=xbYgKoG4x2g&list=PL3EA 65335EAC29EE8 ▪ MIT – online kurzy k UNS (v rámci OpenCourseWare) ▪ Spousta odkazů na další zdroje také např. na wikipedii, v online odborných databázích knihovny UHK, aj. 51 ▪ Novák, M. et al: Umělé neuronové sítě – teorie a aplikace (1998) ▪ Marček, D.: Neuronové sítě a fuzzy časové řady (2002) 53