Umělá neuronová síť

Neuronová síť je jeden z výpočetních modelů používaných v umělé inteligenci. Jejím vzorem je chování odpovídajících biologických struktur. Umělá neuronová síť je struktura určená pro distribuované paralelní zpracování dat.

Skládá se z umělých (nebo také formálních) neuronů, jejichž předobrazem je biologický neuron. Neurony jsou vzájemně propojeny a navzájem si předávají signály a transformují je pomocí určitých přenosových funkcí. Neuron má libovolný počet vstupů, ale pouze jeden výstup.

Neuronové sítě se používají mimo jiné i pro rozpoznávání a kompresi obrazů nebo zvuků, předvídání vývoje časových řad (např. burzovních indexů), někdy dokonce k filtrování spamu. V lékařství slouží k prohlubování znalostí o fungování nervových soustav živých organismů. Například perceptronová síť vznikla původně jako simulace fyziologického modelu rozpoznávání vzorů na sítnici lidského oka.

Model umělého neuronu

Model umělého neuronu
Je popsána celá řada modelů neuronů. Od těch velmi jednoduchých používající nespojité přenosové funkce, až po velmi složité popisující každý detail chování neuronu živého organismu. Jedním z nejpoužívanějších je model popsaný McCullochem a Pittsem:

{\displaystyle Y=S(\sum _{i=1}^{N}(w_{i}{}x_{i}{})+\Theta )} {\displaystyle Y=S(\sum _{i=1}^{N}(w_{i}{}x_{i}{})+\Theta )}

kde:

{\displaystyle x_{i}{}} {\displaystyle x_{i}{}} jsou vstupy neuronu
{\displaystyle w_{i}{}} {\displaystyle w_{i}{}} jsou synaptické váhy
{\displaystyle \Theta } \Theta je práh
{\displaystyle S(x)} S(x) je přenosová funkce neuronu (někdy aktivační funkce)
{\displaystyle Y} Y je výstup neuronu
Velikost vah {\displaystyle w_{i}{}} {\displaystyle w_{i}{}} vyjadřuje uložení zkušeností do neuronu. Čím je vyšší hodnota, tím je daný vstup důležitější. V biologickém neuronu práh {\displaystyle \Theta } \Theta označuje prahovou hodnotu aktivace neuronu. Tzn. je-li {\displaystyle \sum _{i=1}^{N}(w_{i}{}x_{i}{})} {\displaystyle \sum _{i=1}^{N}(w_{i}{}x_{i}{})} menší než práh, neuron je v pasivním stavu.

Podle povahy vstupních (a výstupních) dat můžeme neurony dělit na binární a spojité. Podle typu neuronu a typu neuronové sítě se použije vhodná přenosová funkce.

Přenosové funkce

Skoková přenosová funkce

Sigmoidální přenosová funkce
Skoková přenosová funkce vrací pro vstup menší než daná mez nulu, pro větší vrací jedna. {\displaystyle f(x)=0} f(x)=0 pro {\displaystyle x<\Theta } {\displaystyle x<\Theta } a {\displaystyle f(x)=1} {\displaystyle f(x)=1} pro {\displaystyle x\geq \Theta } {\displaystyle x\geq \Theta }
Sigmoidální přenosová funkce je ve tvaru {\displaystyle f(x)={\frac {1}{1+e^{-kx}}}} {\displaystyle f(x)={\frac {1}{1+e^{-kx}}}}. Její hodnoty se blíží v minus nekonečnu nule a v nekonečnu jedničce. Pro nulu je hodnota 0,5. Výhodou sigmoidální přenosové funkce oproti skokové je existence spojité první derivace v každém bodě.

Přenosová funkce hyperbolické tangenty

