Strona głównaArtykułyUczenie Maszynowe

Gaz Sieciowy: Uczenie Kształtu Danych Bez Siatki

Konkurencyjny uczenie Hebbowskiego, ranking sąsiedztwa oraz dlaczego pozwolenie każdemu węźłowi na małe ruchy jest lepsze niż zezwolenie tylko zwycięzcy.

mysimulator teamZaktualizowano — czerwiec 2026≈ 8 min czytania▶ Otwórz symulację

Kwantyzator konkurował zamiast średnich

Neural gas, wprowadzona przez Thomas Martinetza i Klausa Schultena w 1991 roku, jest algorytmem uczenia się bez nadzoru, który umieszcza zbiór wektorów odniesienia – węzłów – w chmurze danych tak, aby każdy węzeł ostatecznie reprezentował punkty danych najbliższe mu. Celem tego jest to samo, co k-means clustering, ale osiąga się to w inny sposób: zamiast aktualizować tylko jeden najbliższy węzeł na każdym kroku treningowym, neural gas aktualizuje wszystkie z nich, a ilość ruchu skalowana jest przez stopień, w jakim aktualny rang kolejnego węzła zbliża się do zwycięzcy.

Zasada: klasyfikuj, nie tylko wybieraj zwycięzcę

Dla każdego przykładu treningowego x, każdy węzeł jest oceniany (klasyfikowany) na podstawie odległości do x – 0 oznacza najbliższy (zwycięzca), 1 drugiego najbliższego i tak dalej. Następnie każdy węzeł jest przyciągany do x w sposób zależny od eksponencjalnego zaniku, który zależy od jego pozycji w rankingu:

dla każdego wejścia x: oceniaj wszystkie węzły i na podstawie odległości do x → k_i = 0, 1, 2, … (0 = najbliższy) dla każdego węzła i: w_i += ε(t) · exp(-k_i / λ(t)) · (x − w_i) ε(t), λ(t) zanikają wraz z upływem czasu treningowego od dużych (ogólne, globalne ułożenie) do małych (drobne, lokalne dopracowanie) live demo · węzły migrujące w kierunku gęstości ruchomej chmury● LIVE Na początku treningu λ jest duże, więc nawet odległe węzły otrzymują znaczący impuls w kierunku każdego przykładu – to szybko rozprzestrzenia wszystkie węzły na zajętym obszarze przestrzeni wejściowej i zapobiega klasycznemu błędom k-średnich, gdzie węzeł zainicjalizowany z dala od danych nigdy nie jest wybierany i pozostaje "martwy". W miarę jak λ zbliża się do zera, zasada konwerguje do zwykłego uczenia się wygrywa-zwycięzca (winner-take-all), a węzły ustalają się w drobnoziarnistym przybliżeniu gęstości danych: gęste obszary przyciągają wiele węzłów, a rzadkie obszary przyciągają niewiele węzłów.

for each input x:
  rank all nodes i by distance to x   → k_i = 0, 1, 2, … (0 = closest)
  for each node i:
    w_i += ε(t) · exp(-k_i / λ(t)) · (x − w_i)

  ε(t), λ(t)   decay over training time from large (coarse, global
               ordering) to small (fine, local refinement)
demo na żywo · powiązana symulacja● LIVE

Konkurencyjne uczenie Hebbowskie: budowanie grafu za darmo

Podstawowy algorytm umieszcza węzły, ale nie łączy ich. Dodatkowe reguły, konkurencyjnego uczenia Hebbowskiego, dodają krawędź między najbliższymi węzłami dla każdego przykładu w momencie jego przybycia i usuwają krawędzie, które nie zostały zaktualizowane przez jakiś czas. Ponieważ krawędź powstaje tylko między zwycięzcą a drugim miejscem w przypadku danego punktu danych, otrzymany graf jest wyczerpująco bliski aproksymacją do Delaunay triangulation indukowanej przez dane, ograniczona do obszaru, który zajmują dane – sieć zasadniczo odkrywa własną topologię zamiast mieć ją narzuconą.

