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 Generative Adversarial Networks 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.

Das Bild zeigt die verschiedenen Machine Learning Felder im Überblick.
Verschiedene Arten von Machine Learning | Quelle: Autor

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.

Wie funktioniert das Generative Adversarial Network am Beispiel?

Das Generative Adversarial Network besteht aus zwei neuronalen Netzen: dem Generator und dem Diskriminator. Der Generator nimmt einen zufälligen Rauschvektor als Eingabe und gibt ein Bild eines Hundes aus. Der Diskriminator nimmt ein Bild als Eingabe und gibt eine Wahrscheinlichkeit aus, dass das Bild echt (d. h. aus einem Datensatz mit tatsächlichen Hundebildern) oder gefälscht (d. h. vom Generator erzeugt) ist.

Generative Adversarial Network
Beispielhaftes Datenset des Generators am Anfang des Trainings | Quelle: Autor

Während des Trainings wird der Generator darauf trainiert, Bilder zu erzeugen, die dem Diskriminator vorgaukeln, dass sie echt sind. Gleichzeitig wird der Diskriminator darauf trainiert, zwischen echten und gefälschten Bildern zu unterscheiden.

Der Trainingsprozess ist iterativ und umfasst die folgenden Schritte:

  1. Der Generator erzeugt eine Reihe von gefälschten Hundebildern mit Zufallsrauschen als Eingabe.
  2. Der Diskriminator erhält einen Stapel echter Hundebilder und den vom Generator erzeugten Stapel gefälschter Bilder und macht Vorhersagen darüber, ob jedes Bild echt oder gefälscht ist.
  3. Die Verlustfunktion wird sowohl für den Generator als auch für den Diskriminator auf der Grundlage ihrer Leistung bei diesem Stapel von Bildern berechnet.
  4. Der Generator wird aktualisiert, um seine Fähigkeit zu verbessern, Bilder zu erzeugen, die den Diskriminator täuschen.
  5. Der Diskriminator wird aktualisiert, um seine Fähigkeit zu verbessern, zwischen echten und gefälschten Bildern zu unterscheiden.
  6. Die Schritte 1-5 werden so lange wiederholt, bis der Generator in der Lage ist, realistisch aussehende Bilder von Hunden zu erzeugen.
  7. Sobald das Training abgeschlossen ist, können Sie den Generator verwenden, um neue Bilder von Hunden zu erzeugen, indem Sie einfach einen zufälligen Rauschvektor als Eingabe bereitstellen. Der Generator gibt dann ein neues, noch nie zuvor gesehenes Bild eines Hundes aus.

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.

Was sind die Grenzen von Generative Adversarial Networks?

Generative Adversarial Networks (GANs) haben im Bereich der künstlichen Intelligenz aufgrund ihrer Fähigkeit, realistische Daten zu erzeugen, große Aufmerksamkeit erregt. Wie jede andere Technologie haben jedoch auch GANs ihre Grenzen.

Eine der Hauptbeschränkungen von GANs ist ihre Instabilität während des Trainingsprozesses. GANs bestehen aus zwei neuronalen Netzen, dem Generator und dem Diskriminator. Das generierende Netz erzeugt neue Daten, während das diskriminierende Netz bewertet, wie realistisch die Daten sind. Während des Trainings konkurrieren die beiden Netze miteinander, was zu Instabilität führen kann und zur Folge hat, dass der Generator Daten von schlechter Qualität produziert oder überhaupt nicht konvergiert.

Eine weitere Einschränkung von GANs ist die Schwierigkeit, hochauflösende Bilder zu erzeugen. GANs haben oft Schwierigkeiten, qualitativ hochwertige Bilder mit einer Auflösung von 512×512 oder mehr zu erzeugen. Dies liegt daran, dass das Generatornetzwerk eine große Anzahl von Merkmalen lernen muss, um hochauflösende Bilder zu erzeugen, was eine Herausforderung darstellen kann.

GANs benötigen außerdem große Datenmengen für das Training. Das Generatornetz muss aus einem großen Datensatz lernen, um qualitativ hochwertige Daten zu erzeugen. Dies kann eine große Herausforderung darstellen, insbesondere in Fällen, in denen die Daten knapp sind oder in denen die Erzeugung neuer Daten teuer oder zeitaufwändig ist.

Darüber hinaus kann es bei GANs zu einem Modus-Kollaps kommen, bei dem der Generator eine begrenzte Anzahl von Ausgaben produziert und andere mögliche Variationen in der Datenverteilung ignoriert. Dies kann zu einem Mangel an Vielfalt in den erzeugten Daten führen.

Schließlich können GANs anfällig für Verzerrungen in den Trainingsdaten sein, was dazu führen kann, dass der Generator verzerrte oder diskriminierende Ergebnisse erzeugt. Dies ist besonders problematisch, wenn GANs in sensiblen Bereichen wie der Strafjustiz oder der Einstellungspraxis eingesetzt werden.

Zusammenfassend lässt sich sagen, dass GANs zwar bemerkenswerte Fortschritte bei der Erzeugung realistischer Daten gemacht haben, dass sie aber auch erhebliche Einschränkungen aufweisen. Wie bei jeder Technologie ist es für den verantwortungsvollen Einsatz und die Entwicklung von GANs unerlässlich, diese Grenzen zu verstehen und zu berücksichtigen.

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.
  • Trotz der Vorteile haben die Modelle jedoch auch Nachteile, da sie beispielsweise nur qualitativ schlechte Bilder erzeugen können.
Aktivierungsfunktion / Activation Function

Was ist eine Aktivierungsfunktion?

Erfahren Sie mehr über die Bausteine des Deep Learnings: Maximieren Sie die Modellleistung mit der richtigen Aktivierungsfunktion.

Regularization / Regularisierung

Was ist die Regularisierung im Machine Learning?

Regularisierung verstehen: Erfahren Sie, wie Regularisierungstechniken die Modellleistung verbessern und eine Überanpassung verhindern.

Conditional Random Field

Was ist ein Conditional Random Field (CRF)?

Entfesseln Sie die Macht der Conditional Random Fields: Entdecken Sie fortgeschrittene Techniken und Anwendungen in diesem Leitfaden.

Swarm Intelligence / Schwarmintelligenz

Was ist die Schwarmintelligenz?

Entdecken Sie die Kraft der Schwarmintelligenz - ein System, das von der kollektiven Intelligenz sozialer Lebewesen inspiriert ist.

Bias-Variance Tradeoff

Was ist der Bias-Variance Tradeoff?

Bias-Variance Tradeoff beim Machine Learning: Der Kompromiss zwischen Einfachheit und Flexibilität des Modells. Erfahren Sie mehr!

Semi-Supervised Learning

Was ist Semi-Supervised Learning?

Mehr Dateneinblicke mit Semi-Supervised Learning: Entdecken Sie, wie der hybride Ansatz mit gelabelten und nicht gelabelten Daten funktioniert.

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.
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