Tato stránka vyžaduje podporu CSS stylů
1. semestrální práce z předmětu 36NAN
Varianta c6 : Klasifikace oblasti - písmeno U
Oto Válek
zimní semestr 2003/2004, cvičení Út 9:15
1. Abstrakt
Práce se zabývá použítím neuronové sítě k řešení
problému klasifikace oblasti - rozhodnutí, zda daný bod náleží do daného
rovinného, nekonvexního útvaru.
2. Úvod
Úkolem je navrhnout neuronovou síť pro klasifikaci oblasti. Vstupem bude dvourozměrný prostor. Síť má správně klasifikovat body uvnitř a vně objektů.
Prostor má rozměry čtverce [0 - 1] x [0 - 1]. Hranice objektu je dána jako tvar písmene U o rozměrech - výška 0.6 šířka 0.6 tloušťka 0.2
Použita bude neuronová síť typu Back-propagation.
Dál bude otestována schopnost sítě vyrovnat se s odebrání určitého počtu neuronů.
3. Popis experimentu
|
Trénovací sada 10000 bodů
|
Použitý SW
NeuralWorks Professional II pro MS DOS jako simulátor neuronové sítě
Interpret Perlu jako prostředek pro generování a vyhodnocení dat.
Použitá data
Jako data pro učení sítě bylo náhodně vegenerováno 10000 bodů v daném intervalu.
Jako testovací data dalších 10000 bodů.
Testované sítě
Během hledání optimální sítě bylo vyzkoušeno mnoho variant, zde uvedu jen tři:
- 2-16-1 : síť s jednou skrytou vrstvou se 16 neurony
- 2-4-4-1 : síť se dvěma skrytými vrstvami po 4 neuronech
- 2-4-1 : síť s jednou skrytou vrstvou se 4 neurony
Jako počet cyklů učení jsem volil 100000 a 1000000.
4. Výsledky experimentu
Následují výsledky pro jednotlivé sítě. Zobrazení
představují odpověď sítě po 100000 a 1000000 cyklech
učení. Pro podklad bez hodnot byla zvolena 50% šeď.
Grafy pak zachycují vývoj chyby RMS během učení v závislosti
na cyklu.
2-16-1 : optimální nalezená síť
Pro 16 neuronů v jedné vrstvě se chyba ustálila ve
kolem 400000. cyklu. I když jsem zkoušel i větší
počet neuronů, očekávané výrazně lepší výsledky
se nedostavily.
2-4-4-1 : síť se dvěma skrytými vrstvami
Tato 4-4 dvouvrstvá síť, ale i jiné kombinace počtu neuronů,
například 2-16 či 16-2 ve skrytých vrstvách, nevedla k
žádnému výsledku. Představoval jsem si, že vrstva navíc se
lépe vypořádá s nekonvexností tvaru tím, že ho dokáže aproximovat
superpozicí dvou, ale neukázalo se to jako reálné.
2-4-1 : síť se menším počtem neuronů
Tato síť s menším počtem neuronů se dokázala naučit
tvar ve zjednodušené podobě,
s menším počtem hran. Zřejmě to souvisí s linearitou
funkce neuronu, každý dokáže klasifikovat jednu přímku
- hranu, je totiž funkcí dvou vstupních hodnot x,y.
Test robustnosti sítě 2-16-1
U nejúspěšnější sítě 2-16-1 jsem postupně odobíral náhodně
zvolené neurony. První změna v odezvě sítě nastala až po
odebrání 5. neuronu a zachycuje ji levý obrázek. Další změna
(vpravo) pak až po odebrání 12.neuronu, takže síť tvořily už jen
4.
Z toho je patrné, že k výsledné funkci sítě přispívalo nakonec jen 6
neuronů - přitom se 6 neuronová síť řešení nenaučí.
5. Závěr
Síť Back-Propagation přesně klasifikující daný tvar se najít nepodařilo.
Nejlepší dosažený výsledek byla chyba RMS pod 0.08 u sítě v konfiguraci
2-16-1. Vysvětluji si to relativně složitým tvarem objektu, který je jednak
nekonvexní, a jednak jsou části hranice kruhové.
6. Literatura
- Neuronové sítě a neuropočítače, M. Šnorek, skripta FEL ČVUT, 1996.