StartseiteKI & Maschinelles LernenNeural Gas

🧠 Neural Gas

Visualisieren Sie unüberwachtes Lernen: Selbstorganisierende Karte (SOM/Kohonen) und Neural Gas passen ihre Knoten an eine Datenverteilung an. Beobachten Sie, wie sich das Gitter faltet und entfaltet, um die Datenmannigfaltigkeit abzudecken.

KI & Maschinelles Lernen3DMittel60 FPS
neural-gas ↗ Eigenständig öffnen

Über diese Simulation

Diese Simulation trainiert zwei klassische unüberwachte Konkurrenzlern-Algorithmen — die selbstorganisierende Karte (SOM) und Neural Gas — live in Ihrem Browser. Ein Gitter oder eine Menge von Knoten wird zu zufällig entnommenen Punkten aus einer gewählten Datenverteilung gezogen und formt sich allmählich um, bis seine Knoten die Mannigfaltigkeit abdecken, auf der die Daten tatsächlich liegen.

🔬 Was es zeigt

Jeder Trainingsschritt zieht einen zufälligen Punkt aus der Datenverteilung und aktualisiert jeden Knoten um einen Betrag, der mit dem Abstand zum „Gewinnerknoten“ abnimmt. Bei SOM wird dieser Abstand entlang der festen 2D-Gittertopologie mit einer Gaußschen Nachbarschaftsfunktion h = e^(−d²/2σ²) gemessen, weshalb die SOM-Leinwand verbundene Gitterlinien zeigt, die sich falten und biegen, um die Daten abzubilden. Bei Neural Gas haben Knoten keine feste Topologie — stattdessen wird jeder Knoten nach Abstand zur Eingabe eingestuft und mit h = e^(−rank/λ) aktualisiert, sodass die Knoten frei driften, um die Verteilung ohne starres Gitter abzudecken.

🎮 Verwendung

Wechseln Sie zwischen den Tabs SOM und Neural Gas, und wählen Sie dann eine Voreinstellung für die Datenverteilung — Gleichmäßiges Quadrat, Ring, Zwei Gaußverteilungen oder Halbmond — um zu sehen, wie unterschiedlich sich jeder Algorithmus anpasst. Passen Sie die Lernrate η und die Nachbarschaft σ (beide klingen automatisch mit fortschreitendem Training ab) oder λ für Neural Gas an, ändern Sie die Gittergröße für mehr oder weniger Knoten, und drücken Sie Start, um bis zu 200 Epochen zu animieren, während die Live-Anzeige des Quantisierungsfehlers verfolgt, wie gut die Knoten zu den Daten passen.

💡 Wussten Sie schon?

Die selbstorganisierende Karte wurde 1982 vom finnischen Forscher Teuvo Kohonen als Modell dafür erfunden, wie sich der sensorische Kortex des Gehirns topografisch selbst organisiert, und sie wird noch heute häufig zur Visualisierung hochdimensionaler Daten in 2D verwendet. Neural Gas, ein Jahrzehnt später von Martinetz und Schulten eingeführt, verzichtet vollständig auf das feste Gitter und konvergiert oft zu einem niedrigeren Quantisierungsfehler, gerade weil seine Knoten frei sind, ihre eigene effektive Topologie neu zu organisieren, um zu den Daten zu passen.

Häufig gestellte Fragen

Was ist der Unterschied zwischen einer selbstorganisierenden Karte und Neural Gas?

Eine selbstorganisierende Karte ordnet ihre Knoten auf einem festen Gitter an (hier ein quadratisches Gitter bis zu 16×16) und aktualisiert Nachbarn basierend auf ihrem Gitterabstand zum Gewinnerknoten, wodurch die Karte gezwungen wird, die 2D-Gittertopologie beizubehalten, während sie sich an die Daten anpasst. Neural Gas hat überhaupt kein Gitter: Jeder Knoten wird einfach nach seinem Abstand zum aktuellen Eingabepunkt eingestuft, und die Aktualisierungsstärke nimmt mit dem Rang statt mit der räumlichen Position ab, sodass sich die Knoten in die Anordnung einpendeln können, die die Daten am besten repräsentiert.

Wie aktualisiert die SOM-Lernregel tatsächlich die Knoten?

Für jeden abgetasteten Datenpunkt findet die Simulation zunächst die „am besten passende Einheit“ (BMU) — den diesem Punkt am nächsten liegenden Gitterknoten — und aktualisiert dann jeden Knoten i durch Δwᵢ = η·h(d)·(x−wᵢ), wobei h(d) = e^(−d²/2σ²) und d der Gitterabstand von Knoten i zum BMU ist. Knoten in der Nähe des BMU bewegen sich fast so stark wie der BMU selbst, während entfernte Knoten sich kaum bewegen, was es dem gesamten Gitter ermöglicht, sich sanft zu falten, um die Datenmannigfaltigkeit nachzuzeichnen.

Warum schrumpfen Lernrate und Nachbarschaftsradius im Laufe der Zeit?

Sowohl η als auch σ (oder λ für Neural Gas) werden mit einem exponentiellen Abklingfaktor e^(−t·k) multipliziert, während die Trainingsepochen sich der Obergrenze von 200 Epochen nähern, sodass frühe Aktualisierungen groß sind und eine breite Nachbarschaft betreffen (grobe, globale Organisation), während spätere Aktualisierungen klein und lokal sind (Feinabstimmung). Ohne diesen Abkühlungsplan würde sich die Karte entweder nie stabilisieren oder sich aus ihrem zufälligen Anfangszustand nicht korrekt entfalten.

Was misst der Quantisierungsfehler und warum ist er wichtig?

Der Quantisierungsfehler ist der durchschnittliche Abstand einer Stichprobe von Datenpunkten zu ihrem nächstgelegenen Knoten, hier berechnet über 100 Punkte alle 5 Epochen; ein niedrigerer Wert bedeutet, dass die Knoten näher an den tatsächlichen Datenpunkten liegen, sodass die Karte die Verteilung genauer repräsentiert. Die Beobachtung, wie diese Zahl während des Trainings sinkt, ist eine direkte, numerische Möglichkeit, den visuellen Eindruck zu bestätigen, dass sich das Gitter an die Daten annähert.

Warum wirkt eine Ring- oder Halbmond-Verteilung für das SOM-Gitter schwerer anzupassen als ein gleichmäßiges Quadrat?

Die festen Nachbarschaftsverbindungen eines quadratischen Gitters passen natürlich zu einer konvexen, gefüllten Region wie der Voreinstellung „Gleichmäßiges Quadrat“, aber Verteilungen wie Ring oder Halbmond sind gekrümmt und hohl, was das Gitter zwingt, sich zu verdrehen, auf sich selbst zurückzufalten oder Knoten im leeren Raum zwischen den Armen der Form isoliert zu lassen. Neural Gas, dem eine starre Topologie fehlt, verfolgt diese unbequemen Formen in der Regel sauberer, da seine Knoten nicht gezwungen sind, mit festen Nachbarn verbunden zu bleiben.

⚙ Unter der Haube

Beobachten Sie, wie sich ein Neural-Gas-Netzwerk an die Datentopologie anpasst — Konkurrenzlernen mit Nachbarschaftsrangfolge.

Neural GasUnüberwachtes LernenTopologieKI

3D · Three.js / WebGL-Renderer · 60 FPS Ziel · läuft vollständig clientseitig, keine Installation nötig

Was haben Sie gefunden?

Reproduktionsschritte hinzufügen (optional)