Generative Adversarial Networks (GAN): Eine Einführung

Generative Adversarial Networks (GANs), oder auf Deutsch etwa „Generative gegnerische Netzwerke“, stellen eine bahnbrechende Technologie dar, die in vielfältigen Bereichen Anwendung findet. Sie reichen von der Erstellung gealterter Porträts und der Verbesserung von Sprachqualität bis hin zu komplexen Anwendungen in der Medizin und anderen Industrien.

Diese hochentwickelte Technologie kann bei der Gestaltung von Produkten und Dienstleistungen behilflich sein. Darüber hinaus lassen sich mit ihrer Hilfe die Qualität von Bildern optimieren und so wertvolle Erinnerungen bewahren.

Obwohl GANs für viele als Fortschritt gelten, sehen einige darin auch Anlass zur Sorge.

Doch was verbirgt sich eigentlich hinter dieser Technologie?

Im Folgenden wird erläutert, was ein GAN ist, wie es funktioniert und welche vielfältigen Einsatzmöglichkeiten es gibt.

Beginnen wir direkt mit der Materie!

Was genau ist ein Generative Adversarial Network?

Ein Generative Adversarial Network (GAN) ist ein Framework im Bereich des maschinellen Lernens. Es besteht aus zwei miteinander konkurrierenden neuronalen Netzen, deren Ziel es ist, präzisere Vorhersagen zu treffen. Dies kann in Form von Bildern, origineller Musik, Zeichnungen usw. geschehen.

GANs wurden 2014 von dem Informatiker und Ingenieur Ian Goodfellow zusammen mit einigen seiner Kollegen entwickelt. Es handelt sich um einzigartige tiefe neuronale Netze, die in der Lage sind, neue Daten zu generieren, die den Trainingsdaten ähneln. Sie konkurrieren in einem Nullsummenspiel, bei dem der Gewinn des einen Netzwerks den Verlust des anderen bedeutet.

Ursprünglich waren GANs als generatives Modell für maschinelles Lernen, insbesondere für unüberwachtes Lernen, gedacht. Allerdings finden sie auch bei überwachtem Lernen, halbüberwachtem Lernen und bestärkendem Lernen Anwendung.

Die zwei konkurrierenden Komponenten eines GAN sind:

Der Generator: Ein konvolutionelles neuronales Netzwerk, das künstliche Ausgaben erzeugt, welche den realen Daten ähneln.

Der Diskriminator: Ein dekonvolutionelles neuronales Netzwerk, dessen Aufgabe es ist, die künstlich erzeugten Ausgaben zu identifizieren.

Wichtige Grundkonzepte

Um das Konzept von GANs besser zu verstehen, ist es sinnvoll, einige wichtige verwandte Konzepte kurz zu beleuchten.

Maschinelles Lernen (ML)

Maschinelles Lernen ist ein Teilbereich der künstlichen Intelligenz (KI). Es befasst sich mit dem Lernen und der Erstellung von Modellen, die anhand von Daten ihre Leistung und Genauigkeit bei der Bearbeitung von Aufgaben oder dem Treffen von Entscheidungen oder Vorhersagen verbessern.

ML-Algorithmen entwickeln Modelle basierend auf Trainingsdaten und verbessern sich durch kontinuierliches Lernen. Sie finden in zahlreichen Bereichen Anwendung, darunter Computer Vision, automatisierte Entscheidungsfindung, E-Mail-Filterung, Medizin, Bankwesen, Datenqualität, Cybersicherheit, Spracherkennung, Empfehlungssysteme und viele weitere.

Diskriminatives Modell

In Deep Learning und maschinellem Lernen fungiert das diskriminative Modell als Klassifikator, um zwischen verschiedenen Ebenen oder zwei Klassen zu unterscheiden.

Beispielsweise kann es zwischen verschiedenen Früchten oder Tierarten unterscheiden.

Generatives Modell

Generative Modelle erzeugen neue, realistische Bilder durch das Lernen aus Stichproben. Sie eignen sich reale Abbildungen von Objekten oder Lebewesen an, um eigene, realistische, aber nachgeahmte Ideen zu entwickeln. Diese Modelle lassen sich in zwei Kategorien einteilen:

Variationelle Autoencoder: Sie verwenden Encoder und Decoder, die separate neuronale Netze darstellen. Ein realistisches Bild durchläuft einen Encoder, um die Bilder als Vektoren in einem latenten Raum darzustellen.

