GAN-Varianten

Forscher entwickeln kontinuierlich verbesserte GAN-Techniken und neue Anwendungsfälle für GANs. Hier sind einige GAN-Varianten, die Ihnen einen Eindruck von den Möglichkeiten vermitteln sollen.

Progressive GANs

Bei einem progressiven GAN erzeugen die ersten Schichten des Generators Bilder mit sehr niedriger Auflösung und die nachfolgenden Schichten fügen Details hinzu. Mit dieser Technik kann der GAN schneller trainiert werden als vergleichbare nicht progressive GANs und es werden Bilder mit höherer Auflösung erzeugt.

Weitere Informationen finden Sie unter Karras et al., 2017.

Bedingte GANs

Bedingte GANs werden mit einem beschrifteten Datensatz trainiert und Sie können das Label für jede generierte Instanz angeben. Ein unkonditionierter MNIST-GAN würde beispielsweise zufällige Ziffern generieren, während Sie mit einem bedingten MNIST-GAN angeben können, welche Ziffer der GAN generieren soll.

Anstatt die gemeinsame Wahrscheinlichkeit P(X, Y) zu modellieren, modellieren bedingte GANs die bedingte Wahrscheinlichkeit P(X | Y).

Weitere Informationen zu bedingten GANs finden Sie unter Mirza et al., 2014.

Bild-zu-Bild-Übersetzung

GANs für die Bild-zu-Bild-Übersetzung nehmen ein Bild als Eingabe und ordnen es einem generierten Ausgabebild mit anderen Eigenschaften zu. Wir können beispielsweise ein Maskierungsbild mit einem Farbklecks in Form eines Autos verwenden. Der GAN kann die Form dann mit fotorealistischen Autodetails füllen.

Ebenso können Sie einen GAN für die Bild-zu-Bild-Transformation trainieren, um Skizzen von Handtaschen in fotorealistische Bilder von Handtaschen umzuwandeln.

Eine Tabelle mit 3 x 3 Bildern von Handtaschen. Jede Zeile zeigt einen anderen Handtaschenstil. In jeder Zeile ist das linkeste Bild eine einfache Strichzeichnung einer Handtasche, das mittlere Bild ein Foto einer echten Handtasche und das rechte Bild ein fotorealistisches Bild, das von einem GAN generiert wurde. Die drei Spalten sind mit „Eingabe“, „Ground Truth“ und „Ausgabe“ gekennzeichnet.

In diesen Fällen ist der Verlust eine gewichtete Kombination aus dem üblichen diskriminatorbasierten Verlust und einem pixelweisen Verlust, der den Generator für Abweichungen vom Quellbild bestraft.

Weitere Informationen finden Sie unter Isola et al., 2016.

CycleGAN

CycleGANs lernen, Bilder aus einem Satz in Bilder umzuwandeln, die plausibel zu einem anderen Satz gehören könnten. Mit einem CycleGAN wurde beispielsweise das rechte Bild unten erstellt, wenn das linke Bild als Eingabe verwendet wurde. Ein Bild eines Pferdes wurde in ein Bild eines Zebras umgewandelt.

Ein Bild von einem laufenden Pferd und ein zweites Bild, das in jeder Hinsicht identisch ist, mit der Ausnahme, dass es sich bei dem Tier um ein Zebra handelt.

Die Trainingsdaten für den CycleGAN bestehen einfach aus zwei Bildsätzen (in diesem Fall aus einem Satz von Pferdebildern und einem Satz von Zebrabildern). Das System erfordert keine Labels oder paarweisen Übereinstimmungen zwischen Bildern.

Weitere Informationen finden Sie in Zhu et al., 2017, wo die Verwendung von CycleGAN zur Bild-zu-Bild-Übersetzung ohne gepaarte Daten veranschaulicht wird.

Text-zu-Bild-Synthese

Text-zu-Bild-GANs nehmen Text als Eingabe und generieren Bilder, die plausibel sind und vom Text beschrieben werden. Das Bild der Blume unten wurde beispielsweise erstellt, indem einem GAN eine Textbeschreibung zugeführt wurde.

„Diese Blume hat gelbe Blütenblätter mit Orangetönen.“ Eine Blume mit gelben Blütenblättern mit Orangetönen.

In diesem System kann der GAN nur Bilder aus einer kleinen Gruppe von Klassen erstellen.

Weitere Informationen finden Sie unter Zhang et al., 2016.

Superauflösung

GANs mit Superauflösung erhöhen die Auflösung von Bildern und fügen bei Bedarf Details hinzu, um unscharfe Bereiche auszufüllen. Das unscharfe mittlere Bild unten ist beispielsweise eine herunterskalierte Version des Originalbilds links. Aus dem unscharfen Bild hat ein GAN das schärfere Bild auf der rechten Seite erstellt:

OriginalWeichzeichnerMit GAN wiederhergestellt
Ein Gemälde eines Mädchens mit einem aufwendigen Kopfschmuck. Das Stirnband des Kopfschmucks ist in einem komplexen Muster gestrickt. Eine verschwommene Version des Gemäldes eines Mädchens mit einem aufwendigen Kopfschmuck. Ein scharfes, klares Gemälde eines Mädchens mit einem aufwendigen Kopfschmuck. Dieses Gemälde ist fast identisch mit dem ersten Bild in dieser Tabelle, aber einige Details der Muster auf ihrem Kopfschmuck und ihrer Kleidung sind subtil unterschiedlich.

Das GAN-generierte Bild ähnelt dem Originalbild sehr, aber wenn Sie sich das Stirnband genauer ansehen, sehen Sie, dass der GAN das Sternenmuster des Originals nicht reproduziert hat. Stattdessen hat es ein plausibles Muster erfunden, um das durch die Downsampling gelöschte Muster zu ersetzen.

Weitere Informationen finden Sie unter Ledig et al., 2017.

Gesichter retuschieren

GANs wurden für die semantisches Bild-Inpainting-Aufgabe verwendet. Bei der Inpainting-Aufgabe werden Teile eines Bildes ausgegraut und das System versucht, die fehlenden Teile auszufüllen.

Yeh et al., 2017 verwendeten einen GAN, um andere Techniken für die Inpainting von Bildern von Gesichtern zu übertreffen:

EingabeGAN-Ausgabe
Vier Bilder. Jedes Bild ist ein Foto eines Gesichts, bei dem einige Bereiche durch Schwarz ersetzt wurden. Vier Bilder. Jedes Bild ist ein Foto eines Gesichts, das mit einem der Bilder in der Spalte „Input“ identisch ist, mit der Ausnahme, dass es keine schwarzen Bereiche gibt.

Text-to-Speech

Nicht alle GANs erzeugen Bilder. Forscher haben GANs beispielsweise auch verwendet, um synthetische Sprache aus Texteingaben zu generieren. Weitere Informationen finden Sie unter Yang et al., 2017.