+ All Categories
Home > Documents > Vizuální 3D analýza chování neuronových...

Vizuální 3D analýza chování neuronových...

Date post: 14-Jul-2020
Category:
Upload: others
View: 0 times
Download: 0 times
Share this document with a friend
80
Ceské vysoké uc ení technické v Praze Fakulta elektrotechnická Diplomová práce Vizuální 3D analýza chování neuronových sítí Jirí Nožka Vedoucí práce: Ing. Pavel Kordík Studijní program: Elektrotechnika a informatika dobíhající magisterský Obor: Informatika a výpocetní technika Leden 2007
Transcript
Page 1: Vizuální 3D analýza chování neuronových sítífakegame.sourceforge.net/lib/exe/fetch.php?media=nozkaj1... · 2009-08-24 · Ceské vysoké ucení technické v Praze Fakulta

Ceské vysoké ucení technické v Praze

Fakulta elektrotechnická

Diplomová práce

Vizuální 3D analýza chování neuronových sítí

Jirí Nožka

Vedoucí práce: Ing. Pavel Kordík

Studijní program: Elektrotechnika a informatika dobíhající magisterský

Obor: Informatika a výpocetní technika

Leden 2007

Page 2: Vizuální 3D analýza chování neuronových sítífakegame.sourceforge.net/lib/exe/fetch.php?media=nozkaj1... · 2009-08-24 · Ceské vysoké ucení technické v Praze Fakulta

ii

Page 3: Vizuální 3D analýza chování neuronových sítífakegame.sourceforge.net/lib/exe/fetch.php?media=nozkaj1... · 2009-08-24 · Ceské vysoké ucení technické v Praze Fakulta

iii

Podekování: Rád bych podekoval Ing. Pavlu Kordíkovi za vedení pri mém studiu problematiky související s touto prací a také za jeho otevrený a prátelský prístup a predevším za jeho trpelivost se mnou. Mé obrovské díky patrí mým rodicum, kterí mi studium umožnili a v jeho prubehu me intenzivne podporovali, jak jen to bylo možné.

Jsem také velmi rád, že mohu podekovat své prítelkyni Barbore, která mi dodávala elán a optimismus.

Page 4: Vizuální 3D analýza chování neuronových sítífakegame.sourceforge.net/lib/exe/fetch.php?media=nozkaj1... · 2009-08-24 · Ceské vysoké ucení technické v Praze Fakulta

iv

Page 5: Vizuální 3D analýza chování neuronových sítífakegame.sourceforge.net/lib/exe/fetch.php?media=nozkaj1... · 2009-08-24 · Ceské vysoké ucení technické v Praze Fakulta

v

Prohlášení Prohlašuji, že jsem svou diplomovou práci vypracoval samostatne a použil jsem pouze podklady uvedené v priloženém seznamu. Nemám závažný duvod proti užití tohoto školního díla ve smyslu §60 Zákona c. 121/2000 Sb., o právu autorském, o právech souvisejících s právem autorským a o zmene nekterých zákonu (autorský zákon).

V Praze dne 10. 1. 2007 …………………………………………………

Page 6: Vizuální 3D analýza chování neuronových sítífakegame.sourceforge.net/lib/exe/fetch.php?media=nozkaj1... · 2009-08-24 · Ceské vysoké ucení technické v Praze Fakulta

vi

Page 7: Vizuální 3D analýza chování neuronových sítífakegame.sourceforge.net/lib/exe/fetch.php?media=nozkaj1... · 2009-08-24 · Ceské vysoké ucení technické v Praze Fakulta

vii

Abstract The GAME method automatically generates models of variously complex systems. Models built by this method are often multidimensional, just as the data, which are used in training these systems. The problem is to find out, wheather the output of model aproximates the training data correctly.

The aim of this work is to get better insight into a multidimensional behaviour of models, by means of 3D graphics. As the multidimensional space is too extensive, we applied genetic algorithms to locate remarkable areas in this space automatically.

Abstrakt Metoda GAME automaticky generuje modely rozlicne složitých systému. Takto vytvorené modely jsou casto mnohorozmerné stejne jako data, použitá k jejich ucení. Problém je zjistit, zda výstup modelu správne aproximuje trénovací data.

Smyslem této práce je umožnit získat alespon cástecnou predstavu o mnohorozmerném chování modelu s využitím prostredku 3D grafiky. Protože je mnohodimenzionální prostor príliš rozsáhlý, nasadili jsme genetické algoritmy k automatickému nalezení zajímavých oblastí v tomto prostoru.

Page 8: Vizuální 3D analýza chování neuronových sítífakegame.sourceforge.net/lib/exe/fetch.php?media=nozkaj1... · 2009-08-24 · Ceské vysoké ucení technické v Praze Fakulta

viii

Page 9: Vizuální 3D analýza chování neuronových sítífakegame.sourceforge.net/lib/exe/fetch.php?media=nozkaj1... · 2009-08-24 · Ceské vysoké ucení technické v Praze Fakulta

ix

Obsah Seznam obrázku……………………………………………………………………… xi 1 Úvod...................................................................................................................................1 Teoretická cást 2 Neuronové síte .................................................................................................................4

2.1 Úvod do problematiky neuronových sítí...............................................................4 2.2 Inspirace prírodními nervovými systémy .............................................................4 2.3 Umelá neuronová sít ...............................................................................................5 2.4 Ucení zpetným šírením signálu – BackPropagation..........................................6 2.5 Group Method of Data Handling (GMDH) ...........................................................8 2.6 Group of Adaptive Models Evolution (GAME) ..................................................11 2.7 Skupinové ucení (Ensemble learning) ...............................................................12

3 Vizualizace dat...............................................................................................................12 3.1 Scatterplot...............................................................................................................13 3.2 Technika paralelních souradnic ..........................................................................13

4 Java 3D API....................................................................................................................14 4.1 Základní architektura Java 3D API.....................................................................15 4.2 Základní objekty 3D scény v Jave ......................................................................15

5 Genetické algoritmy.......................................................................................................16 5.1 Inspirace..................................................................................................................16 5.2 Analogie ..................................................................................................................17 5.3 Algoritmus ...............................................................................................................17 5.4 Fitness funkce ........................................................................................................18 5.5 Elitismus ..................................................................................................................18

Vlastní práce 6 Shrnutí výchozích poznatku.........................................................................................20

6.1 Regresní a klasifikacní modely............................................................................20 6.2 Model v multidimenzionálním prostoru ..............................................................21 6.3 3D rez n-dimenzionálního prostoru ....................................................................23

7 Postup vizualizace 3D rezu..........................................................................................24 7.1 Osy...........................................................................................................................27 7.2 Vizualizace trénovacích a ucicích dat ................................................................31 7.3 Zobrazení dat a odpovedi síte najednou ...........................................................33 7.4 Svetla a materiálové vlastnosti ............................................................................34 7.5 Nastavení smeru a poctu smerových svetel .....................................................35 7.6 Barvy svetel ............................................................................................................37 7.7 Zobrazení více modelu najednou – regrese......................................................37 7.8 Problémy s pruhledností, chyba v Java 3D API...............................................39

8 Ctení grafu – co lze z vizualizovaného modelu vypozorovat..................................41 8.1 Vyhledání oblastí zajímavého chování modelu ................................................42 8.2 Aplikace genetického algoritmu ..........................................................................44

8.2.1 Zakódování chromozomu.............................................................................45 8.2.2 Operátory krížení...........................................................................................45 8.2.3 Operátor mutace ............................................................................................46 8.2.4 Operátor selekce ...........................................................................................46 8.2.5 Fitness funkce ................................................................................................47 8.2.6 Nastavení parametru genetického algoritmu............................................47

9 Testování a experimenty..............................................................................................48 9.1 Mlžná telesa pro klasifikacní modely..................................................................48

Page 10: Vizuální 3D analýza chování neuronových sítífakegame.sourceforge.net/lib/exe/fetch.php?media=nozkaj1... · 2009-08-24 · Ceské vysoké ucení technické v Praze Fakulta

x

9.2 Overení korektnosti vizualizace 3D rezu ...........................................................51 9.3 Užití genetického algoritmu..................................................................................53

9.4. Genetický algoritmus na reálných datech…..………

………………………...Chyba! Záložka není definována. 10. Záver .............................................................. Chyba! Záložka není definována. 11. Seznam literatury ......................................... Chyba! Záložka není definována. A. Seznam použitých zkratek ................................. Chyba! Záložka není definována. B. Uživatelská prírucka ............................................ Chyba! Záložka není definována.

B1. Instalace........................................................ Chyba! Záložka není definována. B2. Získání modelu pro vizualizaci .................. Chyba! Záložka není definována. B3. Aktivace vizualizacního modulu ................ Chyba! Záložka není definována. B4. Ovládání vizualizacního modulu ............... Chyba! Záložka není definována. B5. Nastavení vlastností vizualizace ............... Chyba! Záložka není definována.

B51. Záložka Axis ............................................. Chyba! Záložka není definována. B52. Záložka Models ........................................ Chyba! Záložka není definována. B53. Záložka Lights .......................................... Chyba! Záložka není definována. B54. Záložka Data ............................................ Chyba! Záložka není definována. B55. Záložka Genetic search.......................... Chyba! Záložka není definována.

C. Obsah priloženého CD ....................................... Chyba! Záložka není definována.

Page 11: Vizuální 3D analýza chování neuronových sítífakegame.sourceforge.net/lib/exe/fetch.php?media=nozkaj1... · 2009-08-24 · Ceské vysoké ucení technické v Praze Fakulta

xi

Seznam obrázku Obr. 2.1 Umelý neuron

Obr. 2.2 Umelá neuronová sít

Obr. 2.3 Ucení neuronové síte s ucitelem

Obr. 2.4 GMDH sít

Obr. 2.6 Srovnání MIA GMDH síte se sítí GAME

Obr. 3.1 2D Scatterplot

Obr. 3.2 Vizualizace 3rozmerných dat metodou paralelních souradnic

Obr. 4.1 Stromová struktura jednoduché 3D scény

Obr. 6.1 Neuronová sít z funkcního hlediska

Obr. 6.2 Dekompozice neuronové síte s více výstupy na více sítí s jediným

výstupem

Obr. 7.1 Tvorba 3D rezu

Obr. 7.2 Vizualizace chování síte pomocí bodu v prostoru

Obr. 7.3 Vizualizace chování síte pomocí drátového modelu

Obr. 7.4 Vizualizace chování síte pomocí ploch v prostoru

Obr. 7.5 Zobrazení samotných os souradného systému

Obr. 7.6 Osy souradného systému s jejich názvy

Obr. 7.7 Osy souradného systému s jejich názvy a hodnotami

Obr. 7.8 Osy souradného systému s jejich názvy, hodnotami a orientacními body

Obr. 7.9 Zobrazení samotných ucicích dat

Obr. 7.10 Zobrazení dat a odpovedí síte v jedné scéne

Obr. 7.11 Nasvícení scény všudyprítomným svetlem – AmbientLight

Obr. 7.12 Nasvícení scény smerovým svetlem – DirectionalLight

Obr. 7.13 Orientace 6 smerových svetel

Obr. 7.14 Orientace 8 smerových svetel

Obr. 7.15 Více sítí v jedné scéne spolu s daty

Obr. 7.16 3 síte s pruhledností

Obr. 7.17 Stejné síte jako na obrázku 7.16, ale nepruhledné

Obr. 8.1 Závislost ceny budov v urcitém bode n-rozmerného prostoru

Obr. 8.2 Zakódování chromozomu

Obr. 8.3 Usporádání konfiguracního panelu genetického algoritmu

Obr. 9.1 Vizualizace klasifikacního modelu s využitím billboardu

Obr. 9.2 Overení korektnosti vizualizace

Page 12: Vizuální 3D analýza chování neuronových sítífakegame.sourceforge.net/lib/exe/fetch.php?media=nozkaj1... · 2009-08-24 · Ceské vysoké ucení technické v Praze Fakulta

xii

Obr. 9.3 Artefakty pri vizualizaci klasifikace pomocí bodu

Obr. 9.4 Vlevo náhodná oblast, vpravo zajímavá oblast nalezená genetickým

algoritmem

Obr. 9.5 Prubeh rustu fitness funkce pri hledání zajímavých oblastí genetickým

algoritmem

Obr. 9.6 Vlevo náhodná oblast, vpravo zajímavá oblast nalezená genetickým

algoritmem

Obr. 9.7. Vývoj fitness funkce na modelech z reálných dat

Obr. B.1 Program GAME s aktivovaným vizualizacním modulem

Obr. C.1 Obsah priloženého CD

Page 13: Vizuální 3D analýza chování neuronových sítífakegame.sourceforge.net/lib/exe/fetch.php?media=nozkaj1... · 2009-08-24 · Ceské vysoké ucení technické v Praze Fakulta

xiii

Page 14: Vizuální 3D analýza chování neuronových sítífakegame.sourceforge.net/lib/exe/fetch.php?media=nozkaj1... · 2009-08-24 · Ceské vysoké ucení technické v Praze Fakulta
Page 15: Vizuální 3D analýza chování neuronových sítífakegame.sourceforge.net/lib/exe/fetch.php?media=nozkaj1... · 2009-08-24 · Ceské vysoké ucení technické v Praze Fakulta

KAPITOLA 1. ÚVOD

1

1 Úvod Tvorba modelu je jedním ze základních nástroju abstraktního myšlení. Popišme si

tento proces podrobneji. Ac o tom ne každý clovek takto uvažuje, vytvárí si pri

poznávání okolního sveta i sebe sama ve své mysli, at vedome ci nevedome,

abstraktní objekty, které jsou modely reálných objektu z okolního sveta. Tento

myšlenkový model zachycuje významné vlastnosti reálného modelovaného objektu.

To, které vlastnosti objektu budou považovány za duležité, se odvíjí predevším od

zámeru, který nás vede ke zkoumání konkrétního objektu.

Model je objekt, který slouží k predikci chování modelovaného objektu.

Modely systému jsou zjednodušené, abstraktní nástroje používané pro predikci chování modelovaných systému. [2] Pokud odhlédneme od vnitrní struktury neuronové síte, mužeme na ni nahlížet

jako na cernou skrínku, která má schopnost sama se naucit správne reagovat na

vstupní signály pomocí urcitého množství príkladu správné reakce na dané signály.

Temito príklady správné reakce jsou trénovací data. Jednou z predností neuronové

síte je fakt, že ucicí príklady zdaleka nemusí kompletne pokrývat celý obor hodnot.

Jinými slovy, neuronová sít se naucí správne reagovat ve všech prípadech, a to jen

pomocí menšího množství príkladu. Receno ješte jinak, neuronová sít je ve své

podstate vlastne univerzální interpolátor a extrapolátor.

Neuronová sít tedy vytvárí model systému, ze kterého pocházejí ucicí data.

Tento model vzniká ve fázi ucení neuronové síte a je realizován vnitrní strukturou a

vnitrními parametry neuronové síte. Modelem je mnohodimenzionální prostor, kde

každé dimenzi odpovídá jeden parametr modelovaného systému.

S takto získaným modelem pak mužeme pracovat tak, že predložíme

na vstup neuronové síte vektor souradnic – odpovídající hodnotám parametru

modelovaného systému, a na výstupu neuronové síte obdržíme odpoved síte

na tento vstupní vektor.

Model systému vytvorený neuronovou sítí by tedy mel vystihovat chování

modelovaného systému, ale ponevadž ve fázi ucení nemá neuronová sít k dispozici

kompletní a vycerpávající informace o modelovaném systému, musí chování

systému v mnohých místech odhadovat. Kdybychom tyto kompletní informace o

Page 16: Vizuální 3D analýza chování neuronových sítífakegame.sourceforge.net/lib/exe/fetch.php?media=nozkaj1... · 2009-08-24 · Ceské vysoké ucení technické v Praze Fakulta

KAPITOLA 1. ÚVOD

2 systému meli, patrne bychom nepotrebovali neuronovou sít. Model systému proto

nemusí ve všech oblastech odpovídat realite. Jedním z motivu této práce je

napomoci takové oblasti odhalit, stejne tak jako najít oblasti, ve kterých by se

vytvorený model mel blížit systému skutecnému s vetší pravdepodobností. Dalším

smyslem této práce je napomoci nalézt takové oblasti v modelu, které jsou nejakým

zpusobem zajímavé, a napomoci tak pri analýze vytvoreného modelu, a dále umožnit

