m8

#K$Sieć Kohonena

Sieci samoorganizujące w procesie ucznia spontanicznie tworzą odwzorowanie (ang. mapping) zbioru sygnałów wejściowych na zbiór sygnałów wyjściowych. Cechy jakimi musi charakteryzować się sieć samoorganizująca oraz proces uczenia, to koherentność i kolektywność.

Koherentności jest to efekt grupowania danych wejściowych w klasy podobieństwa. Grupowanie w klasy podobieństwa opisywane jest przez zestaw technik matematycznych (w większości przypadków statystycznych) zwanych analizą skupień (ang. cluster analysis). Wśród technik analizy skupień na uwagę szczególnie zasługują mechanizmy kwantyzacji wektorowej.

Kolektywność jest to efekt, który zachodzi w sieciach samoorganizujących. Główne cechy tego mechanizmu to, to że co rozpoznaje jeden neuron, w dużej mierze zależy także od tego co rozpoznają inne neurony. Ten efekt związany jest z pojęciem sąsiedztwa.

Ogólna zasada uczenia sieci Kohonena opiera się na następujących założeniach:

gdzie:

h(m,m*) - jest funkcją określającą sąsiedztwo

(j) - określa współczynnik uczenia dla (j)-tego kroku

Sąsiedztwo jest to metoda, która pozwala na redukcję niepożądanych skutków uczenia sieci samoorganizujących w oparciu o konkurencje. Konkurencja w procesie uczenia może doprowadzić do sytuacji takiej, że tylko niewielki odsetek neuronów uzyska możliwość rozpoznawania obiektów pokazywanych sieci (nauczy się). Reszta neuronów nie będzie w trakcie uczenia zmieniać swoich wag i w ten sposób zatraci na zawsze swe użytkowe cech jako elementy wytrenowanej sieci neuronowej. Sąsiedztwo jest miarą w jakim stopniu sąsiad neuronu zwycięskiego będzie miał zmieniane wagi w danym kroku procesu uczenia. Zwykle wartość tego parametru jest określana na wartość 0 - 1.

Sąsiedztwo rozpatruje się w układach:

Do najbardziej istotnych i użytecznych układów sąsiedztwa zaliczamy organizacje jedno- i dwuwymiarowe, dla nich właśnie dodatkowym istotnym parametrem jest określenie ile neuronów obok (sąsiadów z lewej, prawej itd.) ma podlegać uczeniu w przypadku zwycięstwa danego neuronu.

Po raz pierwszy opracowania na temat sieci samoorganizujących z konkurencją i sąsiedztwem pojawiły się w latach 70-tych za przyczyną opisów eksperymentów fińskiego badacza Kohonena. Stąd też tego typu sieci wraz z metodami uczenia nazywamy sieciami Kohonena. [13,14,15]


W naszym programie przedstawiamy przykład procesu uczenia sieci Kohonena rozpoznawania zadanej przez użytkownika figury geometrycznej. Po każdorazowym cyklu prezentacji określonej ilości losowych punktów następuje automatyczny test skuteczności sieci w rozpoznawaniu danej figury.


struktury danych algorytmu:

alfa0, alfa1 - parametry określające szybkość procesu uczenia sieci (parametr modyfikacji wag w kolejnych krokach uczenia);

epsAlfa - określa o ile ma się zmieniać wartość alfa0 oraz alfa1 w kolejnych krokach uczenia (po każdej prezentacji);

sąsiedztwo - parametr określający ile neuronów na się uczyć wraz z neuronem zwycięskim;

epsSasiedztwo - określa o ile ma się zmieniać wartość “sąsiedztwo” w kolejnych krokach uczenia (po każdej prezentacji);

m, n - rozmiar sieci (sieć ma konstrukcję obszaru o długości m na n neuronów);

MaxI - ilość prezentacji w epoce uczenia;


uczenie sieci Kohonene:

iInc := 1;

while iInc < MaxI do

begin

x := 5.0 - 10.0*Random;

y := 5.0 - 10.0*Random;

{ PokazPunkt - i dobry i zły }

if not “punkt należy do obszaru figury” then

continue

else

begin { uczenie dla dobrego punktu }

OdlMin := 10000.0;

imin := 1; jmin := 1;


{ obliczanie maksymalnej odpowiedzi sieci }

for i := 1 to m do