W porównaniu z algorytmami k-średni i mapami samoorganizującymi

Mapa samoorganizująca (SOM) posiada również regułę aktualizacji opartą na sąsiedztwie, ale jej obszar sąsiedztwa jest zdefiniowany przez stałe pozycje na wyznaczonym 1D lub 2D siatce – dwa węzły są sąsiadami, jeśli znajdują się obok siebie na tej siatce, niezależnie od tego, czy dane rzeczywiście je łączą. Neural Gas zamiast tego definiuje sąsiedztwo wyłącznie poprzez ranking odległości w przestrzeni danych, bez żadnej wyprzedzonej siatki do zniekształcania lub niszczenia. Dzięki temu jest znacznie bardziej tolerancyjny na dane, których wewnętrzna forma nie pasuje do płaskiej siatki – spirale, rozgałęziające się rozmaitości, odłączone klastry – a empiryczne badania od oryginalnego artykułu wciąż pokazują, że Neural Gas osiąga niższą błąd kwantyzacji niż algorytmy k-średni i SOM przy tym samym zestawie danych i liczbie węzłów, kosztem jednego dodatkowego parametru do stopowego.

Wzrastająca sieć gazową: umożliwienie sieci samemu się rozszerzać

Rozszerzenie gazowe Bernd Fritzke'a z 1995 roku rozpoczyna się od dwóch węzłów i okresowo dodaje nowy węzeł obok tego, który zgromadził najwięcej lokalnych błędów, automatycznie dzieląc przeciążone obszary. Połączone z konkurencyjnymi krawędziami Hebbowskiego oraz zasadą starzenia, które usuwają nieaktualne połączenia, może śledzić ruchomą lub zmieniającą się dystrybucję danych na żywo i jest wykorzystywane do online'owego grupowania, generowania siatki zachowującej topologię z chmur punktów 3D oraz budowy map robotów, gdzie liczba potrzebnych grup nie jest znana z góry.

Frequently asked questions

Dlaczego nazywa się to gazem neuronowym?

Thomas Martinetz i Klaus Schulten nadali mu tę nazwę w 1991 roku, ponieważ wektory odniesienia zachowują się podczas uczenia się – jak cząsteczki gazu rozprzestrzeniające się przez objętość przestrzeni wejściowej, przemieszczając się, aby równomiernie ją wypełnić, zamiast opierać się na sztywnym siatce.

Jak gaz neuronowy różni się od k-średnich?

K-średnie aktualizuje jedynie pojedynczy najbliższy centroid w każdym kroku, co sprawia, że jest podatne na utknięcie w złym lokalnym optimum w zależności od inicjalizacji. Gaz neuronowy aktualizuje każdy węzeł w każdym kroku, ważony przez jego rangę sąsiedztwa, więc oddalone węzły otrzymują niewielki pchnięcie – to miękkie rywalizowanie wygładza złe początkowe pozycje i znacznie bardziej niezawodnie konwerguje.

Czy gaz neuronowy potrzebuje zdefiniowanej siatki, jak mapa samoorganizująca się?

Nie. Mapa samoorganizująca się ustala 1D lub 2D siatkę sąsiadów przed treningiem i zachowuje topologię tej siatki. Gaz neuronowy nie ma takiej siatki – podstawowa wersja nie posiada w ogóle jawnego grafu sąsiedztwa, a rozrastalny gaz neuronowy buduje graf połączeń oraz liczbę węzłów podczas uczenia się, adaptując go bezpośrednio do kształtu danych.

Wypróbuj na żywo

Wszystko powyżej działa bezpośrednio w Twojej przeglądarce — otwórz Neural Gas i zmieniaj parametry podczas działania. Nic nie jest instalowane ani przesyłane na serwer, cały model działa w jednej karcie.

▶ Otwórz symulację Neural Gas

Co znalazłeś?

Dodaj kroki odtworzenia (opcjonalnie)