Tech

So könnt ihr euch im Browser selbst eine KI züchten

Wer ist schlauer: Ein selbstlernendes Netzwerk oder du? Finde es hier heraus, trainiere dir deine eigene Künstliche Intelligenz und gib damit auf Reddit an.
20.4.16
Bild: Screenshot Vimeo

Neuronale Netzwerke sind der heiße Scheiß von morgen. Bisher bleiben die selbstlernenden Systeme aber vor allem den Checker-Forschungslaboren von Facebook, Alphabet oder Universitäten vorbehalten. Die wenigsten von uns haben eine Ahnung, wie sie eigentlich funktionieren—bis Bilder auftauchen, wie Googles neuronale Netzwerke Pornos interpretieren und man sich fragt: Wie zur Hölle kann etwas Dröges, Statisches wie ein Netzwerk solche psychedelischen Phantasien entwickeln?

Doch jetzt gibt es eine faszinierende Website, mit der du selbst ausprobieren kannst, wie so ein selbstlernendes Netzwerk funktioniert. Der „Tensorflow Playground" bietet dir die einmalige Gelegenheit, direkt im Browser mit einem neuronalen Netzwerk herumzuspielen und es selbst zu trainieren. Der einzige Haken an der durchaus mächtigen Website: Tensorflow hätte wirklich besser erklären sollen, was man mit dem Tool eigentlich machen kann. Aber dafür sind wir ja da.

Let's get nerdy: Ziel des Spiels ist, im großen Feld rechts die Hintergrundfarbe und die Farbe der Punkte anzugleichen. Ein blauer Datenpunkt sollte auch vor einem strahlend blauen Hintergrund liegen, ein orangener vor orangenem Hintergrund. Versuch also, dem Netzwerk beizubringen, den Hintergrund ordentlich auf die Punkte zu sortieren. Je besser und schneller es das erledigt, desto schlauer ist dein Netzwerk.

Das erreichst du, indem du die Farbfelder aus X1 und X2 in verschiedenen Anteilen kombinierst und zu einem wunderschönen Hintergrund zusammenmixt. Genau das erledigen nämlich im Netzwerk die Neuronen: Software-Neuronen werden miteinander verbunden, damit sie untereinander Nachrichten austauschen können. Wenn man das Netzwerk jetzt bittet, ein Problem zu lösen, wird es das immer und immer wieder versuchen, und dabei aus den Erfolgen und Misserfolgen der vorangegangenen Versuche lernen.

Dabei schnappen sich die Neuronen Outputs aus einer früheren „Schicht" (also einem Versuch) und kombinieren sie, damit sie ein besseres Ergebnis bekommen. Ein bisschen wie ein permanentes Aschenputtel-Erbsensortieren: Die guten Ergebnisse ins Töpfchen, die schlechten ins Kröpfchen, und dann nochmal.

Auf Reddit zeigen sich die Netzwerkarchitekten gegenseitig, wie so etwas aussehen könnte. So lud einer der stolzen Redditor das Bild seines Netzwerks hoch, das sich dank sehr vieler Neuronen die Hintergründe schon ganz gut auf das Spiralmuster der Punkte anpasst: „Habe das besser (als die Vorposter) hingekriegt :P", schreibt er, „und hatte keine Probleme mit winzigen Orange- und Blau-Kanälen, wo sie nicht sein sollten. Außerdem sieht die Lernkurve meines Netzwerks viel glatter aus als eure."

Bild: imgur

Das will ein anderer Redditor jedoch so nicht stehen lassen: „Ihr macht das alles viel zu kompliziert", kontert Maoman1 und legt nach wenigen Minuten seine elegante Lösung vor:

Bild: imgur

Bei jedem Durchgang verstärkt das Netzwerk die Verbindungslinien, die zum Erfolg führen und schwächt die, die versagen. Das wird im Spiel dargestellt durch die verschiedenen Stärken und Farben der Output-Linien. Orange steht im Spiel für negative Werte, Blau steht für positive Werte.

Wähl aber zunächst noch links eins der vier Datensets aus, mit dem du das Netzwerk trainieren möchtest, zum Beispiel die Spirale. Und wenn du genügend Neuronen erstellt hast, die ihre Werte weitergeben sollen, kannst du oben links auf den Play-Button klicken, um anzufangen, das Netzwerk zu trainieren.

(Das Gewicht der Linien ist zum Spielstart übrigens randomisiert, also zerbrich dir nicht den Kopf darüber.)

Und wenn du gar nicht weiterkommst, haben ein paar Genies auf Reddit schon für dich vorgearbeitet und präsentieren stolz ihre Muster und Lösungsvorschläge in Form von handlichen Bildern und Tipps.

Das Playground-Netzwerk ist übrigens Open Source auf GitHub und soll gerne weiterverwendet und angepasst werden, damit noch mehr Menschen verstehen können, wie diese Netzwerke der Zukunft eigentlich ticken—am besten, bevor sie schlauer und schneller werden als wir.