Konkurencyjne uczenie się

Uczenie konkurencyjne to forma uczenia bez nadzoru w sztucznych sieciach neuronowych , w której węzły rywalizują o prawo do odpowiedzi na podzbiór danych wejściowych. Wariant uczenia się Hebbian , konkurencyjne uczenie się, polega na zwiększeniu specjalizacji każdego węzła w sieci. Dobrze nadaje się do znajdowania klastrów w danych.

Modele i algorytmy oparte na zasadzie konkurencyjnego uczenia się obejmują kwantyzację wektorową i samoorganizujące się mapy (mapy Kohonena).

Zasady

Istnieją trzy podstawowe elementy reguły konkurencyjnego uczenia się:

  • Zestaw neuronów, z których wszystkie są takie same, z wyjątkiem niektórych losowo rozmieszczonych wag synaptycznych, i które w związku z tym reagują inaczej na dany zestaw wzorców wejściowych
  • Limit nałożony na „siłę” każdego neuronu
  • Mechanizm, który pozwala neuronom konkurować o prawo do odpowiedzi na dany podzbiór danych wejściowych, tak że tylko jeden neuron wyjściowy (lub tylko jeden neuron na grupę) jest aktywny (tj. „włączony”) w danej chwili. Neuron, który wygrywa konkurencję, nazywany jest neuronem „zwycięzca bierze wszystko” .

W związku z tym poszczególne neurony sieci uczą się specjalizować w zespołach podobnych wzorców iw ten sposób stają się „wykrywaczami cech” dla różnych klas wzorców wejściowych.

Fakt, że konkurencyjne sieci przekodowują zestawy skorelowanych danych wejściowych do jednego z kilku neuronów wyjściowych zasadniczo usuwa redundancję reprezentacji, która jest zasadniczą częścią przetwarzania w biologicznych systemach sensorycznych .

Architektura i implementacja

Konkurencyjna architektura sieci neuronowej

Uczenie się oparte na rywalizacji jest zwykle realizowane za pomocą sieci neuronowych, które zawierają ukrytą warstwę, powszechnie znaną jako „warstwa współzawodnictwa”. jest opisany wektorem i oblicza miarę podobieństwa między danymi wejściowymi wektor wagi .

Dla każdego wektora wejściowego konkurencyjne neurony „konkurują” ze sobą, aby zobaczyć, który z nich jest najbardziej podobny do tego konkretnego wektora wejściowego. Zwycięski neuron m ustawia swoje wyjście, neurony ustawiają swoje .

Zwykle w celu zmierzenia podobieństwa stosuje się odwrotność odległości euklidesowej: między wektorem wejściowym wektorem wagi .

Przykładowy algorytm

Oto prosty algorytm uczenia się opartego na rywalizacji w celu znalezienia trzech klastrów w ramach niektórych danych wejściowych.

1. (Ustawienie.) Niech zestaw czujników zasila trzy różne węzły, tak aby każdy węzeł był podłączony do każdego czujnika. Niech wagi, które każdy węzeł nadaje swoim czujnikom, będą ustawione losowo między 0,0 a 1,0. Niech sygnał wyjściowy każdego węzła będzie sumą wszystkich jego czujników, przy czym siła sygnału każdego czujnika zostanie pomnożona przez jego wagę.

2. Kiedy sieć jest wyświetlana jako wejście, węzeł z największą wydajnością jest uważany za zwycięzcę. Dane wejściowe są klasyfikowane jako należące do klastra odpowiadającego temu węzłowi.

3. Zwycięzca aktualizuje każdą ze swoich wag, przesuwając wagę z połączeń, które dawały mu słabsze sygnały, do połączeń, które dawały mu silniejsze sygnały.

Tak więc, gdy odbieranych jest więcej danych, każdy węzeł zbiega się w środku klastra, który zaczął reprezentować, i aktywuje się silniej dla danych wejściowych w tym klastrze i słabiej dla danych wejściowych w innych klastrach.

Zobacz też

Dalsze informacje i oprogramowanie