FAV-ZCU/KIV UIR/06. Neuronové sítě.md

70 lines
3 KiB
Markdown

# Neuronové sítě
**Neuron**
- mozková buňka, která má za úkol **sběr**, **zpracovávání** a **šíření signálů**
- mozek
- $10^{11}$ neuronů, více než 20 typů, $10^{14}$ synapsí
- 1ms - 10ms cyklus nosiče informace
- signály = výkyvy elektrických potenciálů (se šumem)
**Počítačový model**
- matematický model neuronu (McCulloch & Pitts, 1943)
- při **spojení** do **neuronové sítě** mají schopnost **tolerovat šum** ve vstupu a **učit se**
- jednotky v neuronové síti (units)
- propojeny vazbami (links)
- vazba z jednotky $j$ do $i$ propaguje aktivaci $a_j$ jednotky $j$
- každá vazba má číselnou váhu $W_{j,i}$ (síla + znaménko)
- účel aktivační funkce
- jednotka má být aktivní ($\approx +1$) pro pozitivní příklady, jinak neaktivní $\approx 0$
- aktivace musí být nelineární, jinak by celá síť byla lineární
- kombinacemi těchto jednotek do sítě můžeme implementovat libovolnou Booleovskou funkci
## Struktury neuronových sítí
**Sítě s předním vstupem**
- necyklické
- implementují funkce
- nemají vnitřní paměť
- **příklad**
- síť 5-ti jednotek - 2 vstupní, 1 skrytá vrstva (2 jednotky), 1 výstupní jednotka
- = parametrizovaná nelineární funkce vstupu
**Rekurentní sítě**
- cyklické
- vlastní výstup si berou opět na vstup
- složitější a schopnější
- výstup má (zpožděný) vliv na aktivaci (= paměť)
- **Hopfieldovy sítě**
- symetrické obousměrné vazby; fungují jako asociativní paměť
- **Boltzmannovy stroje**
- pravděpodobnostní aktivační funkce
**Perceptron**
- nejjednodušší model neuronové sítě s učením s učitelem
- pouze jedna vstupní jednotka
- nízká vyjadřovací síla
- pro složitější klasifikaci - více výstupních jednotek
- dokáže reprezentovat hodně Bool. funkcí - AND, OR, NOT, ...
- výhody
- existuje jednoduchý učící algoritmus pro libovolnou lineárně separabilní funkci
- učení perceptronu
- upravování vah, aby se snížila chyba na trénovací sadě
- učící pravidlo pro perceptron konverguje ke správné funkci pro libovolnou lineárně separabilní množinu dat
- limity jednoduchého perceptronu
- algoritmus je konečný právě tehdy, když je množina (učící) lineárně separovatelná a pokud existuje řešení
**Vícevrstvé neuronové sítě**
- vrstvy jsou obvykle úplně propojené
- počet skrytých jednotek je obvykle volen experimentálně
- dostatečná vyjadřovací síla
- s **jednou** skrytou vrstvou - všechny spojité funkce
- se **dvěma** skrytými vrstvami - všechny funkce
- těžko se ovšem pro konkrétní síť zjišťuje její prostor reprezentovatelných funkcí
- učení
- pravidla pro úpravu vah
- výstupní vrstva - stejné jako u perceptronu
- skryté vrstvy - **zpětné šíření** (back-propagation) chyby z výstupní vrstvy
- problémy učení
- dosažení lokálního minima chyby
- příliš pomalá konvergencce
- přílišné upnutí na příklady -> neschopnost generalizovat