Anschließend verwendet ein Decoder diese Interpretationen, um realistische Kopien der Bilder zu erzeugen. Anfänglich kann die Bildqualität gering sein, sie verbessert sich jedoch, sobald der Decoder vollständig funktioniert. Dann kann der Encoder ignoriert werden.

Generative Adversarial Networks (GANs): Wie bereits erläutert, ist ein GAN ein tiefes neuronales Netzwerk, das in der Lage ist, neue, ähnliche Daten aus den ihm zur Verfügung gestellten Daten zu generieren. Es fällt unter unüberwachtes maschinelles Lernen, eine der nachfolgend erläuterten Formen des maschinellen Lernens.

Überwachtes Lernen

Beim überwachten Training wird eine Maschine mit gut gekennzeichneten Daten trainiert. Das bedeutet, dass bestimmte Daten bereits mit der korrekten Antwort versehen sind. Die Maschine erhält hierbei Daten oder Beispiele, sodass der überwachte Lernalgorithmus die Trainingsdaten analysieren und auf der Grundlage dieser gekennzeichneten Daten ein genaues Ergebnis generieren kann.

Unbeaufsichtigtes Lernen

Beim unüberwachten Lernen wird eine Maschine mit Daten trainiert, die weder gekennzeichnet noch klassifiziert sind. Dies ermöglicht dem Algorithmus für maschinelles Lernen, diese Daten ohne Anleitung zu bearbeiten. Bei dieser Lernart besteht die Aufgabe der Maschine darin, unsortierte Daten anhand von Mustern, Ähnlichkeiten und Unterschieden ohne vorheriges Datentraining zu kategorisieren.

GANs sind mit der Durchführung von unüberwachtem Lernen in ML verbunden. Sie verfügen über zwei Modelle, die Muster aus Eingabedaten automatisch erkennen und lernen können. Diese beiden Modelle sind Generator und Diskriminator.

Lassen Sie uns sie etwas detaillierter betrachten.

Bestandteile eines GAN

Der Begriff „Gegner“ im Namen GAN rührt daher, dass es aus zwei Teilen besteht: dem konkurrierenden Generator und dem konkurrierenden Diskriminator. Dies dient dazu, Datenvariationen in einem Datensatz zu erfassen, zu analysieren und zu replizieren. Betrachten wir diese beiden Bestandteile eines GAN genauer.

Generator

Ein Generator ist ein neuronales Netzwerk, das lernen kann, gefälschte Datenpunkte zu erzeugen, z. B. Bilder und Audio, die realistisch aussehen. Es wird im Training eingesetzt und verbessert sich durch kontinuierliches Lernen.

Die vom Generator erzeugten Daten dienen als negatives Beispiel für den anderen Bestandteil – den Diskriminator, den wir uns als Nächstes ansehen werden. Der Generator nimmt einen Zufallsvektor fester Länge als Eingabe, um eine Stichprobenausgabe zu erzeugen. Er zielt darauf ab, die Ausgabe dem Diskriminator so zu präsentieren, dass dieser klassifizieren kann, ob sie echt oder gefälscht ist.

Mit diesen Komponenten wird der Generator trainiert:

  • Verrauschte Eingabevektoren
  • Ein Generatornetzwerk, um eine zufällige Eingabe in eine Dateninstanz umzuwandeln
  • Ein Diskriminatornetzwerk zur Klassifizierung der generierten Daten
  • Ein Generatorverlust, um den Generator zu bestrafen, wenn er den Diskriminator nicht täuschen kann

Der Generator fungiert wie ein Dieb, der versucht, realistische Daten zu replizieren und zu erstellen, um den Diskriminator zu täuschen. Er zielt darauf ab, diverse Überprüfungen zu umgehen. Obwohl er in der Anfangsphase schwer scheitern kann, verbessert er sich immer weiter, bis er mehrere realistische Daten von hoher Qualität generiert und die Tests vermeiden kann. Nachdem diese Fähigkeit erreicht ist, kann man nur den Generator verwenden, ohne dass ein separater Diskriminator erforderlich ist.

Diskriminator

Ein Diskriminator ist ebenfalls ein neuronales Netzwerk, das zwischen einem gefälschten und einem echten Bild oder anderen Datentypen unterscheiden kann. Wie der Generator spielt es während der Trainingsphase eine entscheidende Rolle.

