cw3 teoria old, uczenie maszynowe, sieci neuronowe


Uczenia bez nadzoru (bez nauczyciela).

Jedną z najważniejszych cech sieci neuronowych jest ich zdolność uczenia się, czyli zdolność do samodzielnego dostosowywania współczynników wagowych. Dzięki temu SSN potrafią samodzielnie przystosowywać się do zmieniających się warunków.

Podczas uczenia bez nadzoru (uczenia bez nauczyciela) brak jest informacji opisujących wyjścia sieci, czyli brak jest wzorców wyjścia. Jednostki i połączenia muszą zatem okazywać pewien poziom samoorganizacji - sieć sama ustala wartości korekcji wag wykorzystując pewne korelacje pomiędzy sygnałami wejściowymi. Uczenie bez nadzoru (bez nauczyciela) możliwe jest tylko wtedy, gdy istnieje powtarzalność wśród danych wejściowych w innym przypadku informacje wejściowe nie były by do odróżnienia od przypadkowego szumu w danych.

W procesie uczenia BEZ NAUCZYCIELA wagi każdego z neuronów zmieniają się zgodnie z poniższą zasadą:

Oznacza to, że jeśli jakiś neuron ma "wrodzone skłonności" do pewnego obiektu wejściowego, to kiedy podamy ów obiekt na wejście sieci, te skłonności zostaną rozwinięte. Jeżeli zaś neuronowi jakiś obiekt wyjątkowo się "nie spodoba", to po kilkukrotnym pokazaniu neuron zdecydowanie będzie odrzucał obiekt. Po dłuższym okresie uczenia się poszczególne neurony sieci potrafią rozpoznawać różne obiekty, choć projektant sieci mógł nic o tych obiektach nie wiedzieć, a nawet nie wiedzieć, ile ich będzie.

Budowa sieci samoorganizujących się.

System, który miałby realizować funkcjonowanie sieci samoorganizującej powinien składać się z kilku podstawowych elementów. Pierwszym z nich jest macierz neuronów pobudzanych przez sygnały wejściowe. Sygnały te powinny opisywać pewne charakterystyczne cechy zjawisk zachodzących w otoczeniu, tak aby na ich podstawie sieć była w stanie je pogrupować. Informacja o zdarzeniach jest przekładana na bodźce pobudzające neurony. Zbiór sygnałów przekazywanych do każdego neuronu nie musi być identyczny, nawet ich ilość może być różna. Muszą one jednak spełniać pewien warunek, a mianowicie jednoznacznie określać dane zdarzenia.

Kolejną częścią składową sieci jest mechanizm, który dla każdego neuronu określa stopień podobieństwa jego wag do danego sygnału wejściowego oraz wyznacza jednostkę z największym dopasowaniem - zwycięzcę. Obliczenia zaczynamy dla wag równych małym liczbom losowym, przy czym ważne jest, aby nie zachodziła żadna symetria. W trakcie uczenia wagi te są modyfikowane w taki sposób, aby najlepiej odzwierciedlać wewnętrzną strukturę danych wejściowych. Istnieje jednak niebezpieczeństwo, że zwiążą się one z pewnymi wartościami zanim jeszcze grupy zostaną prawidłowo rozpoznane i wtedy trzeba ponawiać uczenie z innymi wagami.

Wreszcie konieczne do przeprowadzenia samoorganizacji jest, aby sieć była wyposażona w zdolność do adaptacji wartości wag neuronu zwycięzcy i jego sąsiadów w zależności od siły, z jaką odpowiedział on na dane wejście. Topologię sieci można w łatwy sposób określić poprzez zdefiniowanie sąsiadów dla każdego neuronu. Załóżmy, że jednostkę, której odpowiedź na dane pobudzenie jest maksymalna, będziemy nazywali "obrazem" tego pobudzenia. Wtedy możemy przyjąć, że sieć jest uporządkowana, jeśli topologiczne relacje między sygnałami wejściowymi i ich obrazami są takie same.

Adaptacja wag neuronów

0x08 graphic
W trakcie uczenia sieci samoorganizujących się na wejście każdego neuronu podawany jest N-wymiarowy sygnał x ze zbioru wzorców uczących (losowo lub w ustalonej kolejności). Wagi połączeń synaptycznych tworzą wektor Wi=[wi1, wi2, ..., wiN]. We współzawodnictwie zwycięża jeden neuron, którego wagi najmniej różnią się od odpowiednich składowych wektora x. Zatem zwycięzca (neuron) spełnia relację:

