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
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: 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íť

100000 cyklů 1000000 cyklů
graf
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

100000 cyklů 1000000 cyklů
graf
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ů

odpověd menší sítě odpověd menší sítě
graf
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čí.
po odebrání 5. neuronu po odebrání 12. neuronu

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