for j := 1 to n do

begin

odl := sqrt(sqr(w[i,j,0]-x) + sqr(w[i,j,1]-y));

if odl >= OdlMin then

continue;

OdlMin := odl; imin := i; jmin := j;

end;


{ ustawianie wag zwycięskiego neuronu oraz wag jego sąsiadów - parametr sąsiedztwo}

s := sasiedztwo;

for i := imin-s to imin+s do

for j := jmin-s to jmin+s do

begin

odl := Max(Abs(i-imin),Abs(j-jmin));

{ obliczenie parametru modyfikacji wag )

alfa := (alfa0*(s-odl) + alfa1*odl)/s

w[i,j,0] := w[i,j,0] + alfa*(x-w[i,j,0]);

w[i,j,1] := w[i,j,1] + alfa*(y-w[i,j,1]);

end;

{ zmiana parametrów uczenia }

alfa0 := alfa0*epsAlfa;

alfa1 := alfa1*epsAlfa;

sasiedztwo := (sasiedztwo-1.0)*epsSasiedztwo + 1.0;


Inc(iInc);

end; { koniec pętli uczącej }


Opis modułu aplikacji

Moduł prezentuje model sieci Kohonena, której zadaniem będzie nauczenie się rozpoznawania wskazanej figury geometrycznej. Dla określonej struktury sieci (podano ile sieć prostokątna zawiera elementów na krawędzi poziomej oraz pionowej) należy ustawić parametry: szybkości uczenia, zakresu sąsiedztwa, zmiany szybkości uczenia oraz zakresu sąsiedztwa wraz z kolejnymi prezentacjami, ilość prezentacji losowych punktów figury, której rozpoznawania na się nauczyć szkolona sieć Kohonena.

Główne okno modułu, na którym wyróżniamy w górnej części sekcje funkcjonalności sterujących eksperymentem, zaś w dolnej są umieszczone obszary, na których będą prezentowane efekty kolejnych etapów prowadzonych symulacji.

Ekran okna głównego modułu jest umieszczony na rysunku poniżej:


Jak już wcześniej wspominaliśmy, w górnej części powyższego ekranu znajduje się sekcja funkcjonalności sterujących procesem definicji rozpoznawanej figury poprzez określenie struktury sieci samoorganizującej Kohonena, aż po ustalenie parametrów procesu uczenia oraz sterowanie kolejnymi etapami uczenia i testowania i otrzymywanych wyników. Mechanizmy ustalania warunków i parametrów przeprowadzania eksperymentu znajdują się na poniższym rysunku:

gdzie możemy wyróżnić następujące sekcje funkcjonalności:

Ekran prezentujący etap określenia figury geometrycznej do rozpoznawania oraz definicji struktury sieci (została określona jako prostokąt o boku sześciu neuronów oraz postawie piętnastu neuronów) znajduje się na poniższym rysunku:

Ekran po dziewięciu krokach uczenia i testowania jest pokazany na kolejnym rysunku:

Zaimplementowany przez nas moduł prezentujący zasadza się na idei samoorganizującej mapie podobieństwa cech, generowanych w sieci neuronowej Kohonena w trakcie procesu uczenia. [15]



# C_M8

K sieci samoorganizujące, sieć Kohonena

$ Sieć Kohonena


Wyszukiwarka

Podobne podstrony:
Egzamin B1 M8 A (2)
[2011] M8
sr13, sr13-m8, ╔══════════════════════════════════════════════════════════════════════════════╗
M8
Egzamin B1 M8 A (2)
M8
ECCC Sylabus IT M8 C
M8 i M20 MGŁAWICE LAGUNA I TRÓJDZIELNA
GM M8 115, ODPOWIEDZI I PROPOZYCJE OCENIANIA ZADAŃ
key pro m8 supported models for vw
key pro m8 auto key programmer update token instruction
po13-m8, ╔══════════════════════════════════════════════════════════════════════════════╗
c4,m8,m5,m20
M8 Wyznaczanie prędkości dźwięku w powietrzu (2)
Dasy Lab M8 WJ, Akademia Morska -materiały mechaniczne, szkoła, GRZES SZKOLA, szkoła, automaty, ayto
GM M8 115, ARKUSZ DIAGNOSTYCZNY GM M8 115
fta m8 fs imp
ECCC Sylabus IT M8 B