Neurónová sieť a jej učenie
Ľudský mozog obsahuje 1011 - 1014 neurónov uložených v šedej kôre mozgovej a synapsie sú realizované v rozsahu asi 104 na jeden neurón. Vytvorenie umelého ľudského mozgu so všetkými jeho schopnosťami je vec veľmi ťažko riešiteľná aj z hľadiska kvantity neurónov aj z hľadiska spôsobu ich prepojenia, atď. Novovytvorené modely sa o túto situáciu pokúšajú, a preto dostali názov neurónové siete - NEURAL NETS. Neurónová sieť je vlastne masívne paralelný procesor , ktorý má sklon k uchovávaniu experimentálnych znalostí a ich ďalšieho využívania. Napodobňuje ľudský mozog v dvoch aspektoch :
· poznatky sú zbierané počas učenia
· medzineurónové spojenia sú využívané na ukladanie znalostí
Ide vlastne o simuláciu mozgu. Veľmi významná vlastnosť neurónových sietí je , že neurónová sieť je svojím spôsobom tzv. aproximátorom funkcií .
Pri štúdiu neurónových sietí môžeme rozlišovať tri oblasti:
1/ teória neurónových sietí - matematický rozbor činnosti neurónových sietí, teoretické rozbory návrhu topológie neurónových sietí a pod.
2/ simulácia neurónových sietí - ide o simuláciu neurónových sietí pomocou počítačových systémov. Hlavným problémom simulácie je naučiť neurónové siete na niečo. Tento proces učenia je veľmi náročný, vyžaduje veľké výpočtové systémy. Ako najvhodnejší sa zdá Stuttgartský simulátor neurónových sietí. 3/ implementácia neurónových sieti - ide o implementáciu naučenej neurónovej siete do hardwarovej formy
Existujú rôzne oblasti využitia neurónových sieti. Napríklad :
· problémy aproximácie funkcií
· klasifikácie do tried , klasifikácia situácií
· riešenie predikčných problémov
· problémy riadenia procesov
· transformácia signálov
· asociačné problémy , simulácia pamäte
Neurón je elementárna častica neurónovej siete a skladá sa z:
* vstup do neurónu (dendrit)
* prah neurónu - je hodnota , ktorá vlastne prispieva ku vstupu z
externého sveta
* aktivačná funkcia neurónu f, ktorej výsledkom je xi
aktivačná funkcia - zriedka býva lineárna, používa sa tzv.
sigmoidálna funkcia
*výstupná funkcia neurónu oi
* synaptické váhy, ktoré sú na synaptických spojeniach (synapsiach),
ktoré majú svoj smer a spájajú jednotlivé neuróny do NN
Neurónovú sieť vlastne tvorí viacero neurónov zapojených tak, že výstup
jedného je vstup druhého.
Podľa toku signálu po synapsii rozoznávame neuróny:
- predsynaptické /zdrojové - pred synapsiou/
postsynaptické /cieľové - po synapsii/
Rozlišujeme nasledujúce vrstvy neurónových sieti:
a/ vstupná vrstva - v ktorej neuróny dostávajú vstup len z vonkajšieho sveta a výstup pokračuje k ďalšiemu neurónu
b/ skrytá vrstva - v ktorej neuróny dostávajú vstup z ostatných neurónov alebo aj z externého sveta cez prahové prepojenia
c/ výstupná vrstva - výstupy z tejto vrstvy vyúsťujú do externého sveta
Činnosť neurónových sieti rozdeľujeme do dvoch fáz , a to fáza učenia a fáza života .
Fáza učenia
Fáza učenia nastáva vtedy , keď sa znalosti ukladajú do synaptických váh neurónových sieti. Synaptické váhy sa počas učenia menia. Je to vlastne zbieranie poznatkov , resp. ich uchovanie .
Učenie je proces , v ktorom sa parametre neurónovej sieti menia na základe nejakých pravidiel. Charakter týchto pravidiel , ktoré vyvolávajú zmeny synaptických váh neurónových sieti , determinuje typ učenia neurónovej siete. Pod učením rozumieme adaptáciu neurónovej siete , ktorá po ukončení učenia bude nositeľkou znalostí získaných počas učenia.
Učenie je základnou a podstatnou vlastnosťou neurónových sietí.
DRUHY UČENIA
Prístupy k učeniu rozdeľujeme do dvoch veľkých skupín:
1/ kontrolované učenie - supervised learning /učenie s učiteľom/, to sa ďalej rozdeľuje do dvoch podskupín:
- štrukturálne učenie - rozoznávame tu dve skupiny metód:
- autoasociačné - neurónové siete sa musia tak adaptovať, aby to čo bolo na vstupe bolo aj na výstupe
- heteroasociačné - neurónové siete sa naučia rozpoznávať výstupy a zatrieďovať ich
- temporálne učenie
2/ nekontrolované učenie - unsupervised learning /učenie bez učiteľa/
Kontrolované učenie
Filozofia kontrolovaného učenia je ovplyvnená prítomnosťou učiteľa v celom procese učenia. Toto učenie delíme na tri základné skupiny:
1/ učenie na základe opravy chyby /error correction learning/
2/ stochastické učenie /stochastic learning/
3/ učenie na základe hodnotenia činnosti /reinforcement learning/
1/Učenie na základe opravy chyby
- tento prístup predpokladá zmenu synaptickej váhy ako funkciu premennej t.j. rozdiel medzi očakávaným stavom výstupného neurónu a vypočítaným stavom
2/Stochastické učenie
- ide o zmeny synaptickej váhy založené na stochastických prístupoch. Navrhne sa stochastická zmena synaptickej váhy a vypočíta sa energia neurónovej siete. Ak zmena priniesla zníženie energie neurónovej siete, návrh zmeny sa príjme. Ak zmena energie nepriniesla spomínaný efekt návrh sa zamietne. Príkladom takýchto neurónových sieti je Boltzmanov stroj a jeho modifikácie.
3/ Učenie na základe hodnotenia činnosti
- charakter učenia je podobný ako v prípade učenia podľa korekcie chyby, ale základným rozdielom je, že sa zhodnocuje stav výstupu celej výstupnej vrstvy pomocou nejakej skalárnej veličiny.
Nekontrolované učenie
Pri tomto type učenia ide o spracovanie vstupu do neurónových sieti na základe určitých zákonitostí. To znamená, že neurónovým sietiam môžeme počas učenia ponúknuť /iba/ vstup na neurónové siete. Neurónová sieť sama spracuje a určuje výstup.
Siete ktoré používajú takúto metódu učenia nazývame tzv. samo-organizujúce sa siete /self-organising/.
Vo všeobecnosti rozdeľujeme metódy nekontrolovaného učenia do dvoch skupín:
- Hebbovo učenie /Hebbian learning/ - blízke biologickým systémom
- Kooperačné a konkurenčné učenie /cooperative and competitive learning/
1/ Hebbovo učenie
- ak dva neuróny na opačných stranách synapsie sú aktivované naraz /synchrónne/, potom synaptická váha synapsie sa zvýši. Ak dva neuróny na opačných stranách synapsie sa aktivizujú v rôznych časoch /asynchrónne/, potom synaptická váha sa zníži alebo konverguje k nule. Takéto synapsie neurónových sieti, ktoré spĺňajú spomenuté zásady nazývame Hebbove synapsie.
2/ Kooperačné a konkurenčné učenie
- pre konkurenčné učenie platí tzv. zákon "kto vyhrá berie všetko" a môžeme ho zhrnúť do týchto krokov:
a/ vstup prichádza do neurónových sieti
b/ signály prechádzajú do nasledujúcich vrstiev
c/ neurón s najvyššou hodnotou sa stáva "víťazom" a je nastavený na 1 a ostatné sú nastavené na 0.
Konkurenčné metódy učenia sa vhodne využívajú pre zámery zhlukovania vstupných dát.
Topológia neurónových sieti
Pri návrhu neurónových sieti vo všeobecnosti rozdeľujeme topológiu neurónových sieti do dvoch základných skupín , a to dopredné neurónové siete a rekurentné neurónové siete .
Dopredné neurónové siete (feed-forward FF NN)
Signál sa šíri po orientovaných synaptických prepojeniach len jedným smerom , a to dopredu. Rozlišujeme nasledovné vrstvy neurónových sieti :
· vstupnú vrstvu , v ktorej neuróny dostávajú vstup len z vonkajšieho sveta a výstup obvykle pokračuje k ďalším neurónom neurónovej siete
· skrytú vrstvu (hidden layer) , v ktorej neuróny dostávajú vstup z ostatných neurónov alebo aj z externého sveta cez prahové prepojenia a ich výstupy pokračujú ďalej do neurónovej siete
· výstupná vrstva - je podobná ako skrytá vrstva , akurát je obvyklé , že výstup z tejto vrstvy vyúsťuje do externého sveta
Rekurentné neurónové siete(recurrent RC NN)
Pri rekurentných neurónových sieťach je dosť ťažké rozdelenie vrstiev a neurónov na vstupné , resp. výstupné. V rekurentných neurónových sieťach niekedy neuróny predstavujú vstupné , ale aj výstupné typy neurónov. Špeciálnym prípadom sú tzv.
čiastočné rekurentné neurónové siete , v ktorých je stanovená určitá pohľadávka na štruktúru a na prepojenia .
Šírenie signálu v rámci neurónových sieti môže byť veľmi rozmanité :
· synchrónne - všetky neuróny menia svoj stav do taktu (prostredníctvom synchronizačných hodín)
· sekvenčné - neuróny menia svoj stav postupne pri šírení signálu
· blok-sekvenčné - aktivizujú sa len skupiny neurónov , podľa vopred určenej stratégie
· asynchrónne - neuróny menia svoje stavy asynchrónne , teda úplne nezávisle jeden od druhého
Najjednoduchšou neurónovou sieťou je perceptrón. Perceptrón má tri vrstvy , a to :
· senzorová vrstva
· asociatívna vrstva
· výstupný neurón
Spojenie medzi senzorovou a asociatívnou vrstvou má pevné váhy , teda sa na procese učenia nezúčastňuje. spojenie medzi asociatívnou vrstvou a výstupným neurónom je prepojené synapsiami s premenlivými synaptickými váhami .
Na topológii typu perceptrón môže byť realizované principiálne kontrolované učenie rôzneho druhu. Siete s rovnakou topológiou môžu mať rozličné algoritmy učenia.
|