Er fungiert wie die Polizei, um den Dieb zu fangen (gefälschte Daten durch den Generator). Er zielt darauf ab, falsche Bilder und Anomalien in einer Dateninstanz zu erkennen.

Wie bereits erwähnt, lernt der Generator und verbessert sich kontinuierlich, bis er einen Punkt erreicht, an dem er selbständig hochwertige Bilder erzeugt, für die kein Diskriminator erforderlich ist. Werden die hochwertigen Daten des Generators durch den Diskriminator geleitet, kann dieser nicht mehr zwischen echtem und gefälschtem Bild unterscheiden. An diesem Punkt ist es möglich, nur mit dem Generator zu arbeiten.

Wie funktioniert ein GAN?

Ein Generative Adversarial Network (GAN) basiert auf drei wesentlichen Elementen:

  • Ein generatives Modell, das beschreibt, wie Daten erzeugt werden.
  • Eine gegnerische Umgebung, in der ein Modell trainiert wird.
  • Tiefe neuronale Netze als KI-Algorithmen für das Training.

Die beiden neuronalen Netze eines GAN – Generator und Diskriminator – spielen ein gegnerisches Spiel. Der Generator verwendet die Eingabedaten, wie z. B. Audiodateien, Bilder usw., um eine ähnliche Dateninstanz zu erzeugen, während der Diskriminator die Authentizität dieser Dateninstanz validiert. Letzterer entscheidet, ob die überprüfte Dateninstanz echt ist oder nicht.

Um beispielsweise zu überprüfen, ob ein bestimmtes Bild echt oder gefälscht ist, können manuell generierte Dateneingaben verwendet werden, um den Generator zu füttern. Als Ausgabe werden neue, replizierte Bilder erstellt.

Dabei zielt der Generator darauf ab, dass alle von ihm generierten Bilder als authentisch angesehen werden, obwohl sie gefälscht sind. Er möchte akzeptable Ergebnisse erzielen, um zu täuschen und nicht erwischt zu werden.

Anschließend wird diese Ausgabe zusammen mit einer Reihe von Bildern aus realen Daten an den Diskriminator weitergeleitet, um festzustellen, ob diese Bilder authentisch sind oder nicht. Dies wirkt sich negativ auf den Generator aus, egal wie sehr dieser versucht, ihn nachzuahmen; der Diskriminator hilft, tatsächliche Daten von gefälschten zu unterscheiden.

Der Diskriminator verwendet sowohl gefälschte als auch echte Daten, um eine Wahrscheinlichkeit von 0 oder 1 zurückzugeben. Hier steht 1 für Authentizität, während 0 für Fälschung steht.

In diesem Prozess gibt es zwei Rückkopplungsschleifen:

  • Der Generator verbindet eine Rückkopplungsschleife mit einem Diskriminator.
  • Der Diskriminator schließt sich einer weiteren Rückkopplungsschleife mit einem Satz realer Bilder an.

Ein GAN-Training ist effektiv, da sowohl Generator als auch Diskriminator trainiert werden. Der Generator lernt kontinuierlich, indem er falsche Eingaben weiterleitet, während der Diskriminator lernt, die Erkennung zu verbessern. Hier sind beide dynamisch.

Der Diskriminator ist ein Faltungsnetzwerk, das in der Lage ist, die ihm zugeführten Bilder zu kategorisieren. Er fungiert als binomialer Klassifikator, um Bilder als gefälscht oder echt zu kennzeichnen.

Andererseits ist der Generator wie ein inverses Faltungsnetzwerk, das zufällige Datenproben nimmt, um Bilder zu erzeugen. Der Diskriminator verifiziert Daten mit Downsampling-Techniken wie Max-Pooling.

Beide Netzwerke versuchen, eine gegensätzliche und unterschiedliche Verlust- oder Zielfunktion in einem kontradiktorischen Spiel zu optimieren. Ihre Verluste ermöglichen es ihnen, noch stärker gegeneinander vorzugehen.

Arten von GANs