Přenosová funkce radiální báze
Přenosová funkce hyperbolické tangenty je ve tvaru {\displaystyle f(x)={\frac {2}{1+e^{-kx}}}-1} {\displaystyle f(x)={\frac {2}{1+e^{-kx}}}-1}. Její hodnoty se blíží -1 v minus nekonečnu a jedničce v nekonečnu. Pro nulu je hodnota 0.
Přenosová funkce radiální báze je ve tvaru {\displaystyle f(x)=e^{-kx^{2}}} {\displaystyle f(x)=e^{-kx^{2}}}. Její hodnoty se blíží nule v minus nekonečnu a nule v nekonečnu. Pro nulu je maximální hodnota 1.
Architektury sítě
Podle způsobů propojení neuronů a jejich přenosové funkce existuje více různých architektur neuronových sítí, například:

Perceptron
Vrstevnatá neuronová síť
Rekurentní neuronová síť
Kohonenovy mapy
Modulární neuronové sítě
Učení neuronové sítě
Cílem učení neuronové sítě je nastavit síť tak, aby dávala přesné výsledky. V biologických sítích jsou zkušenosti uloženy v dendritech. V umělých neuronových sítích jsou zkušenosti uloženy v jejich matematickém ekvivalentu - váhách. Učení neuronové sítě rozlišujeme na učení s učitelem a učení bez učitele. Fáze učení neuronové sítě bývá nazývána adaptivní. Po naučení neuronové sítě je síť ve fázi vybavování.

Učení s učitelem
Podrobnější informace naleznete v článku Učení s učitelem.
Podobně jako v biologických sítích je zde využita zpětná vazba. Neuronové síti je předložen vzor. Na základě aktuálního nastavení je zjištěn aktuální výsledek. Ten porovnáme s vyžadovaným výsledkem a určíme chybu. Poté spočítáme nutnou korekci (dle typu neuronové sítě) a upravíme hodnoty vah či prahů, abychom snížili hodnotu chyby. Toto opakujeme až do dosažení námi stanovené minimální chyby. Poté je síť adaptována.

Učení bez učitele
Podrobnější informace naleznete v článku Učení bez učitele.
Při učení bez učitele nevyhodnocujeme výstup. Při tomto učení nám výstup není znám. Síť dostává na vstup sadu vzorů, které si sama třídí. Buď si vzory třídí do skupin a reaguje na typického zástupce, nebo si přizpůsobí topologii vlastnostem vstupu.

Modulární neuronová síť
Biologické studie ukazují, že lidský mozek nepracuje jako jediná masivní síť, ale jako soubor malých sítí. Tento výzkum dal zrod konceptu modulárních neuronových sítí, ve kterých několik malých sítí spolupracuje nebo soutěží, aby vyřešily daný problém.

Výbor strojů
Komise (výbor) strojů (Committee of Machines; CoM) je soubor různých neuronových sítí, které dohromady „hlasují“ pro daný příklad. To obvykle dává mnohem lepší výsledky ve srovnaní s dalšími modely neuronových sítí. CoM směřuje ke stabilizaci výsledku. CoM je podobná obecné bagging metodě strojového učení, až na to, že nutná rozmanitost strojů v Komisi se získává trénováním z různých náhodně vyhraných startovních vah, oproti trénování na různých náhodně vybraných podmnožinách trénovacích dat.

Asociativní neuronové sítě (ASNN)
ASNN je rozšíření CoM, které jde až za jednoduché/vážené průměry různých modelů. ASNN reprezentuje kombinaci souboru dopředných neuronových sítí a techniky k-nejbližšího souseda (kNN). Používá korelaci mezi souborem odpovědí jako měřítko „vzdálenosti“ mezi analyzovanými případy pro kNN. To opravuje systematickou chybu souboru neuronových sítí. Asociativní NS má paměť, která se aktualizuje s trénovacími daty. Jestliže se data stanou dostupnými, síť okamžitě vylepší svou schopnost předpovědi a poskytne aproximaci dat bez potřeby znovu přetrénovat soubor. Další důležitou vlastností ASNN je možnost interpretovat výsledky neuronové sítě analýzou korelací mezi příklady dat v prostoru modelu. Tato metoda je demonstrována na stránkách www.vcclab.org.