Definition: Generative Adversarial Network

Als Generative Adversarial Network (kurz GAN) bezeichnen wir eine neuronale Architektur, die aus zwei gegeneinander trainierenden neuronalen Netzwerken besteht: dem Generator und dem Diskriminator.

  • Der Generator erhält als Input eine Menge latenter Variablen (bspw. einen normalverteilten Vektor) und erzeugt auf Basis dieses Inputs synthetische Daten, die den echten Daten (bspw. Bildern) ähneln sollen.
  • Der Diskriminator versucht, zwischen echten und vom Generator erzeugten Daten zu unterscheiden.

Während des Trainings werden die Gewichte beider Netzwerke abwechselnd voneinander optimiert, sodass der Generator immer realistischere Daten erzeugt, während der Diskriminator immer besser darin wird, zwischen echten und generierten Daten zu unterscheiden.

GANs werden häufig für Aufgaben wie Bild- und Videogenerierung, Datenaugmentation oder Style Transfer eingesetzt.

Definition: Training des Diskriminators

Sei mit ein Datensatz.
Sei ein GAN gegeben mit:

  • Generator (mit eingefrorenen Gewichten)
  • Diskriminator:

Sei mit eine kleine (üblicherweise Teilmenge der Trainingsdaten. Sei eine gleich große Menge generierter Beispiele mit aus dem latenten Raum.

Die Fehlerfunktion des Diskriminators erhalten wir (in Anlehnung an die logistische Kostenfunktion) durch

Definition: Training des Generators

Sei mit ein Datensatz.
Sei ein GAN gegeben mit:

  • Generator
  • Diskriminator: (mit eingefrorenen Gewichten)

Die Fehlerfunktion des Generators erhalten wir, in Anlehnung an die logistische Kostenfunktion und unter Nutzung des Diskriminators (jedoch mit eingefrorenen Gewichten), durch

wobei wieder neue Variablen aus dem latenten Raum seien.