Díl 2
Konečně se přesuneme od teoretického výkladu a testování s číselnými výstupy, k něčemu praktičtějšímu. Hlavně snad názornějšímu a na první pohled snad posoudíte i učení neuronových sítí opticky.
Napadlo nás jednoduché hledání pozice v prostoru (2D prostoru, ale v 3D prostoru je to obdobné) .
Na ploše jsou dva body. První je řízen neuronovou sítí (říkejme mu pracovně Playron – ten větší) a druhý je cíl (menší), kterého neuronová síť má dosáhnout.
Vstupními parametry pro učení a vyhodnocení musí být samozřejmě poziční body Playrona (X a Y) a cíle (Xp a Yp).
Vstupní hodnoty jsou lineárně normalizované na 0 až 1 pro osu x i y. 0 odpovídá počátku a 1 maximální hodnotě souřadného systému. V našem případě 0 až 1 odpovídá hodnotám 0 až 608 pixelů pro každou osu.
Pokud budeme vycházet ze vstupů absolutních pozic bude mít naše neuronová síť 4 vstupní neurony pro X, Y, Xp a Yp. Absolutní vstupní parametry učí neuronovou síť se pohybovat v souřadném systému podle aktuální pozice vztažené k počátku.
Nebo můžeme použít jako vstupní parametry rozdíl pozice Playrona a cíle v ose x a y. Tzn. že vstupní neurony budou jen dva X-Xp a Y-Yp. Relativní vstupní parametry učí neuronovou síť vyhledat cíl v libovolných souřadnicích jen podle vzdálenosti od cíle.
Pro výstup jsme zvolili dva neurony pro pohyb v ose x a y. Výsledkem jsou hodnoty 0, která určuje pohyb jedním směrem a 1 směrem opačným. V našem případě jsme zvolili krok 10 s tím, že nulový pohyb je na hodnotě 0.5. Takže naše pohybové hodnoty (dX, dY) nabývají čísel od –5 až do +5.
Na připravovaná data se dá pohlížet několika způsoby.
Aplikace obsahuje textovou nápovědu po najetí myší na určitý ovládací prvek.
Z přiložených souborů si můžete otevřít vzorová a naučená neuronová data, nebo si vytvořit svoji konfiguraci sítě a zkusit si učení a sledování změny chování výpočtu.
UraxMove.zip (C++) hledání pozice neuronovou sítí aplikace ke stažení (288 kB)
(Stažený soubor rozbalte do nějakého adresáře. Balíček obsahuje aplikaci a vzorová data.)
Pro názornost také aplikace v Javě. Klávesou A spustíte jeden cyklus učení.
NoGoNw1.zip (Java) hledání pozice neuronovou sítí aplikace ke stažení (2,18 MB)
(Stažený soubor rozbalte do nějakého adresáře.)
Příště si zkusíme konečně něco okázalejšího – ping pong.
Pěkné hraní na Shrimphood.net
-fjura-
Další projekty Neuronové sítě