Sieci neuronowe - Klasyfikator Kohonena



    ::Czym sa sieci Kohonena?::

    Sieci Kohonena są jednym z podstawowych typów sieci samoorganizujących się. Właśnie dzięki zdolności samoorganizacji otwierają się zupełnie nowe możliwości - adaptacja do wcześniej nieznanych danych wejściowych, o których bardzo niewiele wiadomo. Wydaje się to naturalnym sposobem uczenia, który jest używany chociażby w naszych mózgach, którym nikt nie definiuje żadnych wzorców, tylko muszą się one krystalizować w trakcie procesu uczenia, połączonego z normalnym funkcjonowaniem. Sieci Kohonena stanowią synonim całej grupy sieci, w których uczenie odbywa się metodą samoorganizującą typu konkurencyjnego. Polega ona na podawaniu na wejścia sieci sygnałów, a następnie wybraniu w drodze konkurencji zwycięskiego neuronu, który najlepiej odpowiada wektorowi wejściowemu. Dokładny schemat konkurencji i późniejszej modyfikacji wag synaptycznych może mieć różną postać. Wyróżnia się wiele podtypów sieci opartych na konkurencji, które różnią się dokładnym algorytmem samoorganizacji.



    ::Architektura sieci saorganizujšcej się::

    Bardzo istotną kwestią jest struktura sieci neuronowej. Pojedynczy neuron jest mechanizmem bardzo prostym i przez to niewiele potrafiącym. Dopiero połączenie wielu neuronów ze sobą umożliwia prowadzenie dowolnie skomplikowanych operacji. Ze względu na raczej niewielką wiedzę o faktycznych zasadach funkcjonowania ludzkiego mózgu, powstało wiele różnych architektur, które starają się naśladować budowę i zachowanie poszczególnych fragmentów układu nerwowego. Najczęściej stosuje się w tego typu sieciach architekturę jednokierunkową jednowarstwową. Jest to podyktowane faktem, że wszystkie neurony muszą uczestniczyć w konkurencji na równych prawach. Dlatego każdy z nich musi mieć tyle wejść ile jest wejść całego systemu.

siec

Schemat sieci jednowarstwowej jednokierunkowej



mapa

Dwuwymiarowa mapa neuronów

    ::Etapy działania::

    Funkcjonowanie samoorganizujących się sieci neuronowych odbywa się w trzech etapach:

  • konstrukcja
  • uczenie
  • rozpoznawanie

     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.


    ::Algorytm uczenia::

    Algorytmem, od którego nazwę wzięła cała klasa sieci są samoorganizujące się mapy Kohonena. Zostały one opisane przez ich twórcę w publikacji "The Self Organising Map". Kohonen zaproponował dwa rodzaje sąsiedztwa: prostokątne i gaussowskie. Pierwsze ma postać:



a drugie:



"lambda" jest promieniem sąsiedztwa, malejącym w czasie.

     Zastosowanie metody Kohonena daje znacznie lepsze rezultaty niż WTA (Winner Takes All) Po pierwsze uporządkowanie sieci jest lepsze (tzn. organizacja neuronów lepiej odwzorowuje rozkład danych wejściowych), a po drugie zbieżność algorytmu (rozumiana jako liczba iteracji potrzebnych do osiągnięcia pożądanego stopnia organizacji sieci) jest wyższa. Ceną tego jest wielokrotnie dłuższy czas wykonywania pojedynczej iteracji - trzeba zmodyfikować wagi wielu neuronów z całego sąsiedztwa, a nie tylko zwycięzcy.


    ::Podsumowanie::

    Powyższe informacje stanowią teorię działania klasyfikatora Kohonena. W celu poszerzenia swojej wiedzy na temat sieci Kohonena, a także innych rodzajów klasyfikatorów, kieruję szanownego czytelnika do pozycji znajdujących się w bibliografii.

     Poniżej...


>>> Zobacz mapy <<<



Góra strony



Literatura
prof. A. Kos, wykład z przedmiotu "Przemysłowe zastosowania sztucznej inteligencji"
prof. R. Tadusiewicz, "Sieci neuronowe", Akademicka Oficyna Wydawnicza RM 1993


Maciej 'CORNEL' Kornecki
mgr inż. Adam Gołda
Katedra Elektroniki AGH