Konkurencyjne uczenie się - Competitive learning

Konkurencyjne uczenie się jest formą uczenia się nienadzorowanego w sztucznych sieciach neuronowych , w którym węzły konkurują o prawo do odpowiedzi na podzbiór danych wejściowych. Odmiana uczenia się w języku Hebbian , oparta na współzawodnictwie, 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ę wektorów i samoorganizujące się mapy (mapy Kohonena).

Zasady

Reguła konkurencyjnego uczenia się składa się z trzech podstawowych elementów:

  • Zestaw neuronów, które są takie same, z wyjątkiem niektórych losowo rozmieszczonych wag synaptycznych, a zatem 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 danym momencie. Neuron, który wygrywa w konkursie, nazywany jest neuronem „zwycięzca bierze wszystko” .

W związku z tym poszczególne neurony sieci uczą się specjalizować w zespołach o podobnych wzorcach, stając się tym samym „detektorami cech” dla różnych klas wzorców wejściowych.

Fakt, że konkurencyjne sieci rekodują zbiory skorelowanych danych wejściowych do jednego z kilku neuronów wyjściowych, zasadniczo usuwa nadmiarowość reprezentacji, która jest istotną częścią przetwarzania w biologicznych systemach sensorycznych .

Architektura i realizacja

Konkurencyjna architektura sieci neuronowych

Uczenie się oparte na współzawodnictwie jest zwykle wdrażane w sieciach neuronowych, które zawierają ukrytą warstwę, która jest powszechnie znana jako „warstwa konkurencyjna”. Każdy neuron konkurencyjny jest opisany wektorem wag i oblicza miarę podobieństwa między danymi wejściowymi a wektorem wag .

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. Neuron zwycięzca m ustawia swoje wyjście, a wszystkie inne konkurencyjne neurony ustawiają wyjście .

Zwykle do pomiaru podobieństwa używa się odwrotności odległości euklidesowej: między wektorem wejściowym a wektorem wagi .

Przykładowy algorytm

Oto prosty algorytm uczenia się opartego na rywalizacji, umożliwiający znalezienie trzech klastrów w niektórych danych wejściowych.

1. (Konfiguracja.) Pozwól, aby zestaw czujników był podawany do trzech różnych węzłów, tak aby każdy węzeł był podłączony do każdego czujnika. Niech wagi, które każdy węzeł przypisuje swoim czujnikom, będą ustawione losowo w zakresie od 0,0 do 1,0. Niech wyjście każdego węzła będzie sumą wszystkich jego czujników, przy czym siła sygnału każdego czujnika jest pomnożona przez jego wagę.

2. Gdy sieć ma dane wejściowe, węzeł z największą wydajnością jest uznawany za zwycięzcę. Dane wejściowe są klasyfikowane jako znajdujące się w klastrze odpowiadającym temu węzłowi.

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

W związku z tym, gdy odbieranych jest więcej danych, każdy węzeł zbiega się w centrum klastra, który reprezentuje, i aktywuje się silniej dla danych wejściowych w tym klastrze i słabiej dla danych wejściowych w innych klastrach.

Zobacz też

Bibliografia

Dalsze informacje i oprogramowanie