Zum Inhalt springen

Was ist ein Generative Adversarial Network?

Ein Generative Adversarial Network (kurz: GAN) ist ein spezielles Modell, das aus zwei konkurrierenden Neuronalen Netzwerken aufgebaut ist, die sich während des Trainings gegenseitig verbessern. Das erste Modell versucht möglichst real wirkende Daten zu erzeugen, beispielsweise Bilder, und das nachgeschaltete Modell wiederum nimmt diese Daten als Input und klassifiziert sie als real oder künstlich.

Das Generative Adversarial Network kann man sich bildlich, wie ein Räuber und Gendarme Spiel vorstellen. Der Räuber versucht so gut wie möglich Diebstähle zu begehen, ohne dass er von der Polizei erwischt. Je öfter er erwischt, desto besser wird er darin unentdeckt zu bleiben, da er aus seinen vorherigen Fehlern lernt. Die Polizei wiederum versucht so viele Diebstähle wie möglich aufzudecken und auch sie verbessert ihre Fähigkeiten darin den Räuber zu finden.

Was sind generierende Modelle?

Um den Aufbau und die Funktionsweise von GANs verstehen zu können, sollten wir einen Schritt zurücktreten und die allgemeinen Arten von Modellen im Machine Learning betrachten. Dabei unterscheiden wir im Allgemeinen Supervised und Unsupervised Learning, sowie diskriminierenden und generierende Modelle.

Nehmen wir an, wir wollen einem Kind eine neue Sprache beibringen, beispielsweise Englisch. Wenn wir dies nach dem Prinzip des Supervised Learnings tun, geben wir ihm einfach ein Wörterbuch mit den englischen Wörtern und der Übersetzung in dessen Muttersprache, beispielsweise deutsch. Dem Kind wird es relativ einfach fallen mit dem Lernen zu beginnen und wahrscheinlich auch sehr schnell Fortschritte machen können, indem es sich die Übersetzungen einprägt. Darüber hinaus wird es aber Probleme haben Texte auf Englisch zu lesen und verstehen zu können, da es lediglich die Deutsch-Englisch Übersetzungen gelernt hat und nicht den grammatikalischen Aufbau von Sätzen in der englischen Sprache.

Nach dem Prinzip des Unsupervised Learnings würde das Szenario ganz anders aussehen. Wir würden dem Kind nämlich einfach beispielsweise fünf englische Bücher vorlegen und alles übrige müsste es sich selbstständig aneignen. Das ist natürlich eine sehr viel komplexere Aufgabe. Das Kind könnte mithilfe der „Daten“ beispielsweise erkennen, dass das Wort „I“ (deutsch: Ich) relativ häufig in Texten vorkommt und in vielen Fällen auch am Anfang eines Satzes steht und daraus Schlüsse ziehen.

Wenn ein Supervised Learning Algorithmus genutzt wird, um die Trainingsdatensätze einer Klasse zuzuordnen abhängig von gewissen Kriterien, spricht man von einem diskriminierenden Modell. Unsupervised Learning Modelle hingegen werden meist dafür genutzt, um neue, künstliche Beispiele zu erzeugen, die ähnliche Merkmale und Verteilungen aufweisen wie die Trainingsbeispiele. Dann spricht man von generierenden Modellen.

Wie funktionieren Generative Adversarial Networks?

Generative Adversarial Networks kombinieren die verschiedenen Arten von Machine Learning, indem zwei Neuronale Netzwerke vereint werden. Nehmen wir an wir möchten möglichst realitätsnahe Bilder eines Sonnenuntergangs mithilfe eines GANs trainieren. Die Bilder durchlaufen zuerst das sogenannte Generator Modell.

Das Generator Modell versucht also während des Trainings immer besser darin zu werden möglichst realitätsnahe Bilder eines Sonnenuntergangs zu erzeugen. Dieses Modell erhält keinen wirklichen Input aus dem Trainingsdatensatz sondern sogenanntes Random Noise. Das ist ein rein zufälliger Vektor einer bestimmten Länge mit zufällig erstellten Zahlenwerten. Die Verteilung aus denen die Zahlen gezogen werden ist dabei zweitrangig. Einfach gesprochen, erstellt das Generator Modell mehr oder weniger aus dem Nichts Bilder, die einem Sonnenuntergang ähneln sollen. Verständlicherweise werden diese am Anfang relativ schlecht aussehen.

Die so erzeugten Bilder werden dann an das zweite Neuronale Netzwerk gegeben, das sogenannte Discriminator Modell. Dieses Netzwerk bekommt immer entweder ein echtes Bild aus dem Trainingsdatensatz oder ein zufällig erstelltes Bild des Generator Modells und muss für jedes Bild entscheiden, ob es ein echtes oder ein künstliches Bild ist.

Das Generative Adversarial Network lernt nun in zwei Schritten. Das Discriminator Modell ist supervised und versucht somit die Genauigkeit seiner Klassifizierung zu erhöhen, indem es echte Bilder als echt klassifziert und künstliche als künstliche. Das Generator Modell wiederum ist unsupervised und bekommt als Feedback, wie viele der erstellten Bilder als fake „entlarvt“ wurden und wie viele Bilder fälschlicherweise als echt durchgingen. Anschließend versucht das Modell die Quote der falschen Bilder zu erhöhen, die vom Discriomator als echt gekennzeichnet wurden.

Durch diese entgegengesetzten (auf Englisch: „adversarial“) Ziele der beiden Netzwerke verbessern sie sich gegenseitig und führen so zu einem optimalen Ergebnis.

Wofür werden GANs genutzt?

In vielen Fällen trainiert man zwar den Generator und Discrimnator zusammen, jedoch ist es am Ende nur der austrainierte Generator der wirklich von Interesse ist. Es gibt verschiedene Use-Cases für die ein Generator nützlich ist, wie beispielsweise:

  • Bei der Erstellung von Deepfakes wird der austrainierte Generator, um Videos von Menschen zu erzeugen, die so gar nicht stattgefunden haben.
  • Der Generator kann genutzt werden um zweidimensionale Zeichnungen im dreidimensionalen Raum zu erzeugen.
  • Generative Adversarial Networks erzeugen auch hochqualitative Videos von älterem Material, das ursprünglich eine schlechtere Auflösung hatte.
  • Bei der Erstellung von künstlich gealterten Personen anhand von Bildern werden häufig auch GANs verwendet.

Das solltest Du mitnehmen

  • Ein Generative Adversarial Network ist ein Modell, das aus zwei konkurrierenden Neuronalen Netzwerken besteht, und versucht neue, künstliche Daten aus einer gegebenen Verteilung zu erzeugen.
  • Der Generator Teil versucht möglichst echt wirkende Daten zu erzeugen und der Discriminator wiederum versucht diese als falsch zu klassifizieren.
  • Das Generative Adversarial Network kann beispielsweise genutzt werden um Videos oder Bilder mit schlechter Qualität zu verbessern oder zweidimensionale Zeichnung im dreidimensionalen anzuzeigen.

Andere Beiträge zum Thema Generative Adversarial Network

  • Diese Art des Modell wurde erstmals im Jahr 2014 von Ian Goodfellow und anderen wissenschaftlichen Kollegen in deren Paper „Generative Adversarial Networks“ vorgestellt.
close
Das Logo zeigt einen weißen Hintergrund den Namen "Data Basecamp" mit blauer Schrift. Im rechten unteren Eck wird eine Bergsilhouette in Blau gezeigt.

Verpass keine neuen Beiträge!

Wir versenden keinen Spam! Lies die Details gerne in unserer Datenschutzrichtlinie nach.

Cookie Consent mit Real Cookie Banner