Lass den Computer halluzinieren!

Maschinelles Lernen kommt zum Einsatz, wenn ein Computer eigenständig neue Regeln und Gesetzmässigkeiten lernen soll. Ohne dass ein Programmierer ihm dabei hilft. Doch die Technik macht Computer nicht nur schlauer, sondern auch kreativ. Besonders eindrücklich zeigt das DeepDream von Google.

Können Maschinen träumen? Und wenn ja, träumen sie dann wie in der Science-Fiction von elektrischen Schafen? Oder doch von einem Teller Spaghetti, aus dem einem mutierte Hundegesichter entgegenschauen und gequält blickende Augen aus den Windungen der Teigwaren zu wachsen scheinen (siehe Bild unten)? Nimmt man die surrealen Horrorbilder als Beispiel, die Googles DeepDream-Algorithmus malt, dann träumen Maschinen wohl von Spaghetti-Horror.

Ein Teller Spaghetti, aus dem einem Hundeaugen entgegenblicken.

Bildlegende: Spaghetti-Horror: Ein Algorithmus, der auf die Erkennung von Hunden trainiert ist, wird selbst in einem Teller Spaghetti Hunde sehen. thornebrandt/Twitter

Google hat die Software vor ein paar Wochen in einem Research-Blog vorgestellt und den Code dazu Anfang Juli öffentlich gemacht. Seither gehen unter dem Hashtag «DeepDream» eben solche Bilder von hundeäugigen Spaghetti-Tellern und anderen Höllenvisionen durchs Netz. Auf verschiedenen Webseiten kann man mittlerweile mit wenig Aufwand selber solche Bilder herstellen. Und mit spezieller Software lassen sich sogar Videodateien in DeepDream-Filme umwandeln.

Haben wir natürlich auch gleich ausprobiert – das Resultat ist im Video oben zu sehen.

Maschine lernen lernen

Doch DeepDream ist mehr als bloss der Stoff, aus dem Albträume sind. Google nutzt die Technik dahinter, um maschinelles Lernen zu erforschen. Das heisst: den Computer durch Erfahrungen selbst Regeln und Gesetzmässigkeiten erkennen zu lassen. Mit dem Ziel, dass die Maschine darauf eigenständig mit neuem Material umgehen kann, ohne dass ihr ein Programmierer dabei helfen muss.

Im Fall von DeepDream geht es um die automatische Bilderkennung. Dazu werden dem DeepDream immer wieder Bilder von bestimmten Objekten gezeigt, bis er von selbst erkennt, was darauf zu sehen ist. Bis er zum Beispiel gelernt hat, dass ein Haus immer einen Eingang hat und Fenster. Aber in den unterschiedlichsten Farben und Formen existiert.

Intelligentes Schichten-Sandwich

Um das zu bewerkstelligen arbeitet DeepDream mit künstlichen neuronalen Netzen. Salopp gesagt sind das intelligente Sandwiches, die der Funktionsweise des menschlichen Gehirns nachempfunden sind. Im Fall von Googles Bilderkennung besteht so ein neuronales Netz aus 10 bis 30 Schichten von künstlichen Neuronen: Knoten, die untereinander und mit den Knoten der nächsten Schicht verbunden sind. Der ersten Schicht wird das Bild präsentiert, die letzte Schicht liefert die endgültige Interpretation, was auf dem Bild zu sehen ist.

Zwischen der Eingabe- und der Ausgabe-Schicht liegen Schichten mit vielen weiteren Knoten. Das System arbeitet von oben nach unten: Es erkennt immer komplexere Merkmale im Bild – erst bloss Ecken und Kanten, schliesslich Formen und Objekte wie etwa die Fenster und Türen eines Hauses. Zuletzt gehen die Resultate an die Ausgabe-Schicht die sagt «Haus», wenn sie ein Haus erkannt hat.

Bilder malen als Fehlerkontrolle

Dieser Vorgang ist so komplex, dass selbst die Forscher bei Google nicht immer wissen, was dabei vorgeht – und allenfalls etwas schiefgeht. Zur Fehlerdiagnose haben sie den Prozess darum umgekehrt: Statt dem Algorithmus das Bild eines Hauses zu zeigen und zu fragen, was er darauf sieht, muss er nun vom Begriff «Haus» ausgehend selbst ein Bild dazu malen. Schliesslich sollte er dank vielen, vielen Trainingsbildern ja gelernt haben, was das Wesen eines Hauses ausmacht. In ein leeres Bild halluziniert er immer mehr Elemente eines Hauses hinein, bis schliesslich tatsächlich ein Haus zu erkennen ist.

Ein Bild, Bildrauschen das nur aus Bildrauschen besteht.

Bildlegende: Bildrauschen: In ein «leeres» Bild halluziniert der Algorithmus die Formen und Objekte hinein, die er trainiert wurde zu erkennen. SRF

So wird sichtbar, ob sich der Rechner ein falsches Bild der Realität gemacht hat: Beim Begriff «Hantel» mussten die Google-Forscher etwa feststellen, dass ihr Algorithmus sich ein falsches Bild von dem Objekt gemacht hatte. Denn als sie ihm auftrugen, ein Bild einer Hantel zu erstellen, waren darauf zwar Hanteln zu sehen – allerdings, nie, ohne dass nicht auch ein Arm daran hing. Die Erklärung: Beim Trainieren des neuronalen Netzes waren nur Bilder verwendet worden, auf denen eine Hantel von jemandem gehalten wurde. So brachte sich das Netz selber bei, dass ein Arm mit zum Wesen einer Hantel gehört.

Die Kreativität in der Maschine

Mit diesem Verfahren können fantastische Bilder entstehen. Dazu zeigt man dem Computer das Bild eines Objektes und lässt ihn selbst bestimmen, was er darauf sehen will. Dann wählt man eine Knoten-Schicht des neuronalen Netzes, die das verstärken soll, was der Rechner auf dem Bild zu erkennen glaubt. Die ersten Schichten (für Ecken und Kanten zuständig) werden so etwa Striche und ornamentartige Muster produzieren.

Ein bewegtes GIF zeigt, wie DeepDream Tiere in das Foto eines Nagetieres rechnet.

Bildlegende: Mach mehr aus deinem Nager: Mit spezieller Software kann jeder selbst ausprobieren, was DeepDream aus seinen Bildern macht. SRF

Die letzten Schichten (Formen und Objekte) malen gleich ganze Figuren ins Bild. Deshalb kann ein auf die Erkennung von Tieren trainiertes neuronales Netz einen Teller Spaghetti für Hunde halten und die Nudeln mit einer Portion Vierbeinern anreichern.

Wie «Spiegel Online» schreibt, gleicht das einer Halluzination im menschlichen Gehirn: «Denn auch menschliche Halluzinationen sind oft genug nichts anderes als die Überinterpretation bestimmter Merkmale, die ein überreizter visueller Kortex aus dem Input erzeugt, den die Augen liefern.»

DeepDream selbst gemacht

Diese Webseiten und Programmen lassen DeepDream-Bilder malen: