Deep Learning illustriert. Jon Krohn
alt="image"/>
Abb. 3–1Schematische Darstellung eines Generative Adversarial Network (GAN). Dem Diskriminator werden sowohl echte Bilder als auch Nachahmungen vorgelegt. Er hat die Aufgabe, die echten Bilder zu identifizieren. Die orange Wolke repräsentiert die Orientierungshilfe durch den latenten Raum (Abbildung 3–4), die dem Fälscher angeboten wird. Diese Lenkung kann entweder zufällig sein (wie das beim Netzwerktraining im Allgemeinen der Fall ist; siehe Kapitel 12) oder kann selektiv (während einer Erkundung nach dem Training; siehe Abbildung 3–3) erfolgen.
Abb. 3–2 Ergebnisse aus dem GAN-Artikel von Goodfellow und seinen Kollegen aus dem Jahre 2014
Goodfellows Freunde bezweifelten, dass sein fantasievolles Vorgehen funktionieren würde. Als er nach Hause kam und seine Freundin schlafend vorfand, arbeitete er bis in die Nacht daran, seinen Entwurf mit den zwei ANN umzusetzen. Das Ganze funktionierte beim ersten Versuch, und die erstaunliche Familie der Generative Adversarial Networks war geboren!
Im selben Jahr präsentierten Goodfellow und seine Kollegen GANs auf der angesehenen Neural Information Processing Systems (NIPS)6 Conference der Öffentlichkeit. Einige ihrer Ergebnisse sind in Abbildung 3–2 zu sehen. Ihr GAN erzeugte diese neuartigen Bilder, nachdem es mit (a) handgeschriebenen Ziffern7, (b) Fotos von menschlichen Gesichtern8 sowie mit (c) und (d) Fotos aus zehn unterschiedlichen Klassen (z.B. Flugzeuge, Autos, Hunde)9 trainiert worden war. Die Ergebnisse in (c) sind merklich weniger knackig als die in (d), weil das GAN, das die Bilder aus (d) produziert hatte, speziell für das maschinelle Sehen ausgerichtete Neuronenschichten besaß, sogenannte Convolutional Layers oder Konvolutionsschichten10, während das GAN aus (c) nur einen allgemeineren Typ verwendete.11
3.2Berechnungen auf nachgemachten menschlichen Gesichtern
Nach Goodfellows Einstieg bestimmte ein Forschungsteam unter der Leitung des amerikanischen Machine-Learning-Forschers Alec Radford die architektonischen Bedingungen für GANs, die zu einer deutlich realistischeren Bildherstellung führten. Einige der Beispiele für Porträts von nachgemachten Menschen, die von ihren tiefen convolutional GANs erzeugt wurden, sind in Abbildung 3–3 zu sehen. In ihrem Artikel demonstrierten Radford und seine Kollegen ziemlich geschickt die Interpolation durch den und die Berechnungen mit dem latenten Raum, der mit GANs12 assoziiert wird. Untersuchen wir zunächst einmal, was latenter Raum ist, bevor wir uns mit Interpolationen und Berechnungen mit dem latenten Raum befassen.
Abb. 3–3 Ein Beispiel für die Berechnungen mithilfe des latenten Raums aus Radford et al. (2016)
Die Skizze aus Abbildung 3–4 erinnert vielleicht an den Wortvektorraum aus Abbildung 2–6. Tatsächlich gibt es drei große Ähnlichkeiten zwischen latenten Räumen und Vektorräumen:
1 Während die Skizze aus Gründen der Einfachheit und Verständlichkeit nur einen dreidimensionalen Raum darstellt, sind latente Räume n-dimensional mit meist mehreren Hundert Dimensionen. Der latente Raum des GAN, das Sie in Kapitel 12 selbst herstellen werden, wird zum Beispiel n=100 Dimensionen besitzen.
2 Je dichter zwei Punkte im latenten Raum zueinander liegen, umso ähnlicher sind die Bilder, die diese Punkte repräsentieren.
3 Eine Bewegung durch den latenten Raum in eine bestimmte Richtung kann einer schrittweisen Änderung in einem dargestellten Konzept entsprechen. Im Fall von fotorealistischen Gesichtern könnte dies das Alter oder das Geschlecht sein.
Indem wir zwei Punkte auswählen, die weit voneinander entfernt auf einer n-dimensionalen Achse liegen, die das Alter repräsentiert, könnten wir bei einer Interpolation zwischen ihnen und einer Auswahl beliebiger Punkte von dieser interpolierten Linie einen (nachgeahmten) Mann finden, der schrittweise immer älter zu werden scheint.13 In unserer Skizze des latenten Raums (Abbildung 3–4) ist eine solche Achse für das »Alter« lila dargestellt. Wenn Sie die Interpolation durch einen authentischen latenten Raum eines GAN beobachten wollen, sollten Sie einen Blick in den Artikel von Radford und seinen Kollegen werfen und dort zum Beispiel nach den sanften Drehungen des »Photo Angle« synthetischer Schlafzimmer suchen. Zum Zeitpunkt der Entstehung dieses Buches konnte man die neuesten Entwicklungen im Bereich der GANs unter bit.ly/InterpCeleb anschauen. Dieses Video, das von Forschern des Grafikkartenherstellers Nvidia produziert wurde, bietet eine atemberaubende Interpolation durch hochwertige Porträt-»Fotografien« von B- und C-Promis.14, 15
Abb. 3–4Eine Skizze des latenten Raums von GANs (Generative Adversarial Networks). Wenn man sich an dem lila Pfeil entlangbewegt, erhält man Bilder, die die Alterung einer Person zeigen, die ansonsten annähernd gleich aussieht. Der grüne Pfeil repräsentiert das Geschlecht und der orange Pfeil das Vorhandensein einer Brille in dem Gesicht.
Wenn Sie nun mit dem Gelernten einen Schritt weiter gehen wollen, könnten Sie Berechnungen mit den Bildern anstellen, die Sie dem latenten Raum des GAN entnommen haben. Ein Punkt innerhalb des latenten Raums kann durch die Koordinaten seines Standortes dargestellt werden – der daraus resultierende Vektor ist analog den Wortvektoren, die in Kapitel 2 beschrieben wurden. Wie bei den Wortvektoren können Sie Berechnungen mit diesen Vektoren durchführen und den latenten Raum auf semantische Weise durchlaufen. Abbildung 3–3 zeigt ein Beispiel für Berechnungen im latenten Raum aus der Arbeit von Radford und seinen Kollegen. Wir beginnen mit einem Punkt im latenten Raum ihres GANs, der einen Mann mit einer Brille repräsentiert, subtrahieren einen Punkt, der einen Mann ohne Brille darstellt, und addieren dann einen Punkt, der eine Frau ohne Brille repräsentiert. Der Punkt, den wir als Ergebnis erhalten, existiert im latenten Raum in der Nähe der Bilder, die eine Frau mit einer Brille darstellen. Unsere Skizze in Abbildung 3–4 verdeutlicht, wie die Beziehungen zwischen den Bedeutungen im latenten Raum gespeichert werden (auch hier wieder vergleichbar zum Wortvektorraum) und damit die Berechnungen im latenten Raum umsetzen.
3.3Stiltransfer: Fotos in einen Monet verwandeln (und umgekehrt)
Eine besonders bezaubernde Anwendung von GANs ist der Stiltransfer. Zhu, Park und ihre Mitarbeiter aus dem Berkeley Artificial Intelligence Research (BAIR) Lab stellten eine neue Richtung von GAN16 vor, die erstaunliche Beispiele dafür liefert, wie Abbildung 3–5 zeigt. Alexei Efros, einer der Koautoren des