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äť |