Überblick über die GAN-Struktur

Ein generatives kontradiktorisches Netzwerk (Generative Adversarial Network, GAN) besteht aus zwei Teilen:

  • Der Generator lernt, plausible Daten zu generieren. Die generierten Instanzen werden zu negativen Trainingsbeispielen für den Discriminator.
  • Der Diskriminator lernt, die gefälschten Daten des Generators von echten Daten zu unterscheiden. Der Discriminator bestraft den Generator für das Erzeugen von unglaubwürdigen Ergebnissen.

Zu Beginn des Trainings erzeugt der Generator offensichtlich gefälschte Daten und der Discriminator lernt schnell, diese zu erkennen:

Drei Spalten sind mit „Generierte Daten“, „Diskriminator“ und „Echte Daten“ beschriftet. Unter „Generierte Daten“ sehen Sie ein blaues Rechteck mit einer Schleife und einem Kreis. Das Rechteck ist der erste, schlechte Versuch des Generators, ein Dollarschein zu zeichnen. Unter „Echte Daten“ sehen Sie ein Bild eines echten Zehn-Dollar-Scheins. Unter „Diskriminator“ stehen die Wörter „FAKE“ und „REAL“. Ein Pfeil zeigt vom Wort „FAKE“ zum Bild unter „Generierte Daten“. Ein weiterer Pfeil zeigt vom Wort „REAL“ zum Bild unter „Reale Daten“.

Im Laufe des Trainings nähert sich der Generator immer mehr einer Ausgabe, die den Diskriminator täuschen kann:

Auf diesem Bild wird im Vergleich zum vorherigen Bild unter den Überschriften „Generierte Daten“, „Diskriminator“ und „Echte Daten“ eine neue Zeile hinzugefügt. Unter „Generierte Daten“ sehen Sie ein grünes Rechteck mit der Zahl 10 in der oberen linken Ecke und einer einfachen Zeichnung eines Gesichts. Unter „Echte Daten“ sehen Sie ein Bild eines echten 100-Dollar-Scheins. Unter „Diskriminator“ steht das Wort „FAKE“ mit einem Pfeil, der auf das Bild unter „Generated Data“ (Generierte Daten) zeigt, und das Wort „REAL“ mit einem Pfeil, der auf das Bild unter „Real Data“ (Echte Daten) zeigt.

Wenn das Training des Generators gut läuft, kann der Diskriminator immer schlechter zwischen echt und unecht unterscheiden. Es beginnt, gefälschte Daten als echt zu klassifizieren, und die Genauigkeit nimmt ab.

Auf diesem Bild wird unter den Überschriften „Generierte Daten“, „Diskriminator“ und „Echte Daten“ im ersten vorherigen Bild eine neue Zeile hinzugefügt. Unter „Generierte Daten“ sehen Sie ein Bild eines 20-Dollar-Scheins. Unter „Real Data“ (Echte Daten) sehen Sie ein Bild eines 20-Dollar-Scheins. Unter „Diskriminator“ steht das Wort „REAL“ mit einem Pfeil, der auf das Bild unter „Generierte Daten“ zeigt, und das Wort „REAL“ mit einem Pfeil, der auf das Bild unter „Echte Daten“ zeigt.

Hier ist ein Bild des gesamten Systems:

Ein Diagramm eines generativen Adversarial Networks. In der Mitte des Diagramms befindet sich ein Feld mit der Bezeichnung „Diskriminator“. Zwei Äste münden von links in dieses Feld.  Der oberste Zweig beginnt links oben im Diagramm mit einem Zylinder, der mit „Realistische Bilder“ gekennzeichnet ist. Ein Pfeil führt von diesem Zylinder zu einem Feld mit der Bezeichnung „Beispiel“. Ein Pfeil vom Feld „Sample“ (Beispiel) führt in das Feld „Discriminator“ (Diskriminator). Der untere Zweig fließt in das Feld „Diskriminator“ ein, beginnend mit einem Feld mit der Bezeichnung „Zufallseingabe“. Ein Pfeil führt vom Feld „Zufallseingabe“ zu einem Feld mit der Bezeichnung „Generator“. Ein Pfeil führt vom Feld „Generator“ zu einem zweiten Feld „Beispiel“. Ein Pfeil führt vom Feld „Beispiel“ zum Feld „Diskriminator“. Auf der rechten Seite des Felds „Diskriminator“ führt ein Pfeil zu einem Feld mit einem grünen und einem roten Kreis. Das Wort „Real“ (Echt) wird über dem Feld in grüner Schrift und das Wort „False“ (Falsch) wird unter dem Feld in roter Schrift angezeigt. Von diesem Feld führen zwei Pfeile zu zwei Feldern auf der rechten Seite des Diagramms. Ein Pfeil führt zu einem Feld mit der Bezeichnung „Diskriminatorverlust“. Der andere Pfeil führt zu einem Feld mit der Bezeichnung „Generatorausfall“.

Sowohl der Generator als auch der Diskriminator sind neuronale Netzwerke. Der Generatorausgang ist direkt mit dem Diskriminatoreingang verbunden. Durch Backpropagation liefert die Klassifizierung des Discriminators ein Signal, mit dem der Generator seine Gewichte aktualisiert.

Sehen wir uns die einzelnen Teile dieses Systems genauer an.