Umelá neurónová sieť

thumb|vpravo|Zjednodušený pohľad na umelú neurónovú sieť

**Umelá neurónová sieť** alebo len **neurónová sieť** je výpočtový model, využívaný v oblasti umelej inteligencie, zostavený na základe abstrakcie vlastností biologických nervových systémov. Základnou časťou neurónovej siete je model neurónu s N vstupmi a M výstupmi, ktorý spracúva informáciu podľa nasledovného pravidla:

**o<sub>i</sub><sup>k+1</sup> = f( <math>\sum_{j=1}^{N}</math> w<sub>ij</sub><sup>k</sup> × o<sub>j</sub><sup>k</sup> − Θ <sub>i</sub><sup>k+1</sup> )** ; kde

* 0 ik+1** je výstupná hodnota i toho neurónu k+1 vrstvy
* **k** je index vrstvy
* **Θ ik+1** je prah excitácie i toho neurónu k+1 vrstvy
* **wijk** je váha spojenia medzi j-tým neurónom k vrstvy a i-tým neurónom k+1 vrstvy
* **f()*' je ľubovoľná [[monotónna funkcia]]

Samotná neurónová sieť je zložená z viac vrstiev o rôznom počte neurónov, rôznym spôsobom poprepájaných.

== Rozdelenie ==
V literatúre sa rozoznávajú rôzne [[architektúra|architektúry]]:

* [[perceptrón]],
* [[viacvrstvová sieť]],
* [[rekurentná neurónová sieť|rekurentná sieť]],
* [[Hopfieldova sieť]] (váhy sú obojsmerné),
* [[Kohonenova sieť]],
* [[Radial base]].

Každá z týchto architektúr je vhodná na iný typ úloh.

== Vlastnosti ==
Základnou vlastnosťou neurónových sietí je schopnosť [[abstrakcia|abstrakcie]] pravidiel medzi vstupnými a výstupnými hodnotami prezentovanými vo vhodnej forme a následnou aplikáciou získaných pravidiel na akékoľvek vstupné hodnoty. Neurónové siete sa využívajú v [[regulátor (technika)|regulačnej]] a simulačnej technike.

Proces abstrakcie sa nazýva učenie, a môže prebiehať s učiteľom alebo bez učiteľa. Počas tohto procesu sa aktualizujú hodnoty váhových spojení. V literatúre je popísaných niekoľko učiacich algoritmov. Po ukončení učenia, sa už hodnoty váh nemenia a sieť produkuje výstupy podľa uvedeného pravidla aplikovaného na vstupné hodnoty.

== Použitie ==
* Rozpoznávanie vzoriek (napr. obrázkov a písma).
* Analýza dát a znalostné systémy, predpoveď počasia, riadenie, marketing, optimalizácia
* *Univerzálny systémový invertor*; vie z každého systému <math>F(x)</math> urobiť <math>\frac{1}{F(x)}</math>, aj takých, čo sa inak matematicky nedajú.
* *Univerzálny systémový aproximátor*; vie napodobniť správanie každého systému, ako fyzikálneho tak i masovú psychológiu trhu.
* *Umelá inteligencia*; hlavne podpora rozhodovania, rozpoznávanie signálov, v tomto prípade sa kombinuje s klasickými počítačovými algoritmami, pričom neurónová sieť častejšie len premieňa údaje, ktoré klasická binárna logika nespracuje na údaje ktoré spracuje. Čisté umelé inteligencie založené len na neurónových sieťach sa ukázali ako nepraktické.

Niektorí ľudia tak silno veria že neurónové siete sú univerzálne (*neurofetišizmus*), a keď sa ukázalo že často nie sú, tak ich všeobecne zavrhnú.

Neurónové siete sú len nástroj a ako každý nástroj sú optimálne len pre určitý druh úloh.

== Výhody ==
* Paralelné spracovanie [[informácia|informácií]], umožňujúce pri vhodnom hardvéri rozdeliť výpočet na niekoľko súbežných procesorov.
* Nevyžaduje akúkoľvek informáciu o štruktúre procesu, na ktorý je aplikovaný.
* Zahŕňa v sebe možnosť adaptácie na zmenu parametrov, pokiaľ sa aplikuje aj s učiacim [[algoritmus|algoritmom]].
* Je vhodné pre úlohy identifikácie, aproximácie, klasifikácie a triedenia vzorov.
* Siete sú rýchle ak sa implementujú bez učiaceho algoritmu.
* Umožňuje abstrahovať riadiace pravidlá iného regulátora (napr. človeka, alebo regulátora s dlhými výpočtovými časmi) a nahradiť ich.
* Poskytujú redukciu rozmeru dát do menej rozmerného priestoru.
* Sú univerzálnym aproximátorom, schopným aproximovať akúkoľvek [[spojitá funkcia|spojitú funkciu]] s ľubovoľnou presnosťou.

== Nevýhody ==
* Nie je vypracovaná žiadna metodika pre návrh architektúry siete a voľbu [[funkcia|funkcií]] opisujúcich [[neurón]]. Pri implementácii sa preto postupuje metódou pokus-omyl, čo zvyšuje časové nároky riešenia.
* Nie je vhodný pre systémy vyžadujúce presné riešenie (na to sú ale lepšie [[lineárne systémy]], s ktorými sa neurónová sieť dá kombinovať).
* Učenie trvá zvyčajne dlho (menej pri gradientových metódach, viac pri mutácii). Existujú *neuro-fuzzy* systémy, ktoré sa učia enormne rýchlo.

== Softvér ==
Pre výuku neurónových sietí existuje [[softvér]] *Stuttgart Neural Network Simulator'' (SNNS). Pre simuláciu a vývoj sa využíva softvér MATLAB, presnejšie jedno z jeho rozšírení pre neurónové siete.

## Referencie

## Literatúra
* 
* 

## Externé odkazy
* MemBrain – grafický editor neurónových sietí a simulátor pre Windows 
* FANN (Fast Artificial Neural Network Library) – open source knižnica pre prácu s neurónovými sieťami pre rôzne programovacie jazyky


Kategória:Teória riadenia
Kategória:Regulácia