Showcase 05 · Neuronales Netz
Lernt live
Ein kleines neuronales Netz lernt in Ihrem Browser, die Moralo-Wortmarke zu zeichnen: aus zufälligen Gewichten, ohne Server und ohne vortrainiertes Modell. Aus Rauschen wird Schritt für Schritt ein scharfes Bild. Malen Sie auf die Bühne, und das Netz lernt Ihre Striche sofort mit.
Die Live-Demo benötigt JavaScript und WebGL 2 mit Gleitkomma-Texturen. Das Bild zeigt, was das Netz nach wenigen Sekunden Training zeichnet; die Erklärung unten ist auch ohne sie lesbar.
- Parameter
- –
- Trainingsschritte/s
- –
- Verlust
- –
- Bilder/s
- –
- Training
- WebGL 2 · GPU
So funktioniert es
Das Netz ist eine Funktion: Es bekommt eine Position (x, y) und antwortet mit drei Werten – wie viel Tinte dort liegt, wo auf dem Farbverlauf der Punkt sitzt und wie stark er leuchtet. Drei verborgene Schichten mit je 16, 32 oder 64 Neuronen, zusammen einige Tausend Gewichte. In jedem Trainingsschritt zieht es Tausende zufällige Punkte aus dem Zielbild, vergleicht seine Antwort mit dem Ziel (mittlerer quadratischer Fehler) und verschiebt jedes Gewicht ein kleines Stück in die Richtung, die den Fehler verkleinert.
Vorwärtsrechnung, Rückwärtsrechnung (Backpropagation) und der Adam-Optimierer sind hier von Hand geschrieben und laufen als Matrix-Operationen in Fragment-Shadern auf der Grafikkarte, mehrere Schritte pro Bild. Danach wertet die Grafikkarte das ganze Netz für jeden Bildschirmpunkt aus. Es gibt kein vortrainiertes Modell und keine Modelldatei: Was Sie sehen, entsteht in diesem Moment.
Der Vergleich zeigt, warum die Wahl der Aktivierung zählt. Ein reines ReLU-Netz lernt vor allem weiche, grobe Formen und bleibt unscharf. Mit Fourier-Merkmalen – die Position wird vorher in viele Sinuswellen verschiedener Frequenz übersetzt – werden Kanten sichtbar. SIREN verwendet Sinus als Aktivierung in jeder Schicht und zeichnet die feinen Kanten der Buchstaben am schnellsten scharf. Die Farben stammen aus den Design-Tokens und wechseln mit dem Theme, ohne dass das Netz neu lernen muss.