Bevor wir uns damit beschäftigen, was GANs alles für uns tun können, wollen wir einen Blick darauf werfen, was Generative Adversarial Networks überhaupt sind.
Es handelt sich dabei um ein Machine-Learning-System, das im Jahr 2014 von einem Team um Ian Goodfellow entwickelt wurde. Die Aufgabe eines GANs ist es, basierend auf einer Reihe von realen Beispieldaten eigene Kreationen zu erstellen. Diese sollen so täuschend echt sein, dass man den computergenerierten Bildern nicht ansieht, dass hier kein Mensch aktiv war. Um das zu leisten, werden zwei neurale Netzwerke eingesetzt, die miteinander konkurrieren.
Die Aufgabe des Generator-Netzwerks ist es, eine Fälschung zu erzeugen. Das Netzwerk wird mit Daten – z. B. Fotos von Frauen – angefüttert. Auf Basis dieser Informationen erstellt es dann ein eigenes Foto. Dafür lernt das Netzwerk erst, was die gemeinsamen Eigenschaften der Originale sind. Das neue Bild ist also keine Doppelung eines der Quelldaten, sondern ein komplett neu generiertes Werk, dass sich aber in der Art ähnelt – also in unserem Beispiel das Foto einer (nichtexistierenden) Frau repräsentiert.
Die Basisdaten und die generierte Information werden zusammen an das Partnernetzwerk gegeben. Aufgabe des Discriminator-Netzwerks ist es, alle Daten, die es erhält, daraufhin zu überprüfen, ob sie echt oder gefälscht sind. Ein Bild wird nicht nur dann als gefälscht eingestuft, wenn es zu stark von den Basisdaten abweicht, sondern auch, wenn es zu perfekt ist: Sollte der Generator einfach aus allen Daten einen Mittelwert ziehen und daraus ein neues Werk erstellen, sieht man diesem die maschinelle Erstellung an. Der Discriminator filtert also auch solche Daten heraus, die nicht natürlich wirken.
Beide Netzwerke versuchen, sich gegenseitig auszuspielen. Wenn das Discriminator-Netzwerk den gefälschten Datensatz erkennt, gibt es die Daten wieder zurück. Das Generator-Netzwerk ist in diesem Fall noch nicht gut genug und muss daher weiter lernen. Gleichzeitig hat aber auch der Discriminator dazugelernt. Da sich die beiden neuralen Netzwerke gegenseitig trainieren, haben wir es hier mit deinem Deep-Learning-System zu tun. Der Generator versucht, Datensätze zu generieren, die so echt wirken, dass sie der Discriminator als echt einstuft. Der Discriminator auf der anderen Seite versucht, die echten Beispiele so genau zu analysieren und zu verstehen, dass falsche Daten keine Chance haben, als echt identifiziert zu werden.