Generative Adversarial Networks weisen je nach Implementierung Unterschiede auf. Hier sind die wichtigsten, aktuell verwendeten GAN-Typen:

  • Bedingtes GAN (CGAN): Es handelt sich um eine Deep-Learning-Technik, die spezifische bedingte Parameter umfasst, um die Unterscheidung zwischen echten und gefälschten Daten zu erleichtern. Es enthält auch einen zusätzlichen Parameter – „y“ in der Generatorphase, um entsprechende Daten zu erzeugen. Außerdem werden dieser Eingabe Labels hinzugefügt und dem Diskriminator zugeführt, damit er überprüfen kann, ob die Daten echt oder gefälscht sind.
  • Vanilla GAN: Ein einfacher GAN-Typ, bei dem der Diskriminator und der Generator einfacher aufgebaute, mehrschichtige Perceptrons sind. Seine Algorithmen sind einfach und optimieren die mathematische Gleichung mithilfe des stochastischen Gradientenabstiegs.
  • Deep Convolutional GAN ​​(DCGAN): Beliebt und als erfolgreichste GAN-Implementierung angesehen. DCGAN besteht eher aus ConvNets als aus mehrschichtigen Perceptrons. Diese ConvNets werden angewendet, ohne Techniken wie Max-Pooling oder vollständiges Verbinden der Schichten zu verwenden.
  • Super Resolution GAN (SRGAN): Diese GAN-Implementierung verwendet neben einem gegnerischen Netzwerk ein tiefes neuronales Netzwerk, um qualitativ hochwertige Bilder zu erzeugen. SRGAN ist besonders nützlich, um Originalbilder mit niedriger Auflösung effizient hochzuskalieren, sodass ihre Details verbessert und Fehler minimiert werden.
  • Laplace-Pyramiden-GAN (LAPGAN): Eine invertierbare und lineare Darstellung, die mehrere Bandpassbilder enthält, die in acht Zwischenräumen mit niederfrequenten Resten angeordnet sind. LAPGAN verwendet mehrere Diskriminator- und Generatornetzwerke und mehrere Ebenen der Laplace-Pyramide.

LAPGAN ist weit verbreitet, da es eine erstklassige Bildqualität erzeugt. Diese Bilder werden zunächst auf jeder Pyramidenebene herunterskaliert und anschließend auf jeder Ebene wieder hochskaliert, wobei die Ideen mit etwas Rauschen versehen werden, bis sie ihre ursprüngliche Größe erreichen.

Anwendungsbereiche von GANs

Generative Adversarial Networks finden in verschiedenen Bereichen Anwendung, unter anderem:

Wissenschaft

GANs können eine genauere und schnellere Methode zur Modellierung der Bildung von Hochenergiestrahlen und zur Durchführung physikalischer Experimente bieten. Diese Netzwerke können auch trainiert werden, um Engpässe bei der Durchführung von Simulationen für die Teilchenphysik abzuschätzen, die große Ressourcen verbrauchen.

GANs können die Simulation beschleunigen und ihre Qualität verbessern. Darüber hinaus können GANs helfen, dunkle Materie zu untersuchen, indem sie Gravitationslinsen simulieren und astronomische Bilder verbessern.

Videospiele

Die Videospielbranche nutzt GANs ebenfalls, um zweidimensionale Daten mit niedriger Auflösung aus älteren Videospielen hochzuskalieren. Sie helfen, solche Daten mithilfe von Bildtraining in 4K- oder sogar noch höhere Auflösungen neu zu erstellen. Anschließend kann man die Daten oder Bilder herunterrechnen, damit sie für die tatsächliche Auflösung des Videospiels geeignet sind.

Mit einer entsprechenden Schulung können GAN-Modelle schärfere und klarere 2D-Bilder von beachtlicher Qualität liefern, wobei die Details des Originalbildes, wie z. B. Farben, erhalten bleiben.

Zu den Videospielen, die GANs nutzen, gehören Resident Evil Remake, Final Fantasy VIII und IX und mehr.

Kunst und Mode

GANs können zur Erzeugung von Kunstwerken eingesetzt werden, beispielsweise um Bilder von Personen zu erstellen, die nie existiert haben, In-Paint-Fotografien, Bilder von unrealistischen Models zu erstellen und vieles mehr. Sie werden auch in Zeichnungen verwendet, die virtuelle Schatten und Skizzen erzeugen.

Werbung

Der Einsatz von GANs zur Erstellung und Produktion von Werbeanzeigen spart Zeit und Ressourcen. Wie bereits dargestellt, kann man, wenn man Schmuck verkaufen möchte, mithilfe von GAN ein imaginäres Model erschaffen, das wie ein echter Mensch aussieht.