0x08 graphic
gdzie d(x,W) oznacza odległość w sensie wybranej metryki między wektorem x a wektorem W, zaś n - liczbę neuronów. Następnie wagi neuronu zwycięzcy podlegają adaptacji, która ma na celu zbliżenie go do typowego reprezentanta grupy w. Istnieją dwie znane metody aktualizacji wektorów wag neuronów. Pierwsza z nich, nazywana metodą addytywną, polega na dodawaniu części wektora wejściowego do wektora wag, po czym sumę renormalizuje się do jednostkowej długości, czyli:

gdzie a jest stałą uczenia, wybieraną na ogół pomiędzy 0,1 i 0,7. Dzięki temu lekko "popychamy" wektor wag w kierunku wektora danych.

0x08 graphic
Algorytm ten wykazuje niekiedy rosnącą niestabilność, dlatego często stosuje się obecnie metodę subtraktywną. Opiera się ona na spostrzeżeniu, że pewnym sposobem lekkiego ”przyciągania” wektora wag w kierunku wektora wejściowego jest odjąć je, a następnie część tej różnicy dodać do wektora wag, czyli

Po zakończeniu samoorganizacji wektory wag poszczególnych neuronów wskazują środki ciężkości wykrytych grup sygnałów ze zbioru uczącego.

Nie ma znaczenia, jak jest zrealizowana zasada "zwycięzca bierze wszystko" w warstwie wyjściowej. Podczas symulacji komputerowej można po prostu poszukiwać minimum funkcji odległości. W rzeczywistej sieci można zrealizować zbiór jednostek typu Winner Takes All (WTA) za pomocą hamowania obocznego - każda jednostka hamuje inne. Wymagane jest wtedy również połączenie samopobudzające, a wagi boczne i funkcja aktywacji neuronu muszą być dobrane w taki sposób, aby zapewnić, że tylko jedno wyjście jest wybrane i nie występują oscylacje.

Algorytmy "zwycięzca bierze wszystko" (WTA), w których tylko jeden neuron może podlegać adaptacji w każdej iteracji, są algorytmami słabo zbieżnymi - szczególnie przy dużej liczbie neuronów. W praktyce zostały one zastąpione algorytmami "zwycięzca bierze większość" (WTM), w których wokół neuronu zwycięzcy definiuje się topologiczne sąsiedztwo Si, o określonym promieniu (często malejącym w czasie). Adaptacji podlegają wtedy wagi neuronu zwycięzcy i wszystkich należących do jego sąsiedztwa. W klasycznym algorytmie Kohonena sąsiedztwo to nosiło miano sąsiedztwa prostokątnego - wagi neuronów do niego należących były poprawiane jednakowo, bez względu na odległość topologiczną od neuronu zwycięzcy.

Neuron zwycięzca i neurony sąsiadujące podlegają adaptacji według reguły Kohonena:

0x08 graphic
ηi(n) jest współczynnikiem i-tego neuronu z sąsiedztwa Sw(n) w k-tej chwili. Wartość (n) maleje wraz z odległością od zwycięzcy. Wagi neuronów spoza sąsiedztwa nie podlegają zmianom.

Podstawowy algorytm uczenia Kohonena ma postać:

0x08 graphic
we wzorze tym oddzielono współczynnik uczenia η każdego neuronu od jego odległości względem wektora x, uwzględnionej przez funkcję sąsiedztwa G(i,x).

0x08 graphic
W mapach odwzorowań topologicznych Kohonena na początku określany jest zwycięzca stosując euklidesową miarę odległości, a następnie wartość współczynnika adaptacji neuronów należących do sąsiedztwa zwycięzcy. W klasycznym algorytmie Kohonena funkcja G(i,x) jest definiowana następująco.

d(i,w) oznacza odległość euklidesową między neuronem zwycięzkim w i i-tym neuronem. Współczynnik jest promieniem sąsiedztwa o wartościach malejących z czasem. Ten typ to sąsiedztwo prostokątne.

Drugim typem sąsiedztwa, z jakim można się spotkać w mapach Kohonena jest sąsiedztwo gaussowskie, gdzie:

0x08 graphic

O stopniu adaptacji neuronów z sąsiedztwa zwycięzcy decyduje odległość euklidesowa oraz promień sąsiedztwa. Przy sąsiedztwie gausowskim stopień adaptacji jest zróżnicowany w przeciwieństwie do sąsiedztwa prostokątnego, gdzie każdy neuron podlega adaptacji w tym samym stopniu i zależy od funkcji Gaussa. Sąsiedztwo gausowskie jest lepsze i prowadzi do lepszych rezultatów uczenia i lepszej organizacji sieci.

