Gaz neuronowy - Neural gas

Gaz neuronowy to sztuczna sieć neuronowa , zainspirowana samoorganizującą się mapą i wprowadzona w 1991 roku przez Thomasa Martinetza i Klausa Schultena . Gaz neuronowy to prosty algorytm do znajdowania optymalnych reprezentacji danych na podstawie wektorów cech . Algorytm został nazwany „gazem neuronowym” ze względu na dynamikę wektorów cech podczas procesu adaptacji, które rozprowadzają się jak gaz w przestrzeni danych. Znajduje zastosowanie tam, gdzie problemem jest kompresja danych lub kwantyzacja wektorowa , na przykład rozpoznawanie mowy , przetwarzanie obrazu lub rozpoznawanie wzorców . Jako silnie zbieżna alternatywa dla grupowania k-średnich jest również wykorzystywana do analizy skupień .

Algorytm

Podano rozkład prawdopodobieństwa wektorów danych i skończoną liczbę wektorów cech .

Z każdym krokiem czasowym prezentowany jest losowo wybrany wektor danych . Następnie określana jest kolejność odległości wektorów cech do danego wektora danych . Pozwolić oznacza indeks najbliższego wektora cech, indeks sekund najbliższego wektora cech oraz indeks wektora cech najbardziej odległego celu . Następnie każdy wektor cech jest dostosowywany zgodnie z

z wielkością stopnia adaptacji i tak zwanym zasięgiem sąsiedztwa. i zmniejszają się wraz ze wzrostem . Po wystarczająco wielu krokach adaptacji wektory cech pokrywają przestrzeń danych z minimalnym błędem reprezentacji.

Etap adaptacji gazu neuronowej może być interpretowane jako gradientu schodzenia na funkcji kosztu . Dostosowując nie tylko najbliższy wektor cech, ale wszystkie z nich, przy czym wielkość kroku maleje wraz ze wzrostem kolejności odległości, w porównaniu do (online) k-średnich grupowania, można osiągnąć znacznie bardziej solidną zbieżność algorytmu. Model gazu neuronowego nie usuwa węzła, a także nie tworzy nowych węzłów.

Warianty

W literaturze istnieje szereg wariantów algorytmu gazu neuronowego, które łagodzą niektóre z jego niedociągnięć. Bardziej godny uwagi jest być może rosnący gaz neuronowy Bernda Fritzke, ale należy również wspomnieć o dalszych opracowaniach, takich jak sieć „Growing When Need”, a także o stopniowo rosnącym gazie neuronowym. Podejściem zorientowanym na wydajność, które pozwala uniknąć ryzyka nadmiernego dopasowania, jest model gazu neuronowego z tworzywa sztucznego.

Rosnący gaz neuronowy

Fritzke opisuje rosnący gaz neuronowy (GNG) jako przyrostowy model sieci, który uczy się relacji topologicznych za pomocą „ zasady uczenia podobnej do Hebba ”, tylko w przeciwieństwie do gazu neuronowego, nie ma parametrów zmieniających się w czasie i jest zdolny do ciągłego uczenie, czyli uczenie się na strumieniach danych. GNG jest szeroko stosowany w kilku dziedzinach, demonstrując swoje możliwości stopniowego grupowania danych. GNG jest inicjowany dwoma losowo rozmieszczonymi węzłami, które są początkowo połączone krawędzią zerowego wieku i których błędy są ustawione na 0. Ponieważ dane wejściowe w GNG są prezentowane sekwencyjnie jeden po drugim, w każdej iteracji wykonywane są następujące kroki:

  • Oblicza się błędy (odległości) pomiędzy dwoma najbliższymi węzłami do aktualnych danych wejściowych.
  • Błąd zwycięskiego węzła (tylko najbliższego) jest odpowiednio kumulowany.
  • Zwycięski węzeł i jego topologiczni sąsiedzi (połączeni krawędzią) poruszają się w kierunku bieżącego wejścia przez różne ułamki ich odpowiednich błędów.
  • Zwiększa się wiek wszystkich krawędzi połączonych z zwycięskim węzłem.
  • Jeśli zwycięski węzeł i drugi zwycięzca są połączone krawędzią, to taka krawędź jest ustawiona na 0. W przeciwnym razie między nimi powstaje krawędź.
  • Jeśli istnieją krawędzie o wieku większym niż próg, są one usuwane. Węzły bez połączeń są eliminowane.
  • Jeżeli bieżąca iteracja jest całkowitą wielokrotnością z góry określonego progu tworzenia częstotliwości, nowy węzeł jest wstawiany między węzłem z największym błędem (spośród wszystkich) a jego topologicznym sąsiadem wykazującym największy błąd. Powiązanie między pierwszym a drugim węzłem jest eliminowane (ich błędy są zmniejszane o zadany współczynnik), a nowy węzeł jest połączony z obydwoma. Błąd nowego węzła jest inicjowany jako zaktualizowany błąd węzła, który miał największy błąd (spośród wszystkich).
  • Skumulowany błąd wszystkich węzłów jest zmniejszony o dany współczynnik.
  • Jeśli kryterium zatrzymania nie jest spełnione, algorytm pobiera następujące dane wejściowe. Kryterium może być określona liczba epok, tj. z góry ustalona liczba prezentacji wszystkich danych lub zasięg maksymalnej liczby węzłów.