So kann man das Model dazu bringen, den Schmuck zu tragen und ihn den Kunden zu präsentieren. Man spart sich das Anheuern und Bezahlen eines Models. Zusätzliche Ausgaben wie Transportkosten, Studioanmietung, Fotografen, Maskenbildner usw. können vermieden werden.

Dies ist besonders hilfreich für wachsende Unternehmen, die es sich nicht leisten können, ein Model einzustellen oder eine Infrastruktur für Werbeaufnahmen aufzubauen.

Audiosynthese

Mithilfe von GANs können Audiodateien aus einer Reihe von Audioclips generiert werden. Dies wird auch als generatives Audio bezeichnet. Es sollte jedoch nicht mit Amazon Alexa, Apple Siri oder anderen KI-Stimmen verwechselt werden, bei denen Sprachfragmente passend zusammengesetzt und bei Bedarf produziert werden.

Stattdessen verwendet generatives Audio neuronale Netze, um die statistischen Eigenschaften einer Audioquelle zu analysieren. Anschließend werden diese Eigenschaften in einem bestimmten Kontext direkt reproduziert. Hierbei modelliert die Methode, wie sich die Sprache nach jeder Millisekunde verändert.

Transferlernen

Fortschrittliche Studien zum Transferlernen nutzen GANs, um die neuesten Funktionsräume wie Deep Reinforcement Learning auszurichten. Dazu werden die Einbettungen der Quelle und der Zielaufgabe dem Diskriminator zugeführt, um den Kontext zu bestimmen. Anschließend wird das Ergebnis über den Encoder zurückpropagiert. Auf diese Weise lernt das Modell kontinuierlich weiter.

Weitere Anwendungsbereiche von GANs:

  • Diagnose von teilweisem oder vollständigem Sehverlust durch Erkennung von Glaukom-Bildern
  • Visualisierung von Industriedesign, Innenarchitektur, Kleidungsstücken, Schuhen, Taschen usw.
  • Rekonstruktion forensischer Gesichtszüge einer erkrankten Person
  • Erstellung von 3D-Modellen eines Objekts aus einem Bild, Erzeugung neuer Objekte als 3D-Punktwolke, Modellierung von Bewegungsmustern in einem Video
  • Präsentation des Aussehens einer Person in verschiedenen Altersstufen
  • Datenerweiterung wie z. B. die Erweiterung des DNN-Klassifikators
  • Einzeichnen einer fehlenden Funktion in eine Karte, Verbesserung von Straßenansichten, Übertragung von Kartenstilen und vieles mehr
  • Produktion von Bildern, Ersetzung eines Bildsuchsystems usw.
  • Generierung von Steuereingaben für ein nichtlineares dynamisches System mithilfe einer GAN-Variation
  • Analyse der Auswirkungen des Klimawandels auf ein Haus
  • Erstellung des Gesichts einer Person mit ihrer Stimme als Eingabe
  • Erstellung neuer Moleküle für verschiedene Proteinziele bei Krebs, Fibrose und Entzündungen
  • Animation von GIFs aus einem normalen Bild

Es gibt viele weitere Anwendungsmöglichkeiten für GANs in verschiedenen Bereichen, und ihre Verwendung nimmt stetig zu. Es gibt jedoch auch einige Fälle von Missbrauch. GAN-basierte Bilder von Menschen wurden für fragwürdige Zwecke wie die Erstellung gefälschter Videos und Bilder verwendet.

GANs können auch verwendet werden, um realistische Fotos und Profile von Personen in sozialen Medien zu erstellen, die es in Wirklichkeit nicht gibt. Weitere besorgniserregende Missbrauchsfälle von GANs sind die Erstellung gefälschter Pornografie ohne Zustimmung der abgebildeten Personen, die Verbreitung gefälschter Videos von politischen Kandidaten usw.

Obwohl GANs in vielen Bereichen von großem Nutzen sein können, kann ihr Missbrauch auch verheerende Folgen haben. Daher müssen angemessene Richtlinien für ihre Verwendung durchgesetzt werden.

Fazit

GANs stellen ein bemerkenswertes Beispiel für moderne Technologie dar. Sie bieten eine einzigartige und bessere Möglichkeit, Daten zu generieren und Funktionen wie visuelle Diagnose, Bildsynthese, Forschung, Datenerweiterung, Kunst, Wissenschaft und vieles mehr zu unterstützen.

Möglicherweise interessieren Sie sich auch für Low-Code- und No-Code-Plattformen für maschinelles Lernen zur Entwicklung innovativer Anwendungen.