0x08 graphic
gdzie λ oznacza promień sąsiedztwa. O stopniu adaptacji neuronów z sąsiedztwa zwycięzcy decyduje tutaj nie tylko odległość neuronu i-tego od zwycięzcy, ale również promień sąsiedztwa. Tak więc stopień adaptacji jest zróżnicowany, a funkcja sąsiedztwa przyjmuje kształt "kapelusza meksykańskiego". Przyjęcie takiego sąsiedztwa prowadzi do znacząco lepszych rezultatów uczenia i lepszej organizacji sieci.

Przy konstrukcji skutecznego algorytmu uczenia sieci Kohonena istotny jest dobór wielkości promienia sąsiedztwa oraz stałej uczenia a. Na początku procesu uczenia przyjmuje się λ= λmax i α=αmax. Promień sąsiedztwa maleje w trakcie uczenia sieci, zwykle liniowo, aż do osiągnięcia wartości λ=2 (tylko najbliżsi sąsiedzi). Pozostała część uczenia (zwykle 3 wszystkich cykli uczących) odbywa się przy założeniu niezmiennego, minimalnego sąsiedztwa. Oznacza to, że tylko neuron zwycięzca oraz neurony sąsiadujące z nim uaktualniają wówczas swoje wagi w takim kierunku, że podążają one za wektorem wejściowym.

Topologie i sąsiedztwo

Każdy neuron jest powiązany z pozostałymi neuronami pewną relacją sąsiedztwa, która określa strukturę sieci. Przykładowe topologie sieci to siatka prostokątna, siatka heksagonalna, łańcuch otwarty i łańcuch zamknięty. Są one przedstawione poniżej:

0x08 graphic
Topologie sieci: siatka prostokątna, siatka heksagonalna, łańcuch otwarty i łańcuch

zamknięty. Linie łączące neurony określają relacje topologiczne.

Odległości pomiędzy neuronami można wyznaczyć zarówno w odniesieniu do metryki zdefiniowanej w przestrzeni sygnałów wejściowych, jak również odpowiednio w odniesieniu topologii samej sieci. To drugie podejście pozwala określać sąsiedztwo danego neuronu w postaci zbioru neuronów powiązanych między sobą odpowiednimi relacjami topologicznymi. Na rysunku poniżej pokazano sąsiedztwo różnych rozmiarów w przypadku sieci heksagonalnej.

0x08 graphic
Sąsiedztwa pierwszego i drugiego rzędu w sieci z topologią heksagonalną.

W mniejszym sześciokącie znalazły się neurony będące bezpośrednimi sąsiadami wybranego neuronu (zaznaczonego na czarno), natomiast w większym sześciokącie zawarte są wszystkie neurony należące do sąsiedztwa drugiego rzędu. Analogicznie określa się sąsiedztwa w innych topologiach sieci.

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.

Efekty uczenia sieci samoorganizujących

Po zakończeniu procesu uczenia, a przed przystąpieniem do pracy należy pamiętać o tym, aby sieć skalibrować. Dokonuje tego nauczyciel, podając n typowych sygnałów wejściowych - po jednym dla każdej z klas - i numerując neurony reprezentujące te klasy. Jest to zabieg konieczny, gdyż przyporządkowanie neuron-klasa może być całkowicie różne w zależności od przebiegu uczenia, tzn. od warunków początkowych, kolejności podawanych wzorców uczących oraz doboru stałej uczenia.

Przy równomiernym rozkładzie próbek uczących (np. na płaszczyźnie) i jednakowo częstym ich prezentowaniu, neurony-zwycięzcy również rozmieszczeni są równomiernie. Jeśli pewne próbki są uprzywilejowane (prezentowane częściej na wejściu), wówczas zwycięzcy lokowani są nierównomiernie, gęściej w okolicy odpowiadającej próbkom prezentowanym częściej. W ten sposób sieć Kohonena może odzwierciedlać nie tylko rozkład przestrzenny próbek wejściowych, ale również częstotliwość ich prezentowania w procesie uczenia.

W wyniku zastosowanego trybu uczenia poszczególne neurony sieci otrzymują wagi, które mogą być zinterpretowane w przestrzeni, w identyczny sposób jak współrzędne wektorów wejściowych. Rozmieszczenie ich w przestrzeni tworzy węzły, które połączone z najbliższymi sąsiadami (w sensie sąsiedztwa topologicznego) reprezentują kształt odtwarzający rozkład danych wejściowych. Jest to rozkład odpowiadający gęstości pojawiania się danych wejściowych w danym rejonie a nie współrzędnych odpowiednich wektorów, gdyż liczba prezentowanych wektorów wejściowych jest zwykle o kilka rzędów wyższa niż liczba neuronów w sieci.