nahlížet na model s využitím podpory pocítacové 3D grafiky.

Metod vizualizace dat existuje pomerne velké množství. Mým úkolem bylo

nejakou zvolit a implementovat ji do prostredí programu GAME, vyvíjeného na

katedre pocítacu FEL CVUT.

Tato práce je clenena na dve sekce. V první teoretické sekci shrnuji

nejduležitejší teoretické poznatky, týkající se sekce vlastní práce. V sekci vlastní

práce popisuji funkci jednotlivých soucástí vizualizacních modulu, které jsem

implementoval, a zásadní rozhodnutí, která jsem v prubehu implementace musel

ucinit. Na konci této sekce jsou popsány experimenty, které jsem provedl za úcelem

overení správné funkce implementovaných modulu. Sekce vlastní práce je pro

ilustraci doplnena obrázky, které jsou produktem implementovaných modulu.

Page 17: Vizuální 3D analýza chování neuronových sítífakegame.sourceforge.net/lib/exe/fetch.php?media=nozkaj1... · 2009-08-24 · Ceské vysoké ucení technické v Praze Fakulta

KAPITOLA 2. NEURONOVÉ SÍTE

3

Teoretická cást

Page 18: Vizuální 3D analýza chování neuronových sítífakegame.sourceforge.net/lib/exe/fetch.php?media=nozkaj1... · 2009-08-24 · Ceské vysoké ucení technické v Praze Fakulta

KAPITOLA 2. NEURONOVÉ SÍTE

4

2 Neuronové síte

2.1 Úvod do problematiky neuronových sítí

Problematika umelých informacních systému, které jsou principiálne schopné

napodobovat funkce nervových soustav a mozku živých organizmu podstatne

dokonalejším zpusobem, než to muže cinit dosavadní, tzv. konvencní výpocetní

technika, pritahuje pozornost odborníku i laiku již mnoho let. Historie

neuroinformatiky je pomerne dlouhá a obor se prubežne rozvíjí.

Umelé neuronové síte jsou oborem, v nemž mužeme vysledovat období

módního až nekritického zájmu, avšak i období, kdy tento výrazne opadal. Druhá

polovina šedesátých let 20. století prinesla, krome rady nových poznatku, i

autoritativní názor, že perceptron (v té dobe jediný známý model neuronu) je co do

svých schopností precenen, nebot nedokáže realizovat napr. logickou funkci XOR

[4]. Velká renesance problematiky neuronových sítí nastala až ve druhé polovine 80.

let, kdy se podarilo vysvetlit, že správný poznatek byl nesprávne interpretován.

Mezi neuronovými sítemi a konvencními pocítaci existuje ve zpusobu práce

zásadní rozdíl. Konvencní pocítacové systémy pracují podle predem daného postupu

– algoritmu. Podle nej vykonávají jednotlivé dílcí operace. Naproti tomu neuronové

systémy uskutecnují velmi vysoký pocet dílcích operací soucasne a pracují bez

algoritmu. Jejich cinnost je založena na procesu ucení, pri kterém se neuronová sít

postupne co nejlépe adaptuje k rešení dané úlohy.

Umelými neuronovými sítemi mužeme rešit složitejší úlohy, jako je

rozpoznávání písma, identifikace podpisu ci prevod reci na psaný text. Dalšími

úlohami jsou: predikce v pojištovnictví a bankovnictví, identifikace radarových údaju,

zjištování cíle v sonarových obrazech, detekce explozivních látek na letištích,

chybová diagnostika stroju, rozpoznávání státních poznávacích znacek automobilu,

trídení zásilek podle PSC a v poslední dobe se objevují aplikace v oblasti vytežování

dat (data mining).

2.2 Inspirace prírodními nervovými systémy Neuronové síte jsou inspirovány prírodními nervovými systémy. Poznatky o

prírodních nervových systémech nám pomáhají pri modelování prírodních nervových

systému. Neuronové síte jsou používány pro svou schopnost ucit se na omezené

Page 19: Vizuální 3D analýza chování neuronových sítífakegame.sourceforge.net/lib/exe/fetch.php?media=nozkaj1... · 2009-08-24 · Ceské vysoké ucení technické v Praze Fakulta

KAPITOLA 2. NEURONOVÉ SÍTE

5

množine (vstupu a výstupu) a dávat výsledky i u vstupu, u kterých neznáme výstupy,

cili pro svou schopnost generalizace.

Obr. 2.1 Umelý neuron

Základním stavebním kamenem prírodního nervového systému je neuron.

Neuron má tri cásti: dendrity, soma a axon. Dendrity jsou vstupy a každý neuron jich

má nekolik. Dendrity poskytují neuronu vstupní signály, které jsou v tele neuronu

(soma) secteny, a podle výsledného signálu a prahové funkce je vyslán signál

na výstup neuronu (axon). Neuron má pouze jeden výstup (axon), který se dále vetví

a je napojen pres synapse na další neurony. Synapse se delí na dva druhy. Excitacní

synapse, zvyšující hodnotu signálu, a inhibicní, které naopak snižují hodnotu signálu.

Míra, o kolik se hodnota signálu zvýší nebo sníží, se liší u každé synapse a

nositelem této míry prenosu signálu je tzv. synaptická váha. Tyto synaptické váhy

jsou z velké míry zodpovedné za pamet celé síte. Dalším faktorem vytvárejícím

pametový efekt síte je její struktura a vzájemné propojení jednotlivých neuronu. Nyní

jiste tušíte, že obrovské schopnosti prírodních nervových systému, kterým je i lidský

mozek, jsou predevším dány obrovským množstvím a bohatým vzájemným

propojením jednotlivých nervových bunek cili neuronu. Jen pro predstavu uvedme,

že lidský nervový systém obsahuje približne 1012 neuronu, k jedinému neuronu

smeruje a informaci do nej prináší 10 až 100 tisíc dendritu a délka všech axonu

jediného cloveka více než ctyrikrát presahuje vzdálenost Zeme – Mesíc.

2.3 Umelá neuronová sít

Neuronová sít vzniká ve fázi, které se ríká ucicí. V této fázi máme k dispozici

množinu trénovacích dat, která se skládá z urcitého množství dvojic vektoru

vstupních hodnot a výstupních hodnot. Pocet vstupu síte odpovídá dimenzi vektoru

vstupních hodnot z množiny trénovacích dat. Tyto vektory vstupních hodnot jsou síti

Page 20: Vizuální 3D analýza chování neuronových sítífakegame.sourceforge.net/lib/exe/fetch.php?media=nozkaj1... · 2009-08-24 · Ceské vysoké ucení technické v Praze Fakulta

KAPITOLA 2. NEURONOVÉ SÍTE

6

postupne predkládány. Podle odezvy síte jsou upravovány parametry neuronové síte

tak, aby výstup síte co nejvíce odpovídal ocekávané výstupní hodnote dané

v trénovací množine. Výhodou umelých neuronových sítí je jejich schopnost

generalizovat. Po naucení je sít schopná reagovat i na vstupní vektory, které jí

nebyly predloženy v ucicí fázi. Vnitrní struktura síte se delí na vrstvy. První vstupní

vrstva slouží pouze k distribuci vstupních hodnot do další již skryté vrstvy. Skrytých

vrstev muže být libovolný pocet. Mezi jednotlivými vrstvami existuje propojení. Každý

neuron predchozí vrstvy je propojen s neurony následující vrstvy. To, s jakou

významností bude propojení prispívat do neuronu, je dáno synaptickou váhou, která

je nastavována v ucící fázi. Za poslední skrytou vrstvou je vrstva výstupní, která

reprezentuje a realizuje výstup neuronové síte, hodnota na tomto výstupu je reakcí –

odpovedí síte na predložený vstupní vektor.

Obr. 2.2 Umelá neuronová sít

2.4 Ucení zpetným šírením signálu – BackPropagation Znovuobjevení algoritmu BackPropagation [1 ] prineslo v osmdesátých letech nové

možnosti v oblasti neuronových sítí. Pri použití tohoto algoritmu je struktura síte

vytvorena predem a behem ucicí fáze se již nemení. Algoritmus používá techniku

ucení s ucitelem. Je tedy nutné mít k dispozici ucicí množinu dat. Využívá se pro

Page 21: Vizuální 3D analýza chování neuronových sítífakegame.sourceforge.net/lib/exe/fetch.php?media=nozkaj1... · 2009-08-24 · Ceské vysoké ucení technické v Praze Fakulta

KAPITOLA 2. NEURONOVÉ SÍTE

7

neuronové síte s dopredným šírením signálu. To znamená, že sít nemá žádné

zpetné propojení neuronu nebo propojení ve smycce. Algoritmus probíhá iteracne.

Prvním krokem je porovnání výstupu neuronové síte s ucicím vzorkem. To je

provedeno priložením ucicího vzorku na vstupy síte a porovnáním výstupu

neuronové síte s ocekávanou hodnotou, kterou známe z ucicího vzorku. Na základe

odchylky od vzorku je vypocítána odchylka. Dále je pro každý neuron spocítán

výstup, který by mel správne mít, a jeho lokální odchylka od skutecné hodnoty. Podle

této odchylky je zmenena váha neuronu tak, aby byla minimalizována odchylka na

výstupu neuronové síte. Postupne jsou síti predloženy všechny ucicí vzorky, tomu se

ríká epocha ucení. Algoritmus probíhá tak dlouho, až chyba na výstupu neuronové

síte klesne pod predem zadanou hodnotu, nebo pokud je proveden urcitý pocet

epoch ucení.

Již název algoritmu ríká, že chyba a tím i ucení se šírí zpetne. Chyba se šírí z

výstupních neuronu k vnitrním neuronum neuronové síte. Algoritmus ucení je

založen na minimalizaci odchylky výstupu neuronové síte od všech vzorku z ucící

množiny. Velikost odchylky neuronové síte popisuje její míru naucenosti.

Obr. 2.3 Ucení neuronové síte s ucitelem

Page 22: Vizuální 3D analýza chování neuronových sítífakegame.sourceforge.net/lib/exe/fetch.php?media=nozkaj1... · 2009-08-24 · Ceské vysoké ucení technické v Praze Fakulta

KAPITOLA 2. NEURONOVÉ SÍTE

8

2.5 Group Method of Data Handling (GMDH) Neuronové síte typu GMDH [2] jsou síte, které jsou vytváreny indukcí. Na

rozdíl od sítí, které používají algoritmus BackPropagation, struktura síte typu GMDH

není predem známá, ale vzniká až ve fázi ucení. Sít typu GMDH vychází z nekolika

základních stavebních jednotek, které behem fáze ucení kombinuje a snaží se

vytvorit model odpovídající trénovací množine dat. Pri vytvárení modelu se používá

pravidlo „nejsilnejší prežívá“, kde nejsilnejší je ten model, který nejlépe odpovídá

trénovací množine dat.

Sít se skládá ze dvou typu neuronu. První typ neuronu – distribucní – je

obsažen pouze v první (vstupní) vrstve. Tento neuron má pouze jeden vstup a

nekolik výstupu. Jeho jedinou funkcí je distribuovat vstupní hodnotu na vstupy

neuronu v první skryté vrstve. Skryté vrstvy jsou složeny z druhého typu neuronu,

který realizuje transformacní funkci, a na poctu jejích parametru závisí i pocet vstupu

do daného neuronu. Jeho výstup, stejne jako výstup distribucního neuronu, muže být

rozvetven a pripojen na vstupy v další skryté vrstve. Aktivní neurony typicky realizují

polynomiální funkci a jednotlivé aktivní neurony se od sebe liší pouze koeficienty

techto polynomu.

Obr. 2.4 GMDH sít

Page 23: Vizuální 3D analýza chování neuronových sítífakegame.sourceforge.net/lib/exe/fetch.php?media=nozkaj1... · 2009-08-24 · Ceské vysoké ucení technické v Praze Fakulta

KAPITOLA 2. NEURONOVÉ SÍTE

9

Pocet a propojení mezi neurony dvou skrytých vrstev jsou dány až ve fázi

ucení, která splývá s tvorbou síte. Na zacátku je pouze první vrstva složená z

distribucních neuronu. Tvorba skryté vrstvy je stále stejná. Vždy vznikne práve tolik

nových neuronu, kolik existuje kombinací vstupu z predchozí vrstvy.

Ucení síte probíhá s ucitelem. Pred ucením není známa struktura neuronové

síte. Sít vzniká vrstvu po vrstve, až v procesu ucení. Na zacátku je jasná pouze

velikost (šírka) vstupní vrstvy. Ta má práve tolik distribucních neuronu, kolik je prvku

(jaká je dimenze) vstupního vektoru. Ucení síte splývá s její tvorbou. Za vstupní

vrstvou pri ucení prirustají další a další skryté vrstvy a tento proces probíhá tak

dlouho, pokud není splneno kritérium kvality výstupní síte.

Algoritmus tvorby skrytých vrstev je stále stejný. V každé vrstve vznikne tolik

neuronu, kolik je úplných kombinací dvojic výstupu vrstvy predchozí. Pak se

jednotlivé neurony konfigurují. To znamená, že se vypoctou všechny koeficienty

jejich polynomu. Pak se nove utvorená vrstva zmrazí. To znamená, že se behem

dalšího ucení již její parametry nemení a vrstva slouží pouze k distribuci signálu.

Muže jen dojít k selekci neuronu v ní obsažených.

Postup pri ucení neuronové síte typu GMDH:

1. konfigurace k-té vrstvy vytvorení nových neuronu výpocet koeficientu

polynomu v každém polynomu

2. selekce neuronu v k-té vrstve

3. ukoncení ucení síte

Konfigurace a selekce se opakují tak dlouho, dokud sít nedosahuje požadované

chyby. Konfigurace k-té vrstvy probíhá tak, že pro každou dvojicí výstupu predchozí

vrstvy vytvoríme nový neuron. Je-li tedy pocet výstupu predchozí vrstvy N, vznikne

takto

( )

21

2−

=

=

NNNm

Page 24: Vizuální 3D analýza chování neuronových sítífakegame.sourceforge.net/lib/exe/fetch.php?media=nozkaj1... · 2009-08-24 · Ceské vysoké ucení technické v Praze Fakulta

KAPITOLA 2. NEURONOVÉ SÍTE

10

nových neuronu. Každý neuron má své vlastní koeficienty v prenosové funkci

polynomu. Po provedení prvního kroku tedy máme sestaveno m obecných

prenosových polynomu, u nichž je treba urcit konkrétní hodnoty koeficientu. K tomu

slouží ucicí množina dat. Ta obsahuje vzory (dvojice vstupu a výstupu).

Priložíme-li na vstupy neuronu hodnotu hodnoty výstupu z predchozí vrstvy a

dosadíme-li hodnotu požadovaného výstupu síte, máme pro každý neuron aktuální

vrstvy lineární kombinaci n koeficientu. Pro urcení hodnoty koeficientu polynomu

existuje rada algoritmu. Nejjednodušší spocívá v náhodném výberu n vstupních

vektoru z ucicí množiny a koeficienty pak dostaneme vyrešením soustavy n

lineárních rovnic o n neznámých. Pri selekci neuronu vypocteme strední kvadratickou

odchylku každého neuronu pro soubor tzv. testovacích dat. Ta jsme získali tak, že

jsme soubor vstupních dat predem rozdelili na cást použitou pri ucení síte a na cást

testovací, kterou zkoumáme, jak kvalitne naucená sít aproximuje. Výpocet této

odchylky tedy probíhá se souborem jiných dat, než která byla použita k ucení.

Výpocet strední kvadratické odchylky muže napríklad probíhat podle tohoto vzorce:

=

=

−= k

ii

k

iii

y

yyr

1

2

1

2

