Umělá neuronová síť

Z Wikipedie, otevřené encyklopedie
(přesměrováno z Neuronová síť)
Skočit na navigaci Skočit na vyhledávání
Architektura neuronové sítě: rekurentní autoasociativní paměť, samorganizující síť, vícevrstvý perceptron.

Umělá 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 (formálních) neuronů, jejichž předobrazem je biologický neuron. Neurony jsou vzájemně propojeny synaptickými vazbami a navzájem si předávají signály a transformují je pomocí přenosových funkcí. Neuron má libovolný počet vstupů, ale pouze jeden výstup.

Neuronové sítě se používají mimo jiné pro rozpoznávání a kompresi obrazů či akustických (např. rozpoznávání řeči) nebo elektrických (např. EKG, EEG) signálů, klasifikaci či segmentaci dat, předvídání vývoje časových řad (např. burzovních indexů), k rozpoznávání psaného textu či k filtrování spamu. V lékařství slouží k diagnostice onemocnění či k prohlubování znalostí o fungování informačních systémů (nervových soustav) živých organismů. Například Grossbergova síť vznikla původně jako simulace fyziologického modelu rozpoznávání vzorů na sítnici lidského oka.

Historie[editovat | editovat zdroj]

První umělé neurony byly vytvořeny Warrenem McCullochem a Walterem[1] v roce 1943. Tyto neurony fungovaly tak, že byl jejich výstup 0 nebo 1 v závislosti na tom, jestli vážená suma vstupních signálů překročila prahovou hranici, nebo ne. Jejich teorie byla, že takový neuron v principu spočte jakoukoli aritmetickou či logickou funkci. Tehdy však nebyla vypracována žádná tréninková metoda.

V padesátých letech přichází Frank Rosenblatt[2] s perceptrony, které doprovází již i učící pravidla. Perceptrony využívá k rozpoznávání vzorů. Mimo to dokazuje, že pokud existují váhy, které zadaný problém řeší, pak k nim učící pravidlo konverguje.

Počáteční nadšení však uvadá, když je zjištěno, že takovýto perceptron umí řešit pouze lineárně separovatelné úlohy. Frank Rosenblatt se sice snaží model upravit a rozšířit, ale nedaří se mu to a tak až do osmdesátých let přestává být o perceptrony a neuronové sítě zájem.

V 80. letech dochází k vývoji vícevrstvých perceptronových sítí s asociačními pravidly, schopných aproximovat libovolnou vektorovou funkci, díky čemuž dochází k nové vlně zájmu o neuronové sítě[3], který později částečně upadá díky neschopnosti učit sítě o větším počtu vrstev. Až okolo roku 2010 opět dochází k renesanci neuronových síti díky objevu hloubkového učení.

Model umělého neuronu[editovat | editovat zdroj]

Model umělého neuronu

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

kde:

  • jsou vstupy neuronu
  • jsou synaptické váhy
  • je práh
  • je přenosová funkce neuronu
  • je výstup neuronu

Velikost vah 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 označuje prahovou hodnotu aktivace neuronu. Tzn. je-li menší než práh, je neuron pasivní (inhibovaný) a je-li větší než práh, je neuron aktivní (excitovaný).

Přenosové funkce[editovat | editovat zdroj]

Skoková přenosová funkce
Sigmoidální přenosová funkce
  • Skoková přenosová funkce vrací pro záporný vstup nulu a pro nezáporný vstup jedničku: pro a pro .
  • Lineární přenosová funkce je ve tvaru . Pro nulu je hodnota nula.
  • Sigmoidální přenosová funkce je ve tvaru . Její hodnoty se blíží v minus nekonečnu nule a v nekonečnu jedničce. Pro nulu je hodnota 0,5.
Přenosová funkce hyperbolické tangenty
Přenosová funkce radiální báze
  • Přenosová funkce hyperbolické tangenty je ve tvaru . Její hodnoty se blíží v minus nekonečnu minus jedničce a v nekonečnu jedničce. Pro nulu je hodnota 0.
  • Přenosová funkce radiální báze je ve tvaru . Její hodnoty se blíží v minus nekonečnu a nekonečnu nule. Pro nulu je hodnota 1.

Architektury sítě[editovat | editovat zdroj]

Podle způsobů propojení neuronů existuje více různých architektur neuronových sítí, například:

Učení neuronové sítě[editovat | editovat zdroj]

Cílem učení neuronové sítě je nastavit síť tak, aby dávala co nejpřesnější výsledky. V biologických sítích jsou zkušenosti uloženy v synapsích. 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í, fáze vybavování po naučení neuronové sítě bývá nazývána aktivní.

Učení s učitelem[editovat | editovat zdroj]

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[editovat | editovat zdroj]

Podrobnější informace naleznete v článku Učení bez učitele.

Při učení bez učitele nevyhodnocujeme správnost výsledku. Při tomto učení nám vyžadovaný výsledek není znám. Síť dostává na vstup sadu vzorů, které si sama třídí přizpůsobením své topologie. Vzory třídí do skupin a reaguje dle jejich typického zástupce.

Modulární neuronová síť[editovat | editovat zdroj]

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.

Komise strojů[editovat | editovat zdroj]

Komise strojů (Committee of Machines; CoM) je soubor různých neuronových sítí, které dohromady „hlasují“ pro zadaný 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 CoM se získává trénováním vycházejícím z různých náhodně vybraný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)[editovat | editovat zdroj]

ASNN je rozšíření CoM, které jde až za jednoduché průměrování výsledků různých neuronových sítí. ASNN představuje kombinaci souboru dopředných neuronových sítí a techniky k-nejbližšího souseda. Tato metoda používá korelaci mezi jednotlivými odezvami sítí souboru jako míru vzdálenosti mezi analyzovanými vzory pro techniku k-nejbližšího souseda. Asociativní neuronová síť má paměť, která obsahuje tréninkovou sadu vzorů. Pokud jsou k dispozici nová data v tréninkové sadě neobsažená, síť poskytuje přiměřenou aproximaci jejich odezvy bez nutnosti přetrénování souboru neuronových sítí, a to korekcí zkreslení nových dat vůči tréninkové sadě. Tato vlastnost ASNN dramaticky zlepšuje její prediktivní schopnost oproti tradičním neuronovým sítím.

Reference[editovat | editovat zdroj]

  1. MCCULLOCH, W. S. T.; PITTS, W. A logical calculus of the ideas immanent in nervous activity. Bulletin of Mathematical Biophysics 5. [s.l.]: [s.n.], 1943. 19 s. (anglicky) 
  2. ROSENBLATT, F. The Perceptron - a perceiving and recognizing automaton, Report 85–460–1, Cornell Aeronautical Laboratory. [s.l.]: [s.n.], 1957. (anglicky) 
  3. HAGAN, Martin T. Neural network design. druhé. vyd. [s.l.]: [s.n.], 2014. 800 s. Dostupné online. (anglicky) 
  4. HINDMARSH, J. L.; ROSE, R. M. A model of neuronal bursting using three coupled first order differential equations. Biological Sciences 221 (1222). London: The Royal Society, 1984. 16 s. (anglicky) 

Literatura[editovat | editovat zdroj]

Externí odkazy[editovat | editovat zdroj]