Liczba neuronów w sieci jest w praktyce zwykle większa od liczby klas sygnałów wejściowych. Może być więc kilka neuronów konkurujących o reprezentację danej klasy. Odpadając z konkurencji próbują one przełączać się na inna klasę, co objawia się chaotycznymi zmianami wartości ich wag.

Sieci SOM

Sieci samoorganizujące SOM (Self-Organizing Maps) są specjalnym typem sieci, w których uczenie odbywa się bez nadzoru (bez nauczyciela). Oznacza to, że użytkownik ma do dyspozycji jedynie wzorce wejściowe, nie posiada natomiast żadnych wzorców wyjściowych. Tak więc zadaniem sieci w trakcie procesu uczenia jest właśnie wytworzenie takich wzorców. Pojęcie samoorganizacji w odniesieniu do sztucznych sieci neuronowych rozwinął i sformalizował Kohonen.

W sieci Kohonena mamy do czynienia z tak zwanym uczeniem konkurencyjnym (ang. competitve learning). W przeciwieństwie do typowych sieci, w których modyfikacji podlegają wszystkie neurony (wagi tych neuronów), w sieciach z uczeniem konkurencyjnym po prezentacji wzorca wejściowego następuje określenie neuronu wygrywającego (ang. winner) i tylko ten neuron, ewentualnie grupa sąsiadujących z nim neuronów, aktualizuje swoje wagi..

Ogólna idea wyboru neuronu wygrywającego (czyli tego neuronu dla którego będą modyfikowane wagi) polega na znalezieniu takiego neuronu, którego wektor wag jest najbardziej podobny, najbliższy w sensie pewnej miary podobieństwa do prezentowanego wzorca wejściowego.

Miary odległości między wektorami

Istotnym problemem w procesie samoorganizacji jest wybór metryki, w jakiej jest mierzona odległość między wejściowym wektorem x a wektorem wag Wi. Najczęściej używane miary to:

0x08 graphic

0x08 graphic

0x08 graphic

Przy użyciu miary euklidesowej przestrzeń danych wejściowych jest dzielona na strefy dominacji danego neuronu. Zastosowanie innej miary przy samo-organizacji kształtuje podział stref wpływów inaczej. Szczególną uwagę należy poświęcić iloczynowi skalarnemu. Zastosowanie tej metryki bez normalizacji wektorów może prowadzić do niespójnego podziału przestrzeni - tak, że w jednym obszarze występuje wtedy kilka neuronów, a w innym nie ma żadnego. Przypadek taki może wystąpić dla dwuwymiarowych danych wejściowych. Zastosowanie normalizacji powoduje wprowadzenie pełnej organizacji przestrzeni, niezależnie od rodzaju zastosowanej miary.

Normalizacja danych wejściowych

Aby otrzymać prawidłowe efekty działania sieci, dane liczbowe należy poddać procesowi normalizacji. Jednym z bardziej skutecznych sposobów normalizacji wektorów jest redefinicjia składowych wektora opisana według wzoru:

0x01 graphic

gdzie:

xi - i-ta składowa wektora wejściowego (podlegająca normalizacji).

4

0x01 graphic

0x01 graphic

0x01 graphic

0x01 graphic

0x01 graphic

0x01 graphic

0x01 graphic

0x01 graphic

0x01 graphic

0x01 graphic

0x01 graphic

0x01 graphic

0x01 graphic

0x01 graphic



Wyszukiwarka

Podobne podstrony:
cw3 old, uczenie maszynowe, sieci neuronowe
cwicz2 old, uczenie maszynowe, sieci neuronowe
cw1 old, uczenie maszynowe, sieci neuronowe
cwicz2 teoria, uczenie maszynowe, sieci neuronowe
cw1 2009, uczenie maszynowe, sieci neuronowe
cwicz2, uczenie maszynowe, sieci neuronowe
Wykłady Sieci Neuronowe(1), uczenie maszynowe, sieci neuronowe
sn, uczenie maszynowe, sieci neuronowe
SIECI NEURONOWE(1), uczenie maszynowe, sieci neuronowe
Krzywański, Węgrzyn Wykorzystanie sztucznych sieci neuronowych dla celow modelowania rzeczywistości
MSI-program-stacjonarne-15h-2011, logistyka, semestr IV, sieci neuronowe w log (metody sztucznej int
Ontogeniczne sieci neuronowe skrypt(1)
04 Wyklad4 predykcja sieci neuronoweid 523 (2)
Ściąga ze sztucznej inteligencji(1), uczenie maszynowe, AI
Pytania egz AGiSN, SiMR - st. mgr, Alg. i Sieci Neuronowe
MSI-ściaga, SiMR - st. mgr, Alg. i Sieci Neuronowe

więcej podobnych podstron