Články a foto


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

Ukážeme vám priestor

Náhodná fotografia

Tatry Portál - všetko o Vysokých Tatrách