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.