2

)ˆ(

,

kde yi je hodnota požadovaného výstupu, iy skutecný výstup uvažovaného neuronu

a k je pocet vektoru testovací množiny. Neurony aktuální vrstvy seradíme podle

dosažené chyby. To znamená, že neurony s menší chybou budou pred neurony s

chybou vetší. V síti ponecháme jen vyhovující neurony. To znamená, že odstraníme

neurony z konce setrídené posloupnosti. Jsou to totiž neurony s nejvetší chybou a

nechceme tedy, aby jako takové mely na chování síte v dalším pokracování

algoritmu vliv. Neurony, které v aktuální vrstve zustaly, zmrazíme. Jejich koeficienty

se pri další tvorbe síte už menit nebudou a v dalším pokracování algoritmu tyto

neurony budou sloužit pouze k distribuci

dat do vrstev následujících. Ucení síte je ukonceno, když splnuje sít naše požadavky

na výstup. Postupujeme tak, že v každém uc ícím kroku otestujeme, zda nejlepší

neuron s požadovanou presností neaproximuje všechny vstupní vektory testovací

množiny. V kladném prípade tvorba síte skoncila a práve tento neuron je výstupním

neuronem celé síte.

Page 25: Vizuální 3D analýza chování neuronových sítífakegame.sourceforge.net/lib/exe/fetch.php?media=nozkaj1... · 2009-08-24 · Ceské vysoké ucení technické v Praze Fakulta

KAPITOLA 2. NEURONOVÉ SÍTE

11

2.6 Group of Adaptive Models Evolution (GAME) Metoda GAME [3] vylepšuje neuronovou sít typu GMDH. Dokáže generovat

presnejší modely pro rozlicná data. Hlavním prínosem metody GAME je její

schopnost generovat skupiny samoadaptujících se modelu podle charaketru a

komplexnosti zadaných dat. Induktivní model neuronové síte roste do takové

velikosti, aby byl schopen zadanou úlohu vyrešit s požadovanou presností. Model se

skládá z jednotek (neuronu), které nejlépe modelují vnitrní vztahy v datech.

Obr. 2.6 Srovnání MIA GMDH síte se sítí GAME

Jak je videt na obrázku 2.6, sít typu GAME má více stupnu volnosti než sít typu

GMDH (jednotky s více vstupy, propojení mezi vrstvami v síti). S rostoucí

dimenzí zadaných dat je nemožné bez další heuristiky vyhledat v obrovském

stavovém prostoru ruzných modelu správnou topologii. Metoda GAME v sobe

zahrnuje genetický algoritmus, který vyvíjí optimální strukturu modelu. Dalšími

vylepšeními jsou:

• nekolik typu jednotek (neuronu), které souteží o prežití v modelu

• rostoucí složitost modelu

Page 26: Vizuální 3D analýza chování neuronových sítífakegame.sourceforge.net/lib/exe/fetch.php?media=nozkaj1... · 2009-08-24 · Ceské vysoké ucení technické v Praze Fakulta

KAPITOLA 3. VIZUALIZACE DAT

12 • propojení mezi vrstvami

• generování skupiny modelu, které zvyšují verohodnost odezvy modelu

• genetický algoritmus pro vytvárení optimální topologie modelu

• metoda niching, která umožnuje zachování méne presných, ale

zajímavejších neuronu v modelu

Metoda GAME generuje na množine ucicích dat modely s podobnou presností.

Modely jsou testovány na náhodných podmnožinách množiny ucicích dat. Modely se

skládají z podobných typu jednotek (neuronu) a mají podobnou složitost. Je velice

obtížné zvolit jen jeden nejlepší model, protože modely jsou si velice podobné. Proto

vzniká skupina modelu. Výhody skupinového ucení jsou popsány dále.

2.7 Skupinové ucení (Ensemble learning) Tato technika je založena na myšlence, že skupina konecného poctu modelu

neuronových sítí je naucena pro rešení stejné úlohy. Skupinové ucení je nový

prístup, kde je skupina neuronových sítí trénována pro rešení stejné úlohy. Tato

metoda byla poprvé prezentována Hansenem a Salamonem [5], kterí ukázali, že

schopnost neuronových sítí zevšeobecnovat muže být znacne zvýšena seskupením

nekolika neuronových sítí a jejich spolecným naucením a kombinováním odezev

jednotlivých modelu. Aplikace GAME, kterou jsme si popsali v predešlé kapitole,

vytvárí takovouto skupinu modelu, jejímž použitím,

na rozdíl od jednoho modelu, je možné zvýšit presnost modelování.

3 Vizualizace dat Protože se v této práci venujeme vizualizaci mnohorozmerného chování neuronové

síte, strucne zmíníme teorii vizualizace mnohorozmerných dat, která se k našemu

problému tematicky vztahuje, a ze které cerpáme nekteré myšlenky.

Pri práci s neuronovými sítemi se setkáváme s velkými soubory dat. Pro

alespon základní odhalení jejich struktury je možné použít nekolik prístupu. Textový

výpis datových vektoru je pro cloveka, který neví co hledá, necitelný. Na tomto míste

prichází na radu vizualizace, jako nástroj pro první náhled a rozpoznání struktury

souboru dat. Pri vizualizaci hraje zásadní roli dimenze zkoumaných dat. Pochopitelne

s rostoucí dimenzí dat se vizualizace a nahlédnutí struktury dat stává složitejší a

casove nárocnejší.

Page 27: Vizuální 3D analýza chování neuronových sítífakegame.sourceforge.net/lib/exe/fetch.php?media=nozkaj1... · 2009-08-24 · Ceské vysoké ucení technické v Praze Fakulta

KAPITOLA 3. VIZUALIZACE DAT

13 3.1 Scatterplot Pro zobrazení dvourozmerných datových vektoru je vizualizace jednoduchá. Pokud

je jeden datový vektor popsán

( )yxd ,=r

,

zobrazí se v grafu, kde na jedné ose je vynesena hodnota x, na druhé y, a na jejich

souradnicích je zobrazena znacka. Takovému grafu se ríka Scatterplot. Príklad

takového grafu je na obrázku 3.1 .

Obr. 3.1 2D Scatterplot

Tuto techniku vizualizace datových vektoru rozšírenou na trírozmerné datové

vektory jsem použil i já ve své práci pro vizualizaci ucicích a trénovacích datových

vektoru s tím, že jako znacku jsem použil koule.

3.2 Technika paralelních souradnic

Príkladem techniky, která umožnuje vizualizaci mnohorozmerných dat, je technika

nazývaná „technika paralelních souradnic“. Tato technika zobrazuje jednotlivá data z

mnohorozmerného prostoru pomocí lomené prímky, která protíná jednotlivé

rovnobežné horizontálne nebo vertikálne položené osy v bodech, které odpovídají

korespondujícím souradnicím v mnohorozmerném prostoru. Príklad vizualizace

trojrozmerných dat touto technikou je na obrázku 3.2.

Page 28: Vizuální 3D analýza chování neuronových sítífakegame.sourceforge.net/lib/exe/fetch.php?media=nozkaj1... · 2009-08-24 · Ceské vysoké ucení technické v Praze Fakulta

KAPITOLA 4. JAVA 3D API

14

Obr. 3.2 Vizualizace 3rozmerných dat metodou paralelních souradnic ©IEEE

4 Java 3D API Java 3D API je volitelne instalovatelné rozhraní Javy, které poskytuje možnost

programovat a pracovat s 3D pocítacovou grafikou. Ponevadž SUN – autor Javy – se

rozhodl neinvestovat nadále do vývoje 3D rozhraní, stal se vývoj tohoto rozhraní

predmetem vývoje zájmových skupin. Vzhledem k faktu, že mnoho vedeckých skupin

toto rozhraní využívá k vizualizaci a práci s vedeckými daty, nemohl Sun 3D API

zcela umrtvit. Na druhou stranu si jiste v Sunu uvedomili fakt, že vzhledem

k nárocnosti grafických operací a vzhledem k výkonnosti soucasných PC není šance

konkurovat neinterpretovaným jazykum, a tudíž dospeli patrne k záveru, že ke

komercnímu využití toto rozhraní nebude možno v soucasné dobe využít. Takový byl

stav v roce 2005.

V dobe psaní této práce se vývoj tohoto 3D rozhraní sice zpomalil, ale stále

probíhá a vznikají nové rychlejší verze, které umožnují pomerne nenárocnou práci

s 3D grafikou, která se díky stoupajícímu výkonu PC a vývoji samotného Java 3D

API približuje ke kvalite a rychlosti neintepretovaných rozhraní. Díky zpetné

kompatibilite a javovské prenositelnosti na ruzné operacní systémy lze ocekávat, že

toto 3D rozhraní bude použitelné tak dlouho, jak dlouho bude použitelný samotný

jazyk Java.

Page 29: Vizuální 3D analýza chování neuronových sítífakegame.sourceforge.net/lib/exe/fetch.php?media=nozkaj1... · 2009-08-24 · Ceské vysoké ucení technické v Praze Fakulta

KAPITOLA 4. JAVA 3D API

15 4.1 Základní architektura Java 3D API

Java 3D API využívá k popisu 3D scény stromovou strukturu. Základem každé scény

v Jave 3D je objekt VirtualUniverse, který odkazuje na všechny ostatní objekty, které

se ve scéne nacházejí. Používání trídy VirtualUniverse však není príliš obvyklé,

mnohem casteji je, alespon u jednodušších programu, používána trída

SimpleUniverse, což je podtrída trídy VirtualUniverse, jejíž využívání je mnohem

snazší a vetšinou zcela dostacující. Zbavuje nás totiž nutnosti starat se o objekty

PhysicalBody, PhysicalPlatform, View a ViewPlatform. (Jejich úcelem je popis

pozorovatele, rozlišení obrazovky, jeho poloha, možnost stereo pohledu a dalších

upresnujících méne obvyklých možností, které jsou základne nastaveny objektem

SimpleUniverse).

4.2 Základní objekty 3D scény v Jave Na obrázku 4.1 je príklad jednoduché scény se základními objekty. V modre

vyznacené cásti scény se nacházejí objekty nutné pro nastavení vlastností

zobrazovacího zarízení. Celou tuto cást je možné nahradit objektem SimpleUniverse,

který obsahuje definici této struktury. Z objektu SimpleUniverse následne získáme

odkaz na jeho cást Canvas3D, který umístíme do garfického rozhraní stejným

zpusobem, jako bežné ovládací komponenty AWT.

Nyní si ve strucnosti naznacíme význam jednotlivých objektu scény, címž si

nastíníme postup tvorby scény.

VirtualUniverse – základ každé scény. Predstavuje pocátecní bod stromové

struktury a jako jediný objekt 3D scény nemá žádného rodice.

Locale – tento objekt urcuje výchozí bod souradného systému.

BranchGroup – koren pro cást scény.

TransformationGroup – transformacní uzel, který obsahuje transformacní matici

posunutí, rotace a merítka.

S – Shape – tento objekt je považován za list stromové struktury a shrnuje v sobe

odkazy na popis geometrie a optických vlastností grafického objektu.

Geometry – tento objekt je nositelem konkrétních hodnot souradnic vrcholu

grafického objektu.

Page 30: Vizuální 3D analýza chování neuronových sítífakegame.sourceforge.net/lib/exe/fetch.php?media=nozkaj1... · 2009-08-24 · Ceské vysoké ucení technické v Praze Fakulta

KAPITOLA 5. GENETICKÉ ALGORITMY

16 Appearance – tento uzel slouží jako uchování odkazu na objekty definující optické

vlastnosti grafického objektu a metod jeho renderování.

Materiál – specifikuje materiálové vlastnosti grafického objektu.

ColoringAttributes – definice barvy grafického objektu. Tato barva je použita jen

v prípade, že grafický objekt nemá prirazené materiálové vlastnosti.

LineAttributes – zpusob kreslení car. (prerušovane, plne, teckovane)

Obr. 4.1 Stromová struktura jednoduché 3D scény

5 Genetické algoritmy

5.1 Inspirace

Genetické algoritmy jsou inspirovány prírodou a používané termíny jsou prevzaty z

biologie. Populace živocišných druhu na Zemi jsou tvoreny jedinci, kde každý jedinec

je definován skupinou chromozomu, které jsou tvoreny geny. Geny mohou nabývat

ruzných hodnot allea a tím kódovat ruzné vlastnosti jedince. Skupina chromozomu,

pak vytvárí genom, který urcuje všechny vlastnosti jedince. Genom je pro každého

jedince specifický a pokud dva jedinci mají stejný genom, pak jsou identictí. Pri

rozmnožování dochází k náhodné výmene (krížení) genu mezi rodici, kterí jsou v

prírode vybírání podle schopnosti reprodukovat se a prežít v daném prostredí. Tím

vzniká nový jedinec s unikátním geonomem, a tím i vlastnostmi. Pri krížení dochází i

Page 31: Vizuální 3D analýza chování neuronových sítífakegame.sourceforge.net/lib/exe/fetch.php?media=nozkaj1... · 2009-08-24 · Ceské vysoké ucení technické v Praze Fakulta

KAPITOLA 5. GENETICKÉ ALGORITMY

17 k mutaci, pri které dojde k náhodné zmene nekterých genu, a která do

populace vnáší vetší rozmanitost.

5.2 Analogie Genetické algoritmy používají podobné techniky a snaží se napodobit úspech

prírody. Možné rešení problému je jedincem, a jeho genom jsou parametry, které toto

rešení definují. Parametry jsou vetšinou uloženy v podobe retezce, který se skládá

z predem známé abecedy. Znaky retezce jsou geny, které mohou nabývat ruzných

hodnot abeced (alleami). Hodnoty znaku mohou být jak binární (0 a 1), tak reálné.

Kvalitu jedince a jeho vhodnost pro použití jako rodice pro další generaci definujeme

pomocí fitness funkcí. Fitness funkce je ohodnocením každého jedince a svou

hodnotou musí zvýhodnovat lepší rešení problému.

5.3 Algoritmus 1. Inicializace první populace

Na zacátku je potreba vytvorit populaci. Ta muže být bud zcela náhodná, nebo,

pokud chceme zkrátit dobu výpoctu, mužeme vytvorit první populaci tak, aby

neobsahovala zcela nevhodná rešení. Další možností je vytvorit populaci s vetším

poctem jedincu s tím, že algoritmus pri provádení první selekce vybere lepší jedince.

2. Výpocet fitness funkce

Pro každého jedince z populace se vypocte fitness funkce, která urcuje vhodnost

jedince stát se rodicem pro další populaci. Behem tohoto kroku se také vyhodnocuje

zastavovací kritérium. Zastavovací kritérium urcí, zda je v populaci jedinec, který je

dostatecne kvalitní a je možné algoritmus ukoncit.

3. Vytvorení nové populace

Pri vytvárení nové populace opakovane používáme operátory selekce a krížení.

Operátor selekce vybírá vhodné kandidáty na rodice a následne jejich krížením

vzniká jedinec, který je zarazen do nové populace. To provádíme tak dlouho, dokud

nová populace nemá dostatecný pocet jedincu.

4. Mutace

Na každého jedince v populaci je aplikován operátor mutace, který náhodne se

zadanou pravdepodobností pozmení geny jedince.

Page 32: Vizuální 3D analýza chování neuronových sítífakegame.sourceforge.net/lib/exe/fetch.php?media=nozkaj1... · 2009-08-24 · Ceské vysoké ucení technické v Praze Fakulta

KAPITOLA 5. GENETICKÉ ALGORITMY

18 5. Elitismus

Do nové populace zahrneme i nekolik nejlepších jedincu ze staré populace. Tím se

docílí zachování nejlepších doposud nalezených rešení pro další generace a zároven

maximální hodnota fitness funkce bude v prubehu algoritmu neklesající.

6. Stárí

Starou populaci nahradíme novou a pokracujeme opet výpoctem fitness funkce.

5.4 Fitness funkce Fitness funkce je merítkem úspešnosti jedince v populaci. Cím lepší (vetší) je

hodnota fitness funkce, tím se jedinec stává perspektivnejším kandidátem na rodice.

Pokud se jedinec stane rodicem, je jeho rešení predáno do další generace. Fitness

funkce by mela postihnout všechna kriteria rešené úlohy. Kladné vlastnosti by mely

zvyšovat hodnotu fitness funkce a naopak záporné vlastnosti by hodnotu fitness

funkce mely snižovat. Na správném navržení fitness funkce závisí správnost celého

genetického algoritmu. Velkou výhodou genetických algoritmu je jejich schopnost

„fungovat“ i s fitness funkcí, která ne zcela optimálne popisuje hledané rešení.

Genetický algoritmus pak konverguje pomaleji, ale z jeho chování lze odvodit

správné nastavení fitness funkce, které bude konvergovat rychleji.

5.5 Elitismus

Zpusob, jakým se vybírají kandidáti na rodice pro novou populaci nezarucuje, že

v nové populaci bude vždy obsažen jedinec, který popisuje doposud nejlepší

nalezené rešení. Aby se zabránilo zapomenutí již nalezeného nejlepšího rešení, jsou

do nové populace automaticky vkládáni nejlepší jedinci ze staré populace. Tím je

zarucen neklesající prubeh maximální hodnoty fitness funkce v celé populaci.

Page 33: Vizuální 3D analýza chování neuronových sítífakegame.sourceforge.net/lib/exe/fetch.php?media=nozkaj1... · 2009-08-24 · Ceské vysoké ucení technické v Praze Fakulta

KAPITOLA 6. SHRNUTÍ VÝCHOZÍCH POZNATKU

19

Vlastní práce

Page 34: Vizuální 3D analýza chování neuronových sítífakegame.sourceforge.net/lib/exe/fetch.php?media=nozkaj1... · 2009-08-24 · Ceské vysoké ucení technické v Praze Fakulta

KAPITOLA 6. SHRNUTÍ VÝCHOZÍCH POZNATKU

20 6 Shrnutí výchozích poznatku

6.1 Regresní a klasifikacní modely

Aplikace, pro které jsou neuronové síte vhodné, lze v podstate rozdelit na dve

množiny, a sice na aplikace regresní a klasifikacní. Z pohledu neuronové síte jsou

všechny fáze i zpusob její práce stejné, rozdíl je v tom, jak správne interpretovat

výsledky, které sít poskytuje. V prípade regresní aplikace nás zajímá vývoj

konkrétních hodnot výstupního parametru v závislosti na ostatních vstupních

parametrech. V prípade klasifikacních aplikací nás zajímá, zda v závislosti na

vstupních parametrech sledovaný objekt prísluší k dané tríde. V trénovacích datech

se to projeví tím, že hodnoty výstupního modelovaného parametru nabývají

v prípade klasifikacních aplikací pouze nekolika – obvykle dvou – hodnot, a ty urcují

príslušnost k dané tríde v daném bode prostoru. Naopak v aplikacích regresních

nabývají hodnoty modelovaného parametru celé škály ruzných hodnot.

Nyní se pokusím rozdíl mezi regresními a klasifikacními aplikacemi osvetlit na

konkrétních príkladech obou aplikací. Tyto príklady nejsou mnou vymyšlené, ale

pocházejí z [12], a obe aplikace jsem ve své práci odzkoušel.

Príkladem regresní aplikace je vývoj cen budov v americkém Bostonu

v závislosti na parametrech, jako je míra kriminality v dané oblasti, stárí budovy,

vzdálenost od centra mesta, znecištení ovzduší a další. Predložíme-li naucené

neuronové síti na vstup konkrétní hodnoty techto vstupních parametru, na výstupu

síte se objeví její odezva a hodnota odezvy síte je odhadem ceny budovy pri techto

parametrech.

Príkladem klasifikacní aplikace je rozpoznávání druhu kosatce v závislosti na

jeho biometrických vlastnostech, jako je délka a šírka okvetního lístku a kališního

lístku. Po priložení techto hodnot na vstup naucené neuronové síte dostaneme na

jejím výstupu hodnotu z intervalu <0;1>. Pokud je hodnota na výstupu síte

rovna 1, znamená to, že kosatec patrí do dané rodové trídy, výstup síte roven 0

naopak znací, že kosatec do této trídy nepatrí. Pokud se na výstupu objeví

hodnota mezi 0 a 1, pak tato hodnota znamená nejistotu síte v daném bode, cili

napríklad hodnota 0,7 znamená, že kosatec do této trídy patri se 70%

pravdepodobností. Pro klasifikaci do více tríd – tak jak je tomu i v této úloze – se

nepoužívá vícehodnotová škála odpovedí, ale konstruujeme více neuronových sítí

najednou – pro každou klasifikacní trídu jednu sít.

Page 35: Vizuální 3D analýza chování neuronových sítífakegame.sourceforge.net/lib/exe/fetch.php?media=nozkaj1... · 2009-08-24 · Ceské vysoké ucení technické v Praze Fakulta

KAPITOLA 6. SHRNUTÍ VÝCHOZÍCH POZNATKU

21

6.2 Model v multidimenzionálním prostoru

Nyní se nebudeme zabývat tím, jak je neuronová sít sestavena, ani procesy, které se

v ní odehrávají, ale budeme ji brát jako cernou krabicku – cili budeme se o ni zajímat

jen z hlediska jejího vnejšího chování.

Do této cerné krabicky mohou pricházet informace z okolního sveta jen pres

vstupní kanály a informace do okolního sveta z ní mohou vycházet jen pres kanály

výstupní. Tyto kanály jsou oddelené, neboli kanály nejsou vstupne-výstupní.

Vstupními kanály jsou napojení na smyslové orgány a výstupními kanály jsou orgány

výkonné, jak je to v prípade živých organismu. V našem prípade umelých

neuronových sítí jsou vstupní i výstupní kanály numerické. Numerické kanály mohou

samozrejme prejímat informace z umelých senzoru a výstupní numerické kanály

mohou sloužit k rízení výkonných soucástí nejakého zarízení – a v praxi to takto

skutecne funguje. My se ale budeme predevším zajímat o tyto kanály z hlediska

funkcních závislostí. Naší výhodou je, že numerické kanály mohou získávat a

vydávat informace pomocí textového souboru.

Obr. 6.1 Neuronová sít z funkcního hlediska

Naše aplikace GAME je navržena tak, že predpokládá, že má vždy jedna sít

jeden výstup. Z teoretického hlediska neexistuje duvod, proc by jedna sít nemohla

mít více výstupu. V praxi se však vetšinou pracuje se sítemi, které mají jen jeden

výstup, a pokud vznikne potreba více výstupu, reší se tato potreba pripojením více

neuronových sítí na stejné vstupy. Z analytického hlediska bychom metodou

dekompozice postupovali stejným zpusobem. Pokud bychom meli prece jen sít

s více výstupy, rozdelili bychom ji na více sítí s jedním výstupem a se vstupy

pripojenými na stejné vstupní hodnoty.

Page 36: Vizuální 3D analýza chování neuronových sítífakegame.sourceforge.net/lib/exe/fetch.php?media=nozkaj1... · 2009-08-24 · Ceské vysoké ucení technické v Praze Fakulta

KAPITOLA 6. SHRNUTÍ VÝCHOZÍCH POZNATKU

22

Obr. 6.2 Dekompozice neuronové síte s více výstupy na více sítí

s jediným výstupem

Ve chvíli, kdy je proces ucení neuronové síte ukoncen, je výstup síte dán

nejakým funkcním vztahem mezi vstupními kanály. Tento funkcní vztah je dán vnitrní

strukturou síte a jejím nastavením. Struktura síte i její nastavení se mení ve fázi

ucení, pokud je však proces ucení ukoncen, zustává toto vše nemenné a výstup síte

je nadále deterministický. Tím máme na mysli to, že pokud priložíme na vstup síte

stejné hodnoty, dostaneme na výstupu vždy stejný výsledek. Dalším duležitým

faktem je to, že dostáváme pro jednu kombinaci vstupních hodnot jedinou hodnotu

výstupní. Tento model by byl funkcí dvou promenných. Její graf by byl zakrivenou

plochou v trojrozmerném prostoru – dva rozmery by byly ony vstupní promenné a

tretí rozmer by byl odpovedí síte, tedy funkcní hodnotou vstupních promenných.

Page 37: Vizuální 3D analýza chování neuronových sítífakegame.sourceforge.net/lib/exe/fetch.php?media=nozkaj1... · 2009-08-24 · Ceské vysoké ucení technické v Praze Fakulta

KAPITOLA 6. SHRNUTÍ VÝCHOZÍCH POZNATKU

23

V praktických aplikacích však bývá vstupních promenných mnohem vetší

množství. To je zpusobeno tím, že systémy v reálném svete mohou být ovlivneny

mnoha faktory, a tyto faktory musíme pri modelování takových systému zohlednit,

aby náš model kopíroval chování reálného systému co nejverneji.

N vstupních promenných tedy povede k tomu, že model systému vytvorený

sítí bude funkce N promenných vracející jednu hodnotu, cili bude tvorit N+1

dimenzionální prostor. Vzhledem k tomu, že je model dán funkcí, z vlastností funkce

vyplývá, že modelem bude zakrivená rovina v tomto N+1 rozmerném prostoru.

Jaký však má tato funkce význam? Tato funkce je modelem chování urcitého

parametru modelovaného systému v závislosti na parametrech, které privádíme na

vstupy síte.

6.3 3D rez n-dimenzionálního prostoru Vzhledem k tomu, že se náš model nachází v N+1 dimenzionálním prostoru, kde N je

velmi casto vetší než 2, je treba rešit problém, jak takovýto prostor vizualizovat – to je

totiž mimo jiné smyslem této práce.

Rozhodl jsem se zvolit techniku rezu. Myšlenka techniky rezu v našem

kontextu znamená zmrazit všechny dimenze krome trí vybraných na zvolených

konstantních hodnotách a zbývající tri dimenze použít pro tvorbu trojrozmerného

telesa, které pak následne zobrazíme.

Pro vetší názornost si techniku rezu popíšeme na príkladu 2D rezu 3D

prostoru – dvoudimenzionálního rezu trojrozmerného prostoru. Predstavme si

grafický trojrozmerný model povrchu pohorí. Tento grafický model bude tvoren

zakrivenou plochou, predstavující povrch pohorí. Pak do tohoto modelu vložíme

rovinu. Pak prunik 3D modelu a roviny tvorí dvou rozmerný rez trojrozmerného

prostoru. Tuto rovinu mužeme vložit ve zcela obecné poloze a bude se jednat o rez,

nicméne pro naše úcely je šikovné vložit ji tak, aby byla rovnobežná s co nejvetším

poctem os souradného systému.

Vzhledem k tomu, že se chystáme nejak graficky znázornit chování funkce,

bude v našem rezu vždy práve jedna dimenze vyhrazena pro funkcní hodnoty – pro

odpoved síte v daném bode prostoru a zbylé dva rozmery budou použity pro dva

ruzné zvolené vstupy na nichž budeme zobrazovat funkcní závislost.

Page 38: Vizuální 3D analýza chování neuronových sítífakegame.sourceforge.net/lib/exe/fetch.php?media=nozkaj1... · 2009-08-24 · Ceské vysoké ucení technické v Praze Fakulta

KAPITOLA 7. POSTUP VIZUALIZACE 3D REZU

24

7 Postup vizualizace 3D rezu Pro grafické zobrazení 3D rezu jsem se rozhodl využít možností Java 3D API. Tato

volba byla predevším podmínena tím, že celá aplikace GAME je napsána práve

v programovacím jazyku Java. Podobne jako v jiných grafických prostredích pro 3D

grafiku, využívá Java 3D k popisu složitejších objektu jejich rozkladu na množinu

elementárních geometrických útvaru jako je bod, úsecka,trojúhelník nebo ctverec.

Pri zobrazení musíme nejprve zvolit souradný systém. V našem prípade jsem

se rozhodl pro kartézský souradný systém. Je to totiž nejcasteji používaný souradný

systém a využívá jej také Java 3D API. Pri vizualizaci 3D rezu tedy ztotožníme

souradný systém rezu a virtuálního modelového prostoru v Java 3D API.

Jak již bylo uvedeno výše, pri tvorbe 3D rezu mnohodimenzionálního prostoru

ponecháváme všechny vstupní promenné krome dvou vybraných na urcité

konstantní hodnote a zbylé dve vstupní promenné meníme od jejich minimálních

možných hodnot až po jejich maximální možné hodnoty a pritom zjištujeme odpoved

síte pro tyto vstupní hodnoty. Projdeme-li takto všechny možné kombinace dvou

zvolených vstupu, získáme množinu bodu, která tvorí zakrivenou plochu v 3D

prostoru, kterou následne zobrazíme a umožníme ji natácet, približovat a oddalovat,

aby si mohl pozorovatel udelat co nejlepší predstavu o jejím tvaru.

Obr. 7.1 Tvorba 3D rezu

Page 39: Vizuální 3D analýza chování neuronových sítífakegame.sourceforge.net/lib/exe/fetch.php?media=nozkaj1... · 2009-08-24 · Ceské vysoké ucení technické v Praze Fakulta

KAPITOLA 7. POSTUP VIZUALIZACE 3D REZU

25 Z technického charakteru problému plyne, že nemužeme projít úplne

všechny body, ale musíme odmery provádet s urcitým krokem. Takto získáme

množinu bodu, které leží na zakrivené ploše, kterou chceme zobrazit. Tyto body

mužeme zobrazit jako body tak jak leží v 3D prostoru obr 7.2. , nebo je mužeme

spojit úseckami obr. 7.3, tímto postupem získáme takzvaný drátový model, anebo je

proložit rovinami obr. 7.4 . Všechny tyto tri možnosti jsem implementoval ve své práci.

Obr. 7.2 Vizualizace chování síte pomocí bodu v prostoru

Page 40: Vizuální 3D analýza chování neuronových sítífakegame.sourceforge.net/lib/exe/fetch.php?media=nozkaj1... · 2009-08-24 · Ceské vysoké ucení technické v Praze Fakulta

KAPITOLA 7. POSTUP VIZUALIZACE 3D REZU

26

Obr. 7.3 Vizualizace chování síte pomocí drátového modelu

Page 41: Vizuální 3D analýza chování neuronových sítífakegame.sourceforge.net/lib/exe/fetch.php?media=nozkaj1... · 2009-08-24 · Ceské vysoké ucení technické v Praze Fakulta

KAPITOLA 7. POSTUP VIZUALIZACE 3D REZU

27

Obr. 7.4 Vizualizace chování síte pomocí ploch v prostoru

7.1 Osy

V technické praxi je zavedeným zvykem kreslit ke grafum osy, jednak aby bylo jasné,

kde má graf pocátek souradného systému a jak je tento souradný systém orientován,

a jednak, aby bylo jasne dané merítko grafu. Merítko grafu vyplývá z hodnot

uvedených po urcitých pravidelných intervalech na osách v podobe grafické znacky a

pripojené císelné hodnoty. Casto se ješte mezi znacky hodnot na osy kreslí menší

znacky, a sice opet v pravidelných intervalech, ale bez popisu. Tyto menší znacky

slouží jako orientacní body pro lepší odhad hodnoty v místech mezi body opatrenými

císelnou hodnotou, která nemuže být z duvodu prostorové nárocnosti na zobrazení

zobrazena s tak velkou hustotou jako samotné grafické znacky.

Pocátek souradného systému bývá obvykle zobrazen prusecíkem os a

orientace souradného systému se znacívá šipkou na konci osy, a sice šipkou ve

smeru kladného rustu hodnot v príslušné dimenzi. K jaké dimenzi urcitá osa prísluší

Page 42: Vizuální 3D analýza chování neuronových sítífakegame.sourceforge.net/lib/exe/fetch.php?media=nozkaj1... · 2009-08-24 · Ceské vysoké ucení technické v Praze Fakulta

KAPITOLA 7. POSTUP VIZUALIZACE 3D REZU

28 je jasné z jejího názvu, který bývá pripsán pod ní nebo nejcasteji do místa blízkého

šipce naznacující její kladnou orientaci.

Ve své práci jsem se snažil, aby bylo zobrazení co nejvíce konfigurovatelné a

aby si jej mohl pozorovatel co nejvíce prizpusobit svým potrebám. Tato snaha se

promítla i do zobrazení os. Pomocí checkboxu v nastavení vlastností zobrazení lze

zobrazování os úplne vypnout nebo zobrazit pouze osy, jak je videt na následujícím

obrázku.

Obr. 7.5 Zobrazení samotných os souradného systému

To, zda bude zobrazen popis os, je další volitelná vlastnost zobrazení.

Page 43: Vizuální 3D analýza chování neuronových sítífakegame.sourceforge.net/lib/exe/fetch.php?media=nozkaj1... · 2009-08-24 · Ceské vysoké ucení technické v Praze Fakulta

KAPITOLA 7. POSTUP VIZUALIZACE 3D REZU

29

Obr. 7.6 Osy souradného systému s jejich názvy

Lze zvolit, zda budou zobrazeny hodnoty na osách a jejich pocet. Popisy jsou

pak umísteny na osy tak, aby mezi dvema popisy na jedné ose byla vždy stejná

vzdálenost a aby úseky mezi jednotlivými osami byly co nejvetší.

Obr. 7.7 Osy souradného systému s jejich názvy a hodnotami

Page 44: Vizuální 3D analýza chování neuronových sítífakegame.sourceforge.net/lib/exe/fetch.php?media=nozkaj1... · 2009-08-24 · Ceské vysoké ucení technické v Praze Fakulta

KAPITOLA 7. POSTUP VIZUALIZACE 3D REZU

30 Další volitelnou vlastností os je zobrazení a pocet menších orientacních

znacek bez popisu hodnot. Jejich rozmístení je opet pravidelné.

Obr. 7.8 Osy souradného systému s jejich názvy, hodnotami a

orientacními body

Jako grafickou znacku oznacující místo na ose jsem zvolil dve stejne dlouhé

úsecky vzájemne se protínající ve svých stredech a navzájem na sebe kolmých a

kolmých na osu, na níž je znacka umístena. Tato dvojice krížících se úsecek tak

vlastne vytvárí znacku ve tvaru znaménka +. Výhodou tohoto symbolu je predevším

to, že at se na nej díváme z jakéhokoli úhlu, je vždy videt alespon jedna úsecka

zkrácená maximálne na polovinu odmocniny ze dvou vynásobené puvodní délkou.

Takže se nikdy nemuže stát, že by znacka nebyla videt. Na druhou stranu, tyto

úsecky zabírají malou cást na obrazovce, a tak v prípade, že leží pred modelem

chování neuronové síte, témer vubec nepusobí rušivým dojmem.

Aby pri sledování modelu z ruzných stran zustávaly názvy os a císelné

hodnoty na osách citelné, je treba zohlednit pri zobrazení techto popisu úhel, ze

kterého do scény nahlížíme. Toto natácení popisu lze jednoduše realizovat pomocí

trídy zajištující, aby byl grafický objekt orientován smerem k pozorovateli vždy ve

stejném úhlu. V terminologii pocítacové grafiky se o takovémuto objektu ríká, že

se chová jako billboard.

Page 45: Vizuální 3D analýza chování neuronových sítífakegame.sourceforge.net/lib/exe/fetch.php?media=nozkaj1... · 2009-08-24 · Ceské vysoké ucení technické v Praze Fakulta

KAPITOLA 7. POSTUP VIZUALIZACE 3D REZU

31 7.2 Vizualizace trénovacích a ucicích dat

Ve chvíli, kdy máme již neuronovou sít naucenou a vizualizujeme její chování,

budeme též chtít do stejného modelu zobrazit i ucicí a trénovací data, aby bylo

možné pozorovat, jak presne je sít proložila.

Tato data jsou vlastne osamocené body v prostoru a jejich poloha je vetšinou

zcela chaotická, nebo se vyskytují shluky.

Ponevadž jsou data body, budeme se je snažit vizualizovat nejobvyklejším

zpusobem – jako body v prostoru. Nejjednodušším zpusobem, jak tohoto cíle

dosáhnout, je reprezentovat data jako koule v prostoru – ty totiž pri natácení scény

vypadají vždy stejne.

Ve skutecnosti mají ucicí a trénovací data zcela presnou polohu

v mnohodimenzionálním prostoru, tedy presne definovanou polohu vzhledem ke

všem dimenzím. Pri zobrazování 3D rezu bychom museli znát presné hodnoty

souradnic, které je treba nastavit na konstantních vstupech pro jednotlivá data,

abychom se dostali s naším 3D rezem do míst v mnohodimenzionálním prostoru,

která presne protínají polohu jednotlivých trénovacích dat. Za tímto úcelem bylo již

v programu GAME implementováno rozhraní v podobe posuvníku, jehož posunem se

dostáváme postupne do mís t v mnohodimenzionálním prostoru, která odpovídají

presné poloze dat. Tento posuvník je nazván „Training or testing data“.

Já jsem se rozhodl na popud svého konzultanta vizualizovat i data, která neleží

presne v poloze dané fixovanými dimenzemi, ale jsou od dané polohy 3D rezu

v mnohodimenzionálním prostoru ne príliš, ale prece jen ponekud vzdálena. To, jak

mnoho jsou data vzdálena od skutecné polohy, jsem zohlednil velikostí zobrazené

kulicky, a to tak, že cím jsou data vzdálenejší od soucasné polohy vizualizovaného

rezu, tím je zobrazovaná kulicka menší.

S rostoucí vzdáleností se kulicky od urcité vzdálenosti nezobrazují. Toto

pravidlo je zavedeno z toho duvodu, že jinak by se vlastne vždy do vizualizace

promítla všechna data, což zase prece jen nechceme. To, od jaké vzdálenosti se

data již nebudou zobrazovat, je opet nastavitelný parametr modelu, a nazvali jsme jej

„klobouk“ – z duvodu podobnosti tvaru této funkce s tvarem oblíbeného módního

doplnku gentlemanu.

Page 46: Vizuální 3D analýza chování neuronových sítífakegame.sourceforge.net/lib/exe/fetch.php?media=nozkaj1... · 2009-08-24 · Ceské vysoké ucení technické v Praze Fakulta

KAPITOLA 7. POSTUP VIZUALIZACE 3D REZU

32

Obr. 7.9 Zobrazení samotných ucicích dat – opet se jedná o 3D rez mnohodimenzionálního prostoru. Jednotlivá ucicí data jsou zobrazena jako

kulicky v prostoru. Velikost kulicky je závislá na její vzdálenosti od její skutecné polohy v mnohodimenzionálním prostoru

Nyní se jen krátce zmíním o tom, v jakém smyslu pracuji s pojmem

vzdálenost. Používám Euklidovu vzdálenost, cili vzdálenost d dvou bodu x, y v n-

dimenzionálním prostoru je definována následujícím vztahem:

( ) ( )21

1

2,

−= ∑

=

n

iii yxyxd

, kde ii yx , jsou i-té souradnice bodu yx, .

Pri zobrazování klasifikacních dat je vetšinou prospešné zobrazit jen data

patrící k jedné klasifikacní skupine. Výber klasifikacní skupiny, jejíž data se zobrazují,

je prováden komboboxem, který již v aplikaci byl. Dále jsem doplnil možnost zobrazit

data všech klasifikacních skupin najednou a také jsem samozrejme umožnil

zobrazování dat úplne vypnout. Obe tyto možnosti jsou rešeny pomocí checkboxu

v menu nastavení grafu.

Page 47: Vizuální 3D analýza chování neuronových sítífakegame.sourceforge.net/lib/exe/fetch.php?media=nozkaj1... · 2009-08-24 · Ceské vysoké ucení technické v Praze Fakulta

KAPITOLA 7. POSTUP VIZUALIZACE 3D REZU

33 7.3 Zobrazení dat a odpovedi síte najednou

Zobrazíme-li data a odpoved síte do jediné scény, mužeme pozorovat, jak sít

prokládá ucicí a trénovací data, a tedy i to , jak je interpoluje a extrapoluje.

Musíme si však na tomto míste uvedomit, že jsou zobrazena i data, která mají

rozdílné hodnoty vstupu, které jsou pro model chování neuronové síte zobrazený

pomocí zakrivené plochy v dané scéne konstantní. Rozdílnost konstantních vstupu je

popsána v minulém oddílu. Proto nelze ocekávat, že sít proloží všechna data –

nebylo by to ani dobrým znakem chování síte. Na druhou stranu by odpoved síte

mela procházet oblastí, která obsahuje vetší zahuštení trénovacích a ucicích dat.

Obr. 7.10 Zobrazení dat a odpovedi síte v jedné scéne

Page 48: Vizuální 3D analýza chování neuronových sítífakegame.sourceforge.net/lib/exe/fetch.php?media=nozkaj1... · 2009-08-24 · Ceské vysoké ucení technické v Praze Fakulta

KAPITOLA 7. POSTUP VIZUALIZACE 3D REZU

34 7.4 Svetla a materiálové vlastnosti Pri implementaci jsem po zkonstruování grafických objektu modelujících chování síte

musel do scény pridat svetla, aby byly grafické objekty viditelné . Nejprve jsem použil

nejjednodušší všudyprítomné svetlo bez smerových vlastností. Tento typ svetla je

v Java 3D API reprezentován sve tlem AmbientLight. Následne jsem pak vyzkoušel,

jak by vizualizace vypadala pri použití smerových svetel. Smerová svetla jsou v Java

3D API reprezentována svetlem DirectionalLight. Rozdíl v nasvícení objektu je

krásne videt na následujících dvou srovnávacích obrázcích – téhož objektu

nasvíceného ruznými typy svetel.

Obr. 7.11 Nasvícení scény všudyprítomným svetlem – AmbientLight

Obr. 7.12 Nasvícení scény smerovým svetlem – DirectionalLight

Page 49: Vizuální 3D analýza chování neuronových sítífakegame.sourceforge.net/lib/exe/fetch.php?media=nozkaj1... · 2009-08-24 · Ceské vysoké ucení technické v Praze Fakulta

KAPITOLA 7. POSTUP VIZUALIZACE 3D REZU

35 Nevýhodou použití smerových svetel je nutnost definovat jednotlivým plochám

normálové vektory. To však není problém, ponevadž každou rovinu máme danou 4

body – ty získáváme jako odpoved neuronové síte a s využitím kartézského soucinu

dvou vektoru získáme normálový vektor této roviny, který je pak ješte dobré

normalizovat. Toto je problém lehce rešitelný. Daleko težší je zodpovedet si na

otázku, zda redundantní informace, která se takto díky odleskum a stínum do

zobrazení zanáší, je pozorovateli prospešná ci nikoli.

Dle mých pozorování je však lepší použít smerové nasvícení scény, nebot

odlesky a stíny mnohem lépe ukazují deformace roviny, které lze v prípade nasvícení

scény pouze všesmerovým – ambientním svetlem pozorovat až pri natácení scény, a

tedy pohledem z ruzných úhlu.

Rozhodl jsem se však ponechat uživateli možnost nastavit oba typy svetel.

Svetlo lze tedy nastavit jak všesmerové, tak smerové, a i kombinace obou. Nastavení

typu svetla se provádí pomocí checkboxu v nastavení vizualizace.

7.5 Nastavení smeru a poctu smerových svetel V prípade použití všesmerového svetla si vystacíme pouze se svetlem jediným,

kterému navíc není nutné a ani možné nastavovat smer vyzarování. Mnohem více

rozhodování nás ceká v prípade použití svetel smerových – ale efektnost a efektivita

následné vizualizace za to jiste stojí.

V prípade užití smerových svetel musíme nastavit jejich smer. Vyzarované

paprsky jsou rovnobežné, a proto musíme použít více smerových svetel tak,

abychom nasvítili scénu ze všech smeru, nebot lze modelem otácet a je nutné, aby

byl model dostatecne nasvícen ze všech smeru. Pri prvním pokusu se smerovými

svetly jsem použil 6 svetel – vždy po dvou smerových svetlech svítících proti sobe ve

smeru os zvoleného souradného systému, jak je naznaceno na obrázku 7.13.

Page 50: Vizuální 3D analýza chování neuronových sítífakegame.sourceforge.net/lib/exe/fetch.php?media=nozkaj1... · 2009-08-24 · Ceské vysoké ucení technické v Praze Fakulta

KAPITOLA 7. POSTUP VIZUALIZACE 3D REZU

36

Obr. 7.13 Orientace 6 smerových svetel Nedostatkem takto nasvícené scény byly nedostatecne nasvícené oblasti

modelu, které mely normálový vektor rovnobežný nebo témer rovnobežný s

diagonálami myšlené krychle , dané souradným systémem vizualizace a vytycené

osami. Proto jsem puvodních 6 svetel nahradil 8 svetly v diagonálním smeru – opet

vždy po dvojici svetel svítících ve smeru proti sobe, jak je naznaceno na obrázku

7.14.

Obr. 7.14 Orientace 8 smerových svetel

Všechny tri zmínené zpusoby osvetlení scény, tedy ambientním svetlem, 6

svetly smerovými a 8 svetly smerovými, je samozrejme možné ruzne kombinovat. To,

Page 51: Vizuální 3D analýza chování neuronových sítífakegame.sourceforge.net/lib/exe/fetch.php?media=nozkaj1... · 2009-08-24 · Ceské vysoké ucení technické v Praze Fakulta

KAPITOLA 7. POSTUP VIZUALIZACE 3D REZU

37 který druh osvetlení a jejich kombinace se použijí, je možné nastavit v panelu

nastavení vizualizacního modulu.

7.6 Barvy svetel

Dalším parametrem pri osvetlování scény, který musíme nejak zvolit, je barva

použitého svetla , a to at se rozhodneme použít ambientní osvetlení, tak i v prípade

svetel smerových. Ponevadž výsledná zakrivená plocha, která modeluje chování

síte, již svou barvu nastavenou má a není smysluplné tuto její barvu ješte dále menit

barvou použitého svetla, zvolil jsem pro všechna svetla barvu bílou. Bílá barva svetla

totiž obsahuje všechny barevné složky, a tak pri dopadu na povrch zachovává jeho

puvodní barvu.

7.7 Zobrazení více modelu najednou – regrese

Ponevadž aplikace GAME využívá k tvorbe modelu z ucicích a trénovacích dat, tedy

k ucení, ruzné algoritmy, mezi než patrí i algoritmy genetické, jsou dva modely

vytvorené na stejných ucicích i trénovacích datech témer vždy odlišné. Nekdy více,

jindy zase méne – to závisí mimo jiné i na ruzných parametrech ucení. Parametru

ucení je veliké množství, patrí sem treba jeho délka, pocet neuronu, jejich prenosové

funkce, ale i mnohé další. Avšak i v prípade, že použijeme stejné i tyto parametry a

stejná data, obdržíme nakonec témer vždy ruzné síte. To je dáno charakterem

trénovacích algoritmu.

Zobrazíme-li více modelu do jedné vizualizacní scény, mužeme práve tyto

odlišnosti pozorovat. V oblastech, kde se síte chovají velmi podobne, mužeme

s vetší pravdepodobností ocekávat, že se modely vytvorené neuronovými sítemi

svým chováním více blíží reálnému chování modelovaného systému. Ale ani

stoprocentní shoda více modelu nemuže zarucit shodu v chování modelu s chováním

reálného modelovaného systému, stejne tak jako neplatí, že více hlav vždy ví víc.

Príkladem ze života muže být situace, kdy necháme hlasovat velké množství lidí o

veku ženy, která vzhledove vypadá mladší než ve skutecnosti je , a tento fakt jim

nesdelíme. Pak budou odhadovat její vek na základe svých bohatých každodenních

zkušeností a budou její stárí typovat na vek, na který momentálne vypadá. Skutecná

pravda však bude jiná a prumerný odhad tipující skupiny se nezlepší ani s vetším

poctem tipujících jedincu.

Na druhou stranu v oblastech, kde mají síte dostatek správných trénovacích

dat, lze ocekávat, že se síte svým nauceným chováním budou realite približovat lépe.

Page 52: Vizuální 3D analýza chování neuronových sítífakegame.sourceforge.net/lib/exe/fetch.php?media=nozkaj1... · 2009-08-24 · Ceské vysoké ucení technické v Praze Fakulta

KAPITOLA 7. POSTUP VIZUALIZACE 3D REZU

38 Pro úcely srovnávání chování sítí jsem tedy do své vizualizace zavedl

možnost zobrazit více modelu v jedné scéne. K výberu neuronových sítí, které

chceme vizualizovat, jsem využil rozhraní, které již bylo v programu GAME

implementováno a slouží ke stejnému úcelu – výberu více sítí nebo jen urcitých

skupin sítí.

Jak již bylo receno výše, lze u každé síte vybrané k vizualizaci následne

nastavit zpusob její vizualizace, cili zvolit, zda bude zobrazena pomocí ploch – tato

volba je implicitní, nebo pomocí drátového modelu anebo pomocí bodu. Také lze

zvolit u každé síte její individuální barvu a nastavit její míru pruhlednosti. O

problematice pruhlednosti je pojednáno níže. Volba barvy se provádí po stisku

tlacítka „Set color“ a následnou volbou z dialogu, kde je k dispozici volba ze škály

preddefinovaných barev, dále stanovení barvy s využitím barevného modelu RGB

nebo barevného modelu HSB. Barva síte je, pokud není následne zvolena jinak,

nastavena automaticky tak, aby byla barva každé síte jiná.

Obr. 7.15 Více sítí v jedné scéne spolu s daty

Page 53: Vizuální 3D analýza chování neuronových sítífakegame.sourceforge.net/lib/exe/fetch.php?media=nozkaj1... · 2009-08-24 · Ceské vysoké ucení technické v Praze Fakulta

KAPITOLA 7. POSTUP VIZUALIZACE 3D REZU

39 7.8 Problémy s pruhledností, chyba v Java 3D API

Na obrázku 7.15 je zobrazeno nekolik neuronových sítí najednou. Tyto síte se

navzájem prekrývají a protínají, takže cást jejich tvaru není z jednoho úhlu pohledu

videt. Pro získání predstavy o jejich tvaru je nutné pohled na scénu ruzne natácet a

v prípade vetšího poctu sítí než 2 i približovat a oddalovat. Tuto manipulaci s úhlem

pohledu a priblížení mnou naprogramovaný modul umožnuje , a sice v reálném case.

Pri stisku levého tlacítka myši v okne s vizualizovanou scénou lze pohybem myši

menit úhel pohledu na scénu. Obdobne lze pri stisku prostredního tlacítka myši,

prípadne rolovacího kolecka, menit priblížení ci oddálení scény a stejným zpusobem

pomocí pravého tlacítka myši lze menit horizontální a vertikální polohu pohledu na

scénu.

Pri vývoji jsem se zabýval myšlenkou, že by mohlo být pro zkoumání chování

modelu užitecné, kdyby bylo možné zobrazit jednotlivé síte tak, aby byly cástecne

pruhledné a umožnily tak soucasne pohlédnout i na oblasti, které jsou v prípade

zobrazení více modelu najednou prekryté modelem, který leží nad nimi. Ponevadž

dokumentace Java 3D API uvádí, že je možné grafickému objektu nastavit míru jeho

pruhlednosti, zavedl jsem proto i tuto možnost nastavení míry pruhlednosti

jednotlivým sítím i do svého vizualizacního modulu. Zobrazení trí sítí najednou, jež

mají nastavenou 50ti procentní pruhlednost, je videt na obrázku 7.16.

Obr. 7.16 3 síte s pruhledností

Page 54: Vizuální 3D analýza chování neuronových sítífakegame.sourceforge.net/lib/exe/fetch.php?media=nozkaj1... · 2009-08-24 · Ceské vysoké ucení technické v Praze Fakulta

KAPITOLA 7. POSTUP VIZUALIZACE 3D REZU

40

Obr. 7.17 Stejné síte jako na obrázku 7.16, ale nepruhledné

Na obrázku 7.17 jsou zobrazeny tytéž síte ve stejné poloze jako na obrázku

7.16. V grafu zobrazeném na obrázku 7.17 je videt, že se síte ruzne prolínají a

prekrývají. V nekterých oblastech je nejblíže k pozorovateli žlute obarvená sít, jinde

zase sít obarvená modre a v nekterých oblastech je to sít cervená. Toto protínání se

jednotlivých ploch by se melo projevit i na obrázku 7.16 s cástecne pruhlednými

modely. Skutecnost je však jiná. Na obrázku s cástecne pruhlednými modely jsou

jednotlivé síte zobrazeny tak, jako by ležely postupne nad sebou a vubec se

neprotínaly. Po prozkoumání císelných hodnot modelu zobrazených na techto dvou

obrázcích jsem se ujistil v predpokladu, že chybne jsou zobrazeny modely

s nastavenou cástecnou pruhledností – že se jednotlivé modely prolínají, tak jak je

videt na obrázku 7.17.

Po bezúspešném hledání chyby ve zdrojovém kódu jsem se na diskusních

stránkách o Java 3D API ujistil ve svém predpokladu, že je v Java 3D API chyba

v zobrazování cástecne pruhledných objektu. Pri psaní této práce jsem pro práci

s 3D grafikou využíval verzi 1.3.1, která byla v té dobe nejnovejší oficiální verzí Java

3D API. Dále jsem vyzkoušel použít verzi 1.4.0 která byla v té dobe stabilní testovací

verzí Java 3D API. Verze 1.4.0 sice chybu s pruhledností neodstranuje, ale prináší

mnohem rychlejší rendering a lépe pracuje a reší správu pametí pri práci s grafickými

objekty. Z tohoto duvodu a z duvodu bezproblémového chování pri pokusech jsem

Page 55: Vizuální 3D analýza chování neuronových sítífakegame.sourceforge.net/lib/exe/fetch.php?media=nozkaj1... · 2009-08-24 · Ceské vysoké ucení technické v Praze Fakulta

KAPITOLA 8. CTENÍ GRAFU

41

se rozhodl u této verze Java 3D API zustat. Problém se zobrazováním cástecne

pruhledných objektu by dle informací na oficiálních stránkách k Java 3D API mel být

odstranen ve verzi 1.5. Z tohoto duvodu jsem ponechal ve svém modulu možnost

zobrazování modelu s nastavitelným procentem pruhlednosti. Až bude správne

fungující verze Java 3D API dostupná, nemel by být problém spouštet pod ním

programový kód napsaný pro predešlé verze, což je u Javy a i dalších

programovacích jazyku obvyklé.

8 Ctení grafu – co lze z vizualizovaného modelu vypozorovat

Nyní se podívejme na obrázek 8.1. Na tomto obrázku je zobrazeno 5 rezu modelu

neuronových sítí, které modelují všechny stejnou výstupní velicinu jednoho systému.

Konkrétne u tohoto systému se jedná o model cen budov v Bostonu v závislosti na

mnoha ruzných faktorech, jako je jejich stárí, vzdálenost od centra mesta, znecištení

ovzduší, kriminalita atd. Na obrázku 8.1 leží výstupní parametr, tedy cena budovy, na

ose RESPONSE a je zobrazena v nejakém bode n-dimenzionálního prostoru

v závislosti na parametrech AGE a RM. Ihned vidíme, že v tomto bode n-

dimenzionálního prostoru není cena budovy, nebo jen nepatrne, ovlivnena jejím

stárím – AGE a, že na parametru – RM naopak závislá je a sice tak, že s rostoucím

parametrem – RM klesá, krome modelu zobrazeného hnede, kde nejprve prudce

roste a pak klesá s podobným trendem jako u ostatních modelu. Pokud bychom

chteli tyto dva fakty zobecnit na celý n-dimenzionální prostor našeho modelu,

nemužeme ríci, že cena budov není na parametru AGE závislá – nevíme totiž, jak se

model chová v jiných místech. Naproti tomu mužeme zcela jiste konstatovat, že cena

budov je závislá na parametru RM, a tudíž je tento parametr zcela jiste významný.

V oblasti vymezené intervalem hodnot <54.7;70.9> mají všechny modely

podobné hodnoty, a tudíž lze v této oblasti od jednotlivých modelu ocekávat, že jsou

v rámci malého rozptylu správné a blíží se reálným cenám budov. Ve zbylých 2/3 se

jednotlivé modely více odchylují, a tudíž zde nelze od modelu ocekávat príliš velikou

shodu s reálným systémem závislosti cen budov.

Page 56: Vizuální 3D analýza chování neuronových sítífakegame.sourceforge.net/lib/exe/fetch.php?media=nozkaj1... · 2009-08-24 · Ceské vysoké ucení technické v Praze Fakulta

KAPITOLA 8. CTENÍ GRAFU

42

Obr. 8.1 Závislost ceny budov v urcitém bode n-rozmerného prostoru

8.1 Vyhledání oblastí zajímavého chování modelu Tato cást práce je inspirována a navazuje na práci uvedenou v [6]. V této práci je

popsán postup, jak pomocí genetického algoritmu vyhledávat zajímavé oblasti

chování modelu s cílem vizualizovat tyto zajímavé oblasti ve 2D prostoru. Tento

postup jsem upravil tak, aby jej bylo možné využít pro vizualizaci ve 3D prostoru.

Také jsem využil poznatky z experimentu uvedených v [6] k sestavení fitness funkce

a dalších parametru genetického algoritmu.

Hlavním problémem pri studiu chování modelu neuronových sítí je velká

dimenzionalita vstupních dat. Model neuronové síte je definován pro jakoukoliv

kombinaci vstupních parametru. Orientovat se v tomto obrovském prostoru bez další

znalosti závislostí v množine ucicích dat je témer nemožné. Víme, jaké chování

modelu je zajímavé, ale problémem je najít tyto zajímavé oblasti (nastavit vstupní

parametry), které tomuto chování odpovídají.

Pri vyhledávání zajímavých oblastí je prvním krokem definování, co je

zajímavá oblast. Z této definice je možné odvodit podmínky, které umožní aplikovat

genetický algoritmus na vyhledávání takových oblastí.

Page 57: Vizuální 3D analýza chování neuronových sítífakegame.sourceforge.net/lib/exe/fetch.php?media=nozkaj1... · 2009-08-24 · Ceské vysoké ucení technické v Praze Fakulta

KAPITOLA 8. CTENÍ GRAFU

43

Na model neuronové síte se mužeme dívat jako na funkci vektoru vstupních

promenných.

( )xfyr

= , kde ( )nxxxx ,...,, 21=r, kde 1;0∈ix ,

kde n je dimenze vstupního vektoru (pocet vstupních parametru modelu).

Po predložení vstupního vektoru xr

i-tému modelu získáme odezvu yi, která je

normalizovaná do intervalu 1;0 .

Pri skupinovém ucení bylo vytvoreno m modelu neuronové síte. Odezvy

modelu budou zkoumány vždy pro dva zvolené vstupní parametry xj1 a xj2, kde 1 = j1

= n a zároven 1 = j2 = n . Tyto vstupní parametry jsou promenné, které pro jedno

nastavení ostatních vstupních parametru urcují prubeh odezvy modelu. Pro jedno

nastavení vstupního vektoru xr

je tedy možné zobrazit prubeh odezvy jednoho

modelu jako funkci dvou promenných yi(xj1, xj2), kde xj1 velikoststartstart XXX +∈ 11 ; , xj2

velikoststartstart XXX +∈ 22 ; jsou vybrané vstupní parametry a i je index jednoho ze

skupiny modelu. Úkolem genetického algoritmu je najít takové nastavení vstupního

vektoru xr

a parametru x1start, x2start, xvelikost urcující oblast, aby odezvy yi modelu

splnovaly následující podmínky pro „zajímavou oblast“:

1. Odezvy modelu jsou v oblasti velikoststartstartvelikoststartstart XXXXXX +×+ 2211 ;; co

nejpodobnejší. V místech, kde jsou odezvy modelu podobné, je pravdepodobné, že

odezvy jsou správné. To je dáno tím, že v prubehu ucení modelu je odezva nejdríve

náhodná a postupne je upravována tak, aby odpovídala množine ucicích dat. Z toho

plyne, že v místech, kde je možné odezvu modelu porovnat s daty z ucicí množiny,

jsou odezvy modelu podobné a na ostatních místech jsou náhodné. Místa, kde jsou

odezvy modelu náhodné, je treba odfiltrovat a vyhledat jen místa, kde se modely

shodují. Míra podobnosti modelu p v oblasti

velikoststartstartvelikoststartstart XXXXXX +×+ 2211 ;;

je dána vztahem:

( )( ) ( )( )∑∑+

=≤<≤<

+

=

−=

velikoststart

start

velikoststart

start

XX

Xkimii

mi

XX

Xjvelikost

kjfkjfX

p2

2

1

1

,minarg,maxarg1002 .

Page 58: Vizuální 3D analýza chování neuronových sítífakegame.sourceforge.net/lib/exe/fetch.php?media=nozkaj1... · 2009-08-24 · Ceské vysoké ucení technické v Praze Fakulta

KAPITOLA 8. CTENÍ GRAFU

44

2. Nalezená oblast je co nejvetší (maximalizace parametru xvelikost) Odezvy modelu

se mohou na nejaké oblasti shodnout a splnit tím první podmínku. Podmínkou pro

rozlišení dvou takovýchto oblastí je velikost nalezené oblasti. Velikostí se rozumí, na

jak velké ploše pro zkoumané vstupní parametry xj1,xj2 jsou odezvy modelu

podobné.

3. Velikost zmeny chování prumerných odezev modelu v nalezené ctvercové oblasti

velikoststartstartvelikoststartstart XXXXXX +×+ 2211 ;; .

Pokud jsou odezvy modelu podobné na dostatecne velké oblasti vstupních

parametru, je další podmínkou definující zajímavou oblast samotný prubeh odezev

modelu. Modely se na zkoumaném intervalu chovají podobne, a je tedy možné

vycházet z jejich prumerné hodnoty.

( ) ( )∑=

=m

ijjijj xxy

mxxy

12121 ,1, ,kde

[ ] velikoststartstartvelikoststartstartjj XXXXXXxx +×+∈ 221121 ;;; ,

kde m je pocet zkoumaných modelu a yi je odezva i-tého modelu. Pokud je prubeh

na zkoumané oblasti konstantní, je zrejmé, že modely na zmenu zkoumaných

parametru nereagují. Taková oblast není tak zajímavá jako v prípade, kdy se

prumerná odezva modelu mení. Jedním ze zpusobu, jak tyto zmeny poznat, je

porovnání minimální a maximální hodnoty prumerné odezvy modelu na zkoumané

oblasti. Z techto hodnot je odvozen parametr

)),(min(arg)),((maxarg 2121 ttyttyyvelikost −= , kde

[ ] velikoststartstartvelikoststartstart XXXXXXtt +×+∈ 221121 ;;; .

8.2 Aplikace genetického algoritmu Pro vyhledání zajímavých oblastí v modelech lze využít genetického algoritmu. Pro

nasazení genetického algoritmu musíme stanovit chromozom, který definuje jedno

rešení, dále operátory krížení, mutace a selekce techto chromozomu v populaci

jedincu, kterí jsou popsáni práve temito chromozomy.

Page 59: Vizuální 3D analýza chování neuronových sítífakegame.sourceforge.net/lib/exe/fetch.php?media=nozkaj1... · 2009-08-24 · Ceské vysoké ucení technické v Praze Fakulta

KAPITOLA 8. CTENÍ GRAFU

45

8.2.1 Zakódování chromozomu

Parametry, které definují „zajímavou oblast“, jsou vstupní vektor xr

, velikost oblasti

xvelikost a volba dvou zkoumaných vstupních promenných xj1, xj2. Volbu zkoumaných

vstupních promenných xj1 a xj2 však není nutné do chromozomu zahrnout, nebot ta je

predem dána volbou pred aktivací celého vizualizacního modulu.

Chromozom je tedy vektor o dimenzi n + 1 . Prvních n složek jsou vstupní

parametry modelu. Poslední n+1. složka chromozomu kóduje velikost ctvercové

oblasti. Pri krížení a mutaci chromozomu se muže stát, že velikost oblasti by mohla

prekrocit oblast, pro kterou je model definován. Proto je pri výpoctu fitness hodnoty

daného chromozomu provedena nejprve korekce této složky.

Obr. 8.2 Zakódování chromozomu

8.2.2 Operátory krížení

Po vybrání (selekci) vhodných kandidátu na rodice jsou použity operátory krížení,

jejichž produktem jsou noví potomci. V našem prípade, kdy jsou chromozomy

zakódovány jako vektory reálných císel, je krížení dvou chromozomu možno

provádet výpoctem aritmetického prumeru pro každou složku vektoru. Složky vektoru

chromozomu potomka pi jsou pak dány vztahem:

2ii

i

bap

+= , pro i ? {1, 2, ..., n + 1},

kde n je dimenze vektoru vstupních dat. Tento zpusob krížení generuje jen jednoho

potomka na dva rodice, protože takto definovaný operátor krížení je symetrický.

Dalším použitým operátorem krížení je operátor jednotného krížení. Tento

operátor prochází oba chromozomy a se zadanou pravdepodobností vymenuje

jednotlivé položky vektoru chromozomu rodicu. Pri použití tohoto operátoru krížení

vzniknou potomci dva.

Page 60: Vizuální 3D analýza chování neuronových sítífakegame.sourceforge.net/lib/exe/fetch.php?media=nozkaj1... · 2009-08-24 · Ceské vysoké ucení technické v Praze Fakulta

KAPITOLA 8. CTENÍ GRAFU

46

8.2.3 Operátor mutace

Operátor mutace se zadanou pravdepodobností náhodne modifikuje velikosti

jednotlivých složek vektoru chromozomu. Operátor mutace slouží genetickému

algoritmu ke generování nových rešení. Nastavení pravdepodobnosti mutace je

otázkou experimentu. Príliš velká pravdepodobnost nebo velikost mutace muže

zpusobit nefunkcnost genetického algoritmu, ale na druhou stranu muže zpusobit

nalezení zcela nového rešení a pomáhá zabránit algoritmu k zabrednutí do lokálních

minim.

8.2.4 Operátor selekce

Použil jsem operátor, který je nazýván exponenciální ranking. Tento operátor

predpokládá, že na vstupu je serazena posloupnost chromozomu od nejlepšího

k nejhoršímu (podle klesající hodnoty fitness funkce). Pokud v populaci existuje

chromozom s výrazne lepší fitness, má nejvetší pravdepodobnost být vybrán, ale

oproti jednodušším operátorum selekce nezpusobí predcasnou konvergenci

genetického algoritmu. Pravdepodobnost pi výberu i-tého z m chromozomu je:

∑=

= m

i

i

i

i

c

cp

1

.

Pro index chromozomu i a náhodne vybrané císlo r z intervalu (0; 1) platí následující

vztah:

∑∑=

=

=i

jm

kk

j

c

cr

11

.

Z této rovnosti plyne vztah pro index vybraného chromozomu:

ccr

im

ln)1)1(ln( +−

= ,

a jelikož index vybraného chromozomu musí být celé císlo, je index roven i .

Základ exponentu c je parametr, který je v intervalu (0;1), jehož zmenou lze

menit selekcní tlak. Selekcní tlak udává míru zvýhodnení lepších chromozomu

pred horšími. Zmena selekcního tlaku tak ovlivnuje míru zachování variability

Page 61: Vizuální 3D analýza chování neuronových sítífakegame.sourceforge.net/lib/exe/fetch.php?media=nozkaj1... · 2009-08-24 · Ceské vysoké ucení technické v Praze Fakulta

KAPITOLA 8. CTENÍ GRAFU

47

v populaci, a tím predcasnou konvergenci genetického algoritmu k lokálnímu

maximu.

8.2.5 Fitness funkce

V práci [6], keterou je genetické hledání zajímavých oblastí inspirováno, je

experimentálne zjišteno, že pro 2D prípad hledání zajímavých oblastí se nejlépe

osvedcila fitness funkce v následující podobe, a proto jsem pro svuj 3D prípad použil

její stejný tvar:

pyxfitness velikostvelikost

1**= .

Tato funkce díky soucinu všech zahrnutých faktoru podporuje takové oblasti,

ve kterých jsou splnena všechna kritéria zajímavosti najednou, a to tak, že cím vetší

hodnoty nabývají jednotliví cinitelé fitness funkce, tím více je príslušná oblast

uprednostnena.

8.2.6 Nastavení parametru genetického algoritmu

Pro základní nastavení parametru genetického algoritmu jsem použil hodnoty, které

byly experimentálne nalezené v [6]. Aby bylo možné tyto hodnoty konfigurovat, pridal

jsem k ovládacím panelum vizualizace 3D rezu panel, kde je možné menit nastavení

genetického algoritmu, a tento panel je také místem, kde se stiskem tlacítka „Search“

spouští samotné hledání genetickým algoritmem. Samotné hledání pak probíhá

v samostatném vlákne, a tak je možné dále se scénou v prubehu hledání pracovat.

Postup hledání, cili pocet již odsimulovaných generací, lze sledovat hned pod

tlacítkem „search“, kde je zobrazen pomocí progressbaru. Po stisku tlacítka „Prejít do

nejlepší oblasti“ dojde k nastavení všech promenných do pozice, která této oblasti

odpovídá, a k zobrazení modelu príslušného modelu ve 3D scéne. Do nejlepší

oblasti je možné prejít již po výpoctu první generace a tato nejlepší oblast je nejlepší

oblastí, kterou do té doby genetický algoritmus nalezl. Usporádání ovládacího

konfiguracního panelu genetického algoritmu je zobrazeno na obr. 8.3.

Page 62: Vizuální 3D analýza chování neuronových sítífakegame.sourceforge.net/lib/exe/fetch.php?media=nozkaj1... · 2009-08-24 · Ceské vysoké ucení technické v Praze Fakulta

48APITOLA 9. TESTOVÁNÍ A EXPERIMENTY

Obr. 8.3 Usporádání konfiguracního panelu genetického algoritmu

9 Testování a experimenty

9.1 Mlžná telesa pro klasifikacní modely Primárním cílem této práce je sice vizualizace regresních modelu, ale

pred zapocetím prací na vizualizaci 3D rezu regresních modelu jsem se také zabýval

možností vizualizace 4D rezu s pomocí Javy 3D. Použití 4D rezu bylo omezeno

pouze na klasifikacní modely. Myšlenka byla následující: Jednu z promenných 4

dimenzí modulovat do pruhlednosti v daném bode 3D scény a zbylé 3 promenné

použít k urcení polohy vzhledem k souradným osám vizualizacní 3D scény.

Pro modulaci do pruhlednosti byla zvolena promenná n-dimenzionálního prostoru

predstavující odpoved síte. Tímto postupem bychom získali scénu, kde by byly

mlžné objekty podobné mrakum na obloze, jejichž hustota by odpovídala míre

Page 63: Vizuální 3D analýza chování neuronových sítífakegame.sourceforge.net/lib/exe/fetch.php?media=nozkaj1... · 2009-08-24 · Ceské vysoké ucení technické v Praze Fakulta

49 KAPITOLA 9. TESTOVÁNÍ A EXPERIMENTY

klasifikace k dané množine v daném bode. Místa, kde jsou takto vytvorené mraky

nepruhledné, klasifikuje sít do dané množiny, a naopak v místech, kde mracna

nejsou – cili jsou zcela pruhledná, neklasifikuje sít do dané množiny. Oblasti

cástecne pruhledných mracen pak odpovídají svou pruhledností míre nejistoty

klasifikace do dané trídy. Barevne by pak bylo možné odlišit jednotlivé klasifikacní

trídy.

Objekt Fog obsažený v Java 3D API není možné využít, nebot ten nefunguje

jako mlha v prírode, cili nejedná se o objem s cástecnou pruhledností, ale funguje

tak, že snižuje viditelnost objektu ve scéne v závislosti na jejich vzdálenosti

od pozorovatele. Toto je zcela jiné chování mlhy, než pro naše úcely potrebujeme.

Další alternativou, kterou jsem odzkoušel, bylo zobrazení krychlí, jejichž

pruhlednost byla dána odpovedí síte v daném bode. Zásadním nedostatkem takto

vizualizované scény bylo príliš velké množství rušivé informace ve scéne zpusobené

odlišnými optickými vlastnostmi na hranách a stenách zobrazených krychlí.

Pri použití vetších krychlí sice tento efekt slábl, ale zase nebylo možné pozorovat

detailnejší chování modelu. Naopak pri použití menších krychlí zcela prevládal tento

rušivý efekt nad efektem žádaným. Z tohoto duvodu jsem v rozvoji této alternativy

rešení dále nepokracoval.

Predposledním pokusem o rešení problému vizualizace 4D rezu byla

modulace míry klasifikace k dané tríde do pruhlednosti bodu umístených ve scéne.

Body jsem umístil do pravidelné pravoúhlé mrížky. Zobrazení jednoho modelu, které

jsem takto získal je na obr. 9.2. Pravidelnost umístení bodu do mrížky a perspektiva

pohledu na scénu zpusobují vznik artefaktu, které opet zcela zastinují kýžený efekt.

Z tohoto duvodu je i tato metoda nepoužitelná.

Page 64: Vizuální 3D analýza chování neuronových sítífakegame.sourceforge.net/lib/exe/fetch.php?media=nozkaj1... · 2009-08-24 · Ceské vysoké ucení technické v Praze Fakulta

50APITOLA 9. TESTOVÁNÍ A EXPERIMENTY

Obr. 9.1 Artefakty pri vizualizaci klasifikace pomocí bodu

Pri posledním pokusu o vizualizaci 4D rezu jsem jako objekty scény použil

objekty typu billboard. Objekty typu billboard se bežne používají v aplikacích 3D

grafiky a jejich hlavním znakem je zachovávání stejné orientace k pozorovateli,

bez ohledu na úhel natocení scény vzhledem k pozorovateli. Tyto objekty se bežne

používají k vizualizaci složitých objektu, jako jsou napríklad stromy, které jsou

nahrazeny texturou, která pak zachovává stálou orientaci k pozorovateli. Já jsem

použil ctvercové plochy, jejichž míru pruhlednosti jsem nastavil podle míry klasifikace

síte v daném bode. Opet je možné jednotlivé klasifikacní skupiny barevne odlišit a

zobrazit tak více ruzných sítí do jediné scény najednou. Výsledná vizualizace

modelu, kterou jsem tímto postupem naprogramoval, je videt na obr. 9.3. Bohužel i

tato cesta má jeden podstatný nedostatek, který brání nasazení tohoto postupu.

Tímto nedostatkem je fakt, že Java 3D API pocítá v nekterých prípadech chybne

pruhlednost v prípade více pruhledných objektu umístených za sebou, a tato chyba

je dána špatným urcením poradí pruhledných ploch vzhledem ke zdroji svetla ve

scéne. Tato chyba v Java 3D API souvisí s chybou popsanou v kapitole 7.8 . Tato

chyba Java 3D API by mela být v príštích verzích Java 3D API odstranena, a proto je

možné do budoucna uvažovat o nasazení této metody.

Page 65: Vizuální 3D analýza chování neuronových sítífakegame.sourceforge.net/lib/exe/fetch.php?media=nozkaj1... · 2009-08-24 · Ceské vysoké ucení technické v Praze Fakulta

51 KAPITOLA 9. TESTOVÁNÍ A EXPERIMENTY

Obr. 9.2Vizualizace klasifikacního modelu s využitím billboardu

9.2 Overení korektnosti vizualizace 3D rezu

Pro overení korektnosti vizualizace modelu jsem vygeneroval data s využitím

jednoduchých funkcí, jejichž tvar si lze snadno predstavit. Tato data jsem predložil

systému GAME k natrénování a následne jsem ve vizualizovaných modelech

kontroloval jejich korektnost. Kontrolní data bylo však nutné vytvorit tak, aby bylo

možné zkontrolovat správnou vzájemnou polohu os, trénovacích dat a modelu, a

proto bylo nutné vytvorit data tak, aby byla asymetrická vzhledem k osám

souradného systému.

Pro tyto úcely jsem použil následující funkci trí promenných x,y,z:

( ) ( ) zyxzyxSETvýsledekDE *,, += pokud yx ≥ jinak 0, pricemž 5;0∈x ; 10;0∈y ; 50;0∈z .

Page 66: Vizuální 3D analýza chování neuronových sítífakegame.sourceforge.net/lib/exe/fetch.php?media=nozkaj1... · 2009-08-24 · Ceské vysoké ucení technické v Praze Fakulta

52APITOLA 9. TESTOVÁNÍ A EXPERIMENTY

Data jsem vygeneroval s krokem generování 1 v celém oboru všech promenných

x,y,z:

Promenné této funkce vytvorí spolu s natrénovanou odpovedí sítí (cili s aproximací

funkcní hodnoty) 4-dimenzionální prostor. Na obr. 9.3 je vizualizace dvou modelu

vytvorených aplikací GAME na datech, vygenerovaných s pomocí výše uvedené

funkce. Jeden z modelu je obarven svetle šedou barvou a druhý hnedožlutou. Ucicí

data jsou zobrazena pomocí cervených koulí. Promenná z slouží jako merítko, ale

jejím hlavním úcelem je, aby umožnila demonstrovat závislost velikosti zobrazení

trénovacích dat na jejich vzdálenosti od jejich skutecné polohy, vzhledem

k zmrazeným dimenzím. To je nejlépe videt v levé cásti obr. 9.3 V pravé cásti

obrázku, za zlomem funkce, se vizualizovaná trénovací data vzhledem k dimenzi

z nemení, a proto jsou zobrazena vždy jako jedna koule.

Z obr. 9.3 a definice trénovací funkce je patrné, že poloha os a modelu je správná.

Také je na nem videt, že rozsah hodnot na osách a jejich popis odpovídá

trénovaným hodnotám.

Page 67: Vizuální 3D analýza chování neuronových sítífakegame.sourceforge.net/lib/exe/fetch.php?media=nozkaj1... · 2009-08-24 · Ceské vysoké ucení technické v Praze Fakulta

53 KAPITOLA 9. TESTOVÁNÍ A EXPERIMENTY

Obr. 9.3 Overení korektnosti vizualizace

9.3 Užití genetického algoritmu Pro otestování funkcnosti genetického algoritmu jsem vygeneroval trénovací data,

která jsem následne predložil síti k natrénování. Pri trénování jsem nechal program

GAME vytvorit 5 modelu. Tato trénovací data jsem vygeneroval tak, aby byla

trojrozmerná, a použil jsem následující predpis:

( )

Π

=100

**2sin*,,

yxzyxf

, pokud 5=z ,jinak náhodné císlo z intervalu 1;0 s 5%

pravdepodobností nebo žádná hodnota,

pricemž 10;0∈x ; 100;0∈y ; 10;0∈z .

Page 68: Vizuální 3D analýza chování neuronových sítífakegame.sourceforge.net/lib/exe/fetch.php?media=nozkaj1... · 2009-08-24 · Ceské vysoké ucení technické v Praze Fakulta

54APITOLA 9. TESTOVÁNÍ A EXPERIMENTY

Tato data vytvorí spolecne s funkcní hodnotou 4 dimenzionální prostor. Víme o nich,

že urcite obsahují alespon jednu zajímavou oblast, a sice pro z = 5. Ostatní data jsou

náhodný šum. Pro vizualizaci techto modelu pomocí 3D rezu je jako zmrazená

dimenze zvolena promenná z, která zde slouží pro urcení polohy zajímavé oblasti.

Na levé polovine obrázku 9.4 je zobrazen model v náhodne zvoleném bode

vzhledem k promenné z. Zde je videt, že se jednotlivé modely, které jsou barevne

odlišené, se svými hodnotami odpovedí liší. Tato odlišnost odpovedí je dána velmi

malou hustotou ci absencí trénovacích dat v tomto bode prostoru. Následne jsem

nechal genetický algoritmus najít zajímavou oblast s ponecháním jeho nastavení na

jeho základních hodnotách, a ten po stu generacích evoluce oznacil jako

nejzajímavejší oblast v bode 4,989 na ose z, což je o pouhých 0,011 od námi

ocekávaného bodu. Ponevadž je chování modelu v nalezeném bode témer stejné

jako v oblasti dané ocekávaným bodem – jednotlivé modely mají podobné chování,

výrazne mení své hodnoty a velikost této oblasti je velká – lze tento výsledek hledání

zajímavé oblasti genetickým algoritmem považovat za vynikající. Navíc leží nalezená

oblast velmi blízko ocekávané oblasti. Vizualizace modelu v takto nalezené oblasti je

na obr. 9.4 vpravo.

0br. 9.4 Vlevo náhodná oblast, vpravo zajímavá oblast nalezená genetickým

algoritmem

Oblast na obrázku 9.4 vpravo se nachází velmi blízko místa, kde leží trénovací data,

a je videt, že všech 5 modelu velmi presne aproximuje trénovanou funkci sinus (y)

násobenou x a ani jeden model se nesnaží aproximovat šum. To je ale presne to,

Page 69: Vizuální 3D analýza chování neuronových sítífakegame.sourceforge.net/lib/exe/fetch.php?media=nozkaj1... · 2009-08-24 · Ceské vysoké ucení technické v Praze Fakulta

KAPITOLA 10. ZÁVER

ceho jsme chteli dosáhnout! Genetický algoritmus nalezl oblast, kde modely velmi

dobre aproximují natrénovanou funkci a shodují se svými hodnotami. Také je

z tohoto obrázku patrné, že umístení modelu vzhledem k osám, hodnoty na osách

stejne tak jako tvar zobrazeného modelu odpovídjí trénovaným datum.

Prubeh rustu hodnoty fitness funkce pri behu genetického hledání je zachycen

v grafu na obrázku 9.5 .

0

0,0005

0,001

0,0015

0,002

0,0025

0,003

0,0035

0,004

0,0045

0 10 20 30 40 50 60 70 80 90 100

Generace

Fitness

Obr. 9.5 Prubeh rustu fitness funkce pri hledání zajímavých oblastí genetickým

algoritmem

9.4 Genetický algoritmus na reálných datech Pro otestování genetického algoritmu jsem použil data pocházející z [11]. Zvolená

data obsahují ceny budov v Bostnu spolu s údaji o jejich konkrétní vzdálenesti od

centra, stárí, celkem je sledováno 12 atributu budov. Modelovaným parametrem je

práve cena techto budov v závislosti na techto parametrech. Spolu s cenou je pak

tedy modelový prostor 13ti dimenzionální.

Po natrénování sítí jsem spustil genetický algoritmus s volbou sledovaných

parametru AGE a CRIM, tentokrát jsem ale oproti základnímu nastavení nechal

algoritmus bežet 1000 generací.

Na levé polovine obrázku 9.6 je zobrazen model v náhodne zvoleném bode a

na pravé polovine je oblast nalezená genetickým algoritmem. Je videt, že nalezená

Page 70: Vizuální 3D analýza chování neuronových sítífakegame.sourceforge.net/lib/exe/fetch.php?media=nozkaj1... · 2009-08-24 · Ceské vysoké ucení technické v Praze Fakulta

KAPITOLA 9. TESTOVÁNÍ A EXPERIMENTY

oblast se chová více zajímavým zpusobem, než oblast náhodná. Prubeh vývoje

fitness funkce je zachycen na obrázku 9.7 .

Obr. 9.6 Vlevo náhodná oblast, vpravo zajímavá oblast nalezená genetickým

algoritmem

Na obrázku 9.6 je videt, že v nalezené oblasti se jednotlivé modely svými

hodnotami shodují lépe, než v oblasti zvolené náhodne.

0

0,0002

0,0004

0,0006

0,0008

0,001

0,0012

0,0014

0,0016

0 100 200 300 400 500 600 700 800 900 1000

Generace

Fitness

Obr. 9.7 Vývoj fitness funkce na modelech z reálných dat

Z obrázku 9.7 je patrné, že po sté generaci se hodnota fitness funkce již

významne nemení, címž dokládá kvalitu základního nastavení genetického

algoritmu.

Page 71: Vizuální 3D analýza chování neuronových sítífakegame.sourceforge.net/lib/exe/fetch.php?media=nozkaj1... · 2009-08-24 · Ceské vysoké ucení technické v Praze Fakulta

KAPITOLA 10. ZÁVER

10 Záver Navrhl a implementoval jsem moduly do programu GAME, které vizualizují chování modelu neuronových sítí vytvorených v tomto programu. Oba tyto moduly využívají prostredku 3D grafiky. 3D grafika v techto modulech využívá rozhraní Java 3D API. Bohužel, v dusledku chyby v Java 3D API je použitelný pouze jeden z techto dvou modulu a sice vizualizace 3D rezu n-dimenzionálního prostoru. Po odstranení chyby v Java 3D API by však melo být možné nasadit i druhý modul. Pro nalezení oblastí, ve kterých mají modely z našeho hlediska zajímavé chování, v n-dimenzionálním prostoru, a jejich následnou vizualizaci jsem implementoval genetický algoritmus, který umožnuje jejich automatické nalezení a prechod k jejich vizualizaci. Správná funkcnost vizualizacního modulu, stejne tak jako genetického algoritmu, byla overena experimenty na skutecných a umele vygenerovaných datech. Výsledky této práce jsem prezentoval na 11. Bilateral Student Workshop CTU Prague – HTW Dresden, která se konala 1. – 3. prosince 2006 v Dráždanech. Díky efektnosti obrázku, které pri 3D vizualizaci modelu získáváme, jsou tyto obrázky velmi vhodné pro prezentacní úcely programu GAME, stejne tak jako samotných výsledku práce tohoto programu.

Page 72: Vizuální 3D analýza chování neuronových sítífakegame.sourceforge.net/lib/exe/fetch.php?media=nozkaj1... · 2009-08-24 · Ceské vysoké ucení technické v Praze Fakulta

KAPITOLA 11. SEZNAM LITERATURY

11 Seznam literatury

[1] Šnorek M.: Neuronové síte a neuropocítace, Vydavatelství CVUT, Praha,

2002, ISBN 80-01-02549-7.

[2] Horácek P.: Systémy a modely, Vydavatelství CVUT, Praha, 1999,

ISBN 80-01-01923-3.

[3] Kordík P.: Fully Automated Knowledge Extraction using Group of Adaptive Models

Evolution, PhD thesis, FEE, CTU Prague, September 2006.

[4] Minsky M., Pápery S.: Perceptrons. MIT Press 1969.

[5] P. L.K.Hansen: Neural network ensembles. IEEE Trans. Pattern Anal. Machine

Inteligence, 1990.

[6] Seidl Jan: Vizualizace jako nástroj studia chování modelu

prírodních systému, Diplomová práce CVUT, 2006.

[7] java.net: The source for Java Technology Collaboration

https://java3d.dev.java.net.

[8] Sun Developer Network: http://java.sun.com/products/java-media/3D/index.jsp.

[9] Daniel A. Keim: Information Visualization and Visual Data Mining, IEEE

Transactions On Visualization and Computer Graphics, Vol. 7, No. 1, January –

March 2002.

[10] interval.cz: http://interval.cz/clanky/java-a-3d-grafika-graf-sceny/ .

[11] Neural Computing Group: http:/neuron.felk.cvut.cz/game/.

[12] Uci machine learning repository:

http://www.ics.uci.edu/~mlearn/MLSummary.html.

Page 73: Vizuální 3D analýza chování neuronových sítífakegame.sourceforge.net/lib/exe/fetch.php?media=nozkaj1... · 2009-08-24 · Ceské vysoké ucení technické v Praze Fakulta

KAPITOLA 11. SEZNAM LITERATURY

12 Seznam použitých zkratek Renderování – název používaný pro proces výpoctu vizuální podoby 3D scény

Progressbar – grafický prvek urcený pro indikaci stavu déle trvajícího vývoje

nejakého procesu

4D – ctyrdimenzionální

3D – trídimenzionální

2D – dvoudimenzionální

API – Application Programming Interface – rozhraní urcené pro programování

aplikací

PC – Personal Computer – osobní pocítac

AWT – Abstract Window Toolkit – rozhraní Javy pro práci s grafickými ovládacími

prvky

Page 74: Vizuální 3D analýza chování neuronových sítífakegame.sourceforge.net/lib/exe/fetch.php?media=nozkaj1... · 2009-08-24 · Ceské vysoké ucení technické v Praze Fakulta
Page 75: Vizuální 3D analýza chování neuronových sítífakegame.sourceforge.net/lib/exe/fetch.php?media=nozkaj1... · 2009-08-24 · Ceské vysoké ucení technické v Praze Fakulta

KAPITOLA 10. ZÁVER

13 Uživatelská prírucka Tato prírucka popisuje ovládání implementovaného vizualizacního modulu, který

jsem implementoval do programu GAME. Popis práce s programem GAME lze získat

z [11] a tento popis není predmetem této prírucky. Tato prírucka se zabývá pouze

implementovaným vizualizacním modulem.

13.1 Instalace

Postup instalace a spuštení programu GAME s implementovaným vizualizacním

modulem je popsán v souboru index.html v korenovém adresári priloženého CD.

13.2 Získání modelu pro vizualizaci Model pro vizualizaci je možné vytvorit v programu GAME. Popis tvorby je modelu je

popsán v [11]. Dríve vytvorený model je možné nacíst ze souboru. Nactení se

provede volbou File -> load a následným výberem souboru v menu programu GAME.

13.3 Aktivace vizualizacního modulu Máme-li nactený model, který chceme vizualizovat, je nejprve nutné oznacit presne

dve vstupní promenné tohoto modelu. Oznacení vstupních promenných se provádí

v levé cásti okna aplikace GAME pomocí checkboxu, kde jeden checkbox odpovídá

jedné vstupní promenné.

Dále je nutné vybrat modely, které chceme vizualizovat, a to se provede

pomocí okna urceného k výberu modelu. Okno pro výber modelu je prístupné

pres tlacítko multiple models, které se nachází ve spodní cásti okna aplikace GAME

vlevo.

Aktivace vizualizacního modulu se provádí volbou v menu aplikace

Graph -> Cut 3D. Následne dojde ke spuštení vizualizacního modulu. Vizualizace

modelu je zobrazena v prostrední – nejvetší cásti aplikace.

Page 76: Vizuální 3D analýza chování neuronových sítífakegame.sourceforge.net/lib/exe/fetch.php?media=nozkaj1... · 2009-08-24 · Ceské vysoké ucení technické v Praze Fakulta

PRÍLOHA B. UŽIVATELSKÁ PRÍRUCKA

Obr. B.1 Program GAME s aktivovaným vizualizacním modulem

13.4 Ovládání vizualizacního modulu Vizualizované modely je možné otácet do všech stran. To se provede umístením

kurzoru myši do cásti aplikace, kde jsou modely zobrazeny, stiskem levého tlacítka

myši a pohybem myši pri stisknutém levém tlacítku.

Vizualizované modely je možné posouvat horizontálne a vertikálne vzhledem

k oknu, kde jsou zobrazeny. To se provede umístením kurzoru myši do cásti

aplikace, kde jsou modely zobrazeny, stiskem pravého tlacítka myši a pohybem myši

pri stisknutém pravém tlacítku.

Vizualizované modely je možné približovat a oddalovat vzhledem k oknu, kde

jsou zobrazeny. To se provede umístením kurzoru myši do cásti aplikace, kde jsou

modely zobrazeny, stiskem prostredního tlacítka myši a pohybem myši pri stisknutém

prostredním tlacítku. Místo stisku prostredního tlacítka lze stisknout kolecko myši,

nebo jen (i bez stisku) koleckem otácet.

13.5 Nastavení vlastností vizualizace Parametry vizualizace lze nastavit po otevrení okna Graph properties. Toto okno

otevreme volbou v menu aplikace Options -> Graph properties. Okno Graph

properties je dále rozdeleno 5 záložkami – Axis, Models, Lights, Data, Genetic

search. V dolní cásti tohoto okna je tlacítko Recreate now, jehož stisk zpusobí

Page 77: Vizuální 3D analýza chování neuronových sítífakegame.sourceforge.net/lib/exe/fetch.php?media=nozkaj1... · 2009-08-24 · Ceské vysoké ucení technické v Praze Fakulta

PRÍLOHA B. UŽIVATELSKÁ PRÍRUCKA

aplikaci všech parametru nastavených v tomto okne na vizualizovanou scénu a její

prekreslení bez zavrení tohoto okna. Dále je v dolní cásti tohoto okna tlacítko OK,

jehož stisk zpusobí aplikaci všech parametru nastavených v tomto okne

na vizualizovanou scénu a její prekreslení s následným zavrením tohoto

konfiguracního okna.

13.5.1 Záložka Axis

Zde je možné nastavit rozlišení – resolution vizualizovaných modelu. Toto rozlišení

stanovuje pocet odmeru v jednom smeru a ve smeru druhém je použit stejný pocet

odmeru. Tento pocet odmeru umocnený na druhou udává pocet elementu, ze

kterých je sestaven graf pro jeden model.

Pole klobouk – zde se nastavuje mezní hodnota pro funkci klobouk, kterou popisuji v odstavci 7.2.

Checkbox Show axis – je-li zaškrtnut, budou zobrazeny osy.

Checkbox Show axis description – je-li zaškrtnut, budou zobrazeny popisy os.

Checkbox Show values – je-li zaškrtnut, budou zobrazeny hodnoty na osách

Pole Number of values – hodnota v tomto polícku urcuje pocet zobrazených hodnot

na každé ose, je-li zaškrtnut checkbox Show values, jinak je pole neprístupné.

Checkbox Show orientation points – je-li zaškrtnut, budou na osách zobrazeny

body mezi hodnotami.

Pole Number of points – hodnota v tomto polícku urcuje pocet bodu, které budou

zobrazeny mezi hodnotami na osách, je -li zaškrtnut checkbox Show orientation

points, jinak je pole neprístupné.

13.5.2 Záložka Models

Zde jsou zobrazeny ovládací prvky pro každý z dríve vybraných modelu.

Tlacítko Set color – po jeho stisku se zobrazí panel, kde je možné zvolit barvu

konkrétního modelu bud výberem z preddefinovaných barev, pomocí složek RGB

modelu, anebo pomocí HSB modelu.

Checkbox Transparency – po jeho zaškrtnutí je možné nastavit míru pruhlednosti

konkrétního modelu, což se provádí posuvníkem, který je umísten hned vedle tohoto

checkboxu a je prístupný pouze po zaškrtnutí checkboxu Transparency.

Pruhlednost je nastavitelná v rozsahu od 0 do 100 procent.

Page 78: Vizuální 3D analýza chování neuronových sítífakegame.sourceforge.net/lib/exe/fetch.php?media=nozkaj1... · 2009-08-24 · Ceské vysoké ucení technické v Praze Fakulta

PRÍLOHA B. UŽIVATELSKÁ PRÍRUCKA

Trojice radibuttonu face, wire, point. V jedné chvíli lze zvolit pouze jeden z techto

checkboxu. Pri volbe radiobuttonu face je konkrétní model vizualizován pomocí

ploch. Je-li zvolen radiobutton wire, je model zobrazen jako drátový. Je-li vybrán

radiobutton point, je konkrétní model vizualizován pomocí bodu. Více informací

o zpusobu vizualizace je popsáno v kapitole 7.

13.5.3 Záložka Lights

Na této záložce se nastavují parametry osvetlení scény. Jednotlivé druhy osvetlení

scény lze libovolne kombinovat. O nasvícení scény blíže pojednává kapitola 7.5 .

Checkbox Ambient light – je-li zaškrtnut, je scéna nasvetlena ambientním svetlem.

Checkbox Directional lights – je-li zaškrtnut, je scéna nasvícena osmi smerovými

svetly.

Checkbox Directional lights - axe orientation – je-li zaškrtnut, je scéna nasvícena

šesti smerovými svetly.

13.5.4 Záložka Data

Checkbox Show data – je-li zaškrtnut, jsou zobrazena data skupiny modelu

vybraných v padacím menu. Toto menu se nachází v hlavním okne aplikace GAME

vlevo dole v panelu Select model.

Checkbox Show all data – je-li zaškrtnut, jsou zobrazena data všech skupin modelu.

13.5.5 Záložka Genetic search

Pole Generací – zde se zadává pocet generací pro hledání genetického algoritmu.

Pole Pravdepodobnost mutace chromozomu pri mutaci. Název tohoto pole je

samovysvetlující.

Pole Pravdepodobnost výmeny chromozomu pri jednotném krížení. Název

tohoto pole je samovysvetlující.

Pole Selekcní tlak – nastavuje míru selekcního tlaku pri výberu nových jedincu

do príští populace.

Pole Odmeru na šírku modelu – hodnota tohoto pole umocnená na druhou udává

pocet bodu, které se použijí pri výpoctu fitness funkce.

Pole Elitních jedincu – udává pocet elitních jedincu v každé generaci.

Page 79: Vizuální 3D analýza chování neuronových sítífakegame.sourceforge.net/lib/exe/fetch.php?media=nozkaj1... · 2009-08-24 · Ceské vysoké ucení technické v Praze Fakulta

PRÍLOHA B. UŽIVATELSKÁ PRÍRUCKA

Pole Jedincu mutací – udává pocet jedincu, kterí pri tvorbe nové generace vznikají

mutací.

Pole Jedincu aritmetickým krížením – udává pocet jedincu, kterí pri tvorbe nové

generace vznikají aritmetickým krížením.

Pole Jedincu jednotným krížením – udává pocet jedincu, které pri tvorbe nové

generace vznikají jednotným krížením.

Tlacítko Search – po jeho stisku je v samostatném vlákne spušten genetický

algoritmus hledání zajímavé oblasti.

Tlacítko Prejít do nejlepší oblasti – po jeho stisku jsou vstupní promenné v levé

cásti hlavního panelu aplikace GAME nastaveny tak, aby odpovídaly poloze nejlepší

dosud nalezené oblasti, a jsou vizualizovány modely odpovídající této oblasti.

Page 80: Vizuální 3D analýza chování neuronových sítífakegame.sourceforge.net/lib/exe/fetch.php?media=nozkaj1... · 2009-08-24 · Ceské vysoké ucení technické v Praze Fakulta

PRÍLOHA C. OBSAH PRILOŽENÉHO CD

14 Obsah priloženého CD

Obr. C.1 Obsah priloženého CD


Recommended