Przyrostowy rosnący gaz neuronowy

Innym wariantem gazu neuronowego zainspirowanym algorytmem GNG jest przyrostowo rosnący gaz neuronowy (IGNG). Autorzy proponują, że główną zaletą tego algorytmu jest „uczenie się nowych danych (plastyczność) bez degradacji uprzednio wytrenowanej sieci i zapominania starych danych wejściowych (stabilności)”.

Rośnie w razie potrzeby

Posiadanie sieci z rosnącym zbiorem węzłów, takiej jak ta zaimplementowana przez algorytm GNG, było postrzegane jako duża zaleta, jednak pewne ograniczenie w uczeniu się dostrzeżono poprzez wprowadzenie parametru λ, w którym sieć byłaby w stanie jedynie rosną, gdy iteracje były wielokrotnością tego parametru. Propozycją złagodzenia tego problemu był nowy algorytm, sieć rosnąca, gdy jest to wymagane (GWR), który miałby sieci rozwijać się szybciej, dodając węzły tak szybko, jak to możliwe, gdy sieć stwierdzi, że istniejące węzły nie opisują dobrze danych wejściowych wystarczająco.

Plastikowy gaz nerwowy

Możliwość rozbudowy tylko sieci może szybko wprowadzić overfitting; z drugiej strony, usuwanie węzłów tylko na podstawie wieku, tak jak w modelu GNG, nie gwarantuje, że usunięte węzły są faktycznie bezużyteczne, ponieważ usuwanie zależy od parametru modelu, który należy dokładnie dostroić do „długości pamięci” strumień danych wejściowych.

Model „Plastic Neural Gas” rozwiązuje ten problem, podejmując decyzje o dodaniu lub usunięciu węzłów za pomocą nienadzorowanej wersji walidacji krzyżowej, która kontroluje równoważne pojęcie „zdolności uogólniania” dla nienadzorowanego ustawienia.

Realizacje

Aby znaleźć ranking wektorów cech, algorytm gazu neuronowego obejmuje sortowanie, które jest procedurą, która nie daje się łatwo zrównoleglać lub implementować w sprzęcie analogowym. Jednak w rzeczywistości zaprojektowano implementacje zarówno w oprogramowaniu równoległym, jak i sprzęcie analogowym.

Bibliografia

Dalsza lektura

  • T. Martinetz, S. Berkovich i K. Schulten. Sieć "gazu neuronowego" do kwantyzacji wektorowej i jej zastosowanie do przewidywania szeregów czasowych. Transakcje IEEE w sieciach neuronowych, 4(4):558-569, 1993.
  • Martinetz, T.; Schulten, K. (1994). „Topologia reprezentująca sieci”. Sieci neuronowe . 7 (3): 507–522. doi : 10.1016/0893-6080(94)90109-0 .

Zewnętrzne linki