Ein generatives kontradiktorisches Netzwerk (GAN) besteht aus zwei Teilen:
- Der Generator lernt plausible Daten. Die generierten Instanzen werden zu negativen Trainingsbeispielen für den Diskriminator.
- Der differenzierende lernt, die falschen Daten des Generators von echten Daten zu unterscheiden. Der Diskriminator bestraft den Generator für die Erzeugung von nicht verständlichen Ergebnissen.
Zu Beginn des Trainings erzeugt der Generator offensichtlich gefälschte Daten und der Diskriminator lernt schnell, diese zu fälschen:
Im Laufe des Trainings nähert sich der Generator der Ausgabe, die den Diskriminator täuschen kann:
Wenn das Generatortraining gut läuft, verschlechtert sich der Unterschied zwischen echten und Fälschungen. Fake-Daten werden dann als echte klassifiziert und die Genauigkeit nimmt ab.
Hier ist ein Bild des gesamten Systems:
Sowohl der Generator als auch der Diskriminator sind neuronale Netzwerke. Die Generatorausgabe ist direkt mit der Eingabe des Diskriminators verbunden. Durch die Backpropagation liefert die Klassifizierung des Diskriminators ein Signal, mit dem der Generator seine Gewichtungen aktualisiert.
Sehen wir uns das System etwas genauer an.