6.6.2005 - Ako na neurónky, alebo Stuttgart Neural Network Simulator po slovensky a v praxi ;-)
 OK, takže poďme nato od začiatku, čo nám treba vedieť:
- NN je ozna?enie pre neurónové siete ;-)
- Každá NN má tri druhy vrstiev : vstupnú input, skryté vrsty hidden a výstupnú output.
- Neuróny v SNNS sú dopredu definované, takže MI ICH NEPROGRAMUJEME. Urobíme len sie?, akú potrebujeme a pospájame ju synapsiami.
- Neurónka má dve fázy: fázu u?enia a fázu testovania.
- V simulátori SNNS si takúto neurónku spolo?ne vyrobíme.
Simulovanie LINUXU na Win
Stiahnite si X-Win32
http://www-ra.informatik.uni-tuebingen.de/downloads/SNNS/Windows/Executables/X-Server/
rozbalte a nainštalujte :-)
Táto verzia X-Win32 je demo a je oklieštená tým, že za predpokladu, že niekto z Vás strávi v programe neuverite?ných 120 minút, X-Win32 sa vypne :-|
Nebojte sa, to?ko ?asu (hádam) nepotrebujete :-)))
SNNS
Stiahnite si SNNS
http://www-ra.informatik.uni-tuebingen.de/downloads/SNNS/Windows/Executables/SNNSv4.2.Win32-bin.zip
Nainšalujete ho nakopírovaním :-) kade-tade :-)))
Spustíte ho netradi?ne jednoducho z Windowsu kliknutím na SNNS.bat.
Stiahnite si jednoduchý príklad neurónky:
a nakopírujte si ho niekde do adresára "priklad" do SNNS, aby sme nemuseli po neho daleko chodi?...
V príklade je NN s 4 neurónmi, ktorá sa pod?a vstupov, ktoré jej zadáme nau?í funkciu XOR =>
1,1 => 0
0,0 => 0
1,0 => 0
0,1 => 0
Naša NN sa funkciu nau?í a bude ju vedie? po?íta? aj pre iné vstupy, napr. 0,3 a 0,5.
Otvorenie existujúcej neurónky a u?enie
Po spustení SNNS sa vám otvorí hlavné okienko programu.
DôLEŽITÉ: Nikdy nezatvárajte podokná programu cez krížik, lebo o všetko prídete! :-(
Zo všetkých tla?idiel budeme potrebova? len: File, Control, Display, Graph, Bignet aaaaaaaaaaaaaa Quit :-) (my favourite :-D )
Za?neme File:
- Aby sme otvorili uložený príklad, musíme otvori? súbor s NN. Tá ma príponu .NET a teda vysvietime .NET a klikneme na xor.net a na Load.
- Potom musíme natiahnu? súbory PATTERN; klikneme na .PAT a postupne klikame na všetky tri z príkladu a dávame za každým Load.
- Tak to by sme mali. Môžeme kliknu? na Done.
?o sme urobili?
Natiahli sme do SNNS neurónku (xor.net) a súbory so vstupmi a výstupmi siete (*.pat), pod?a ktorých sa bude NN u?i? a na ktorých ju budeme aj testova?.
Zobrazenie NN:
- aby sme NN videli, klikneme v menu na Display.
- aby sme videli synapsie, klikneme na menu Setup a zaškrtnme oproti pôvodnému nastaveniu Link On a -2.35 , Done.
?o sme urobili?
Zobrali sme si neuróny (nody) spolu so synapsiami a ich váhami.
Zobrazenie Grafu:
- tla?idlom Graph zobrazte graf, kde sa budú ukazova? výsledky presnosti.
- Šípkami pri X a Y si prispôsobujete zobrazovanú plochu, takže ak ni? nevidíte, skúste si to odzoomova? :-)
U?enie neurónky:
Na u?enie a testovanie NN slúži tla?idlo Control:
- V prvom rade si nastavte funkcie ( tla?idlo Sel.Function ) U?enia (Learn) Updateovania, Inicialitácie (Init), Remapovania (Remap) na základné hodnoty, teda prá funkcia v zobrazených zoznamoch.
- Nastavte po?et cyklov, v ko?kých sa bude neurónka u?i? na 1000 :-)
- Nastavte obidva paterny tla?idlom Use na xor.pat.
- Vyskúšajte si, ako budú vyzera? vstupy a výstupy NN pomocou tla?idla Test. V Display vidíte aké hodnoty boli privedené na vstup a ?o sme dostali na výstupe.
- Tla?idlom Init inicializujete NN a synapsie dostanú všetky váhu 1.
- Tla?idlom All nau?íte neurónku všetky príklady z patternu xor.pat.
- VyClearujte okno grafu.
- Vyresetujte sie? pomocou Reset, použite pattern xor_bigtrain.pat v oboch Useoch. Inicializujte pomocou Init a nau?te pomocou All. V grafe uvidíte, ako Vám krásne sadla chyba nižšie.
A tým sme sa dostali k poslednej veci a tou je vytvorenie svojej vlastnej NN. Urobíme si tiež XOR, ale taký, ktorý bude ma? v skrytej vrstve dva neuróny - nody:
- kliknite na Bignet a zvolte General. Zobrazí sa Vám okno, kde sa definuje NN. Horná ?as? okna definuje neuróny, spodná synapsie.
- Plane znamená jedna vrstva. V Current plane máte obsah terajšej vrstvy (prázdne) do st?pca Edit Plane budeme zadáva? naše neuróniky: :-)
- Najprv urobíme vstupnú vrstvu: Type musí by? nastavený na input. Mení sa tla?idlom Type. x-direction=2 (neuróny) y=1. Position sa mení tla?idlom Pos a nastavíme ju na below, nech to máme zacentrované pekne.
- Teraz navrhnutú vrstvu potvrdíme tla?idlom Enter. Vrstva sa zobrazí v Current Plane a je jej pridelený index - prvé ?íslo. Ak ste nie?o dobabrali, prepíšete ju napísaním nových nastavení do Edit plane a stla?ením Overwrite.
- Takto vystvoríme aj druhú vrstvu - rovnako, len typ nebude input ale hidden. Posledná vrstva bude ma? len jeden neurón a jej typ bude output. Tým sme skon?ili zadávanie neurónov.
- Ideme vytvori? synapsie medzi neurónmi. Chceme ich urobi? všade, takže v dolnej ?asti okna sta?í kliknú? na Full connection.
- Sie? je hotová stla?ením Create net. Pozrite si ju v okne Display.
- Cez okno Control by sme mohli na ?u pusti? patterny a nau?i? ju XOR presne tým spôsobom, akým sme to robili s neurónkou, ktorá bola popísaná vyššie.
- Pokia? vyslovene neuložíte zmeny cez File, .NET a Save, tak Vám sie? neuloží.
To?ko krátky úvod do SNNS - stru?no a jasne :-) Have a good luck.
späť |