Generative adversarial networks (GANs) sind eine der modernen Technologien, die in vielen Anwendungsfällen ein großes Potenzial bieten, von der Erstellung Ihrer gealterten Bilder und der Verbesserung Ihrer Stimme bis hin zu verschiedenen Anwendungen in der Medizin und anderen Branchen.
Diese fortschrittliche Technologie kann Ihnen helfen, Ihre Produkte und Dienstleistungen zu gestalten. Sie kann auch eingesetzt werden, um die Bildqualität zu verbessern und Erinnerungen zu bewahren.
Während GANs für viele ein Segen sind, finden einige sie besorgniserregend.
Aber was genau ist diese Technologie?
In diesem Artikel erläutere ich, was ein GAN ist, wie es funktioniert und welche Anwendungen es gibt.
Also, lassen Sie uns gleich eintauchen!
Was ist ein Generatives Adversariales Netzwerk?
Ein Generative Adversarial Network (GAN) ist ein maschinelles Lernsystem, das aus zwei neuronalen Netzwerken besteht, die miteinander konkurrieren, um genauere Vorhersagen zu treffen, z. B. Bilder, einzigartige Musik, Zeichnungen usw.
GANs wurden im Jahr 2014 von dem Informatiker und Ingenieur Ian Goodfellow und einigen seiner Kollegen entwickelt. Es handelt sich um einzigartige tiefe neuronale Netzwerke, die in der Lage sind, neue Daten zu generieren, die den Daten ähnlich sind, auf die sie trainiert werden. Sie treten in einem Nullsummenspiel gegeneinander an, bei dem ein Agent das Spiel verliert, während der andere es gewinnt.

Ursprünglich wurden GANs als generatives Modell für das maschinelle Lernen vorgeschlagen, vor allem für das unüberwachte Lernen. Aber GANs sind auch für das vollständig überwachte Lernen, das halb-überwachte Lernen und das Verstärkungslernen hilfreich.
Die beiden konkurrierenden Blöcke in einem GAN sind:
Der Generator: Es handelt sich um ein faltbares neuronales Netzwerk, das künstlich Ausgaben erzeugt, die den tatsächlichen Daten ähneln.
Der Diskriminator: Ein dekonvolutionäres neuronales Netzwerk, das die künstlich erzeugten Ergebnisse identifizieren kann.
Wichtige Konzepte
Um das Konzept des GAN besser zu verstehen, sollten wir uns kurz mit einigen wichtigen verwandten Konzepten vertraut machen.
Maschinelles Lernen (ML)

Maschinelles Lernen ist ein Teil der künstlichen Intelligenz (KI), bei dem es um das Lernen und die Erstellung von Modellen geht, die Daten nutzen, um die Leistung und Genauigkeit bei der Ausführung von Aufgaben, Entscheidungen oder Vorhersagen zu verbessern.
ML-Algorithmen erstellen Modelle auf der Grundlage von Trainingsdaten und verbessern sich durch kontinuierliches Lernen. Sie werden in vielen Bereichen eingesetzt, z.B. in der Computer Vision, der automatisierten Entscheidungsfindung, der E-Mail-Filterung, der Medizin, dem Bankwesen, der Datenqualität, der Cybersicherheit, der Spracherkennung, den Empfehlungssystemen und vielen mehr.
Unterscheidendes Modell

Beim Deep Learning und maschinellen Lernen arbeitet das diskriminierende Modell als Klassifikator, um zwischen einer Reihe von Ebenen oder zwei Klassen zu unterscheiden.
Zum Beispiel bei der Unterscheidung zwischen verschiedenen Früchten oder Tieren.
Generatives Modell
Bei generativen Modellen werden Zufallsmuster berücksichtigt, um neue realistische Bilder zu erstellen. Es lernt von realen Bildern einiger Objekte oder Lebewesen, um seine eigenen realistischen, aber nachgeahmten Vorstellungen zu erzeugen. Diese Modelle gibt es in zwei Varianten:
Variationale Autoencoder: Sie verwenden Kodierer und Dekodierer, die separate neuronale Netzwerke sind. Dies funktioniert, weil ein gegebenes realistisches Bild einen Encoder durchläuft, der diese Bilder als Vektoren in einem latenten Raum darstellt.
Anschließend wird ein Decoder verwendet, um aus diesen Interpretationen realistische Kopien dieser Bilder zu erstellen. Anfangs könnte die Bildqualität gering sein, aber sie wird sich verbessern, wenn der Decoder voll funktionsfähig ist, und Sie können den Encoder außer Acht lassen.
Generative adversarial networks (GANs): Wie bereits erwähnt, handelt es sich bei einem GAN um ein tiefes neuronales Netzwerk, das in der Lage ist, aus den ihm zur Verfügung gestellten Daten neue, ähnliche Daten zu generieren. Es gehört zum unbeaufsichtigten maschinellen Lernen, einer der Arten des maschinellen Lernens, die weiter unten behandelt werden.
Überwachtes Lernen

Beim überwachten Training wird eine Maschine mit gut beschrifteten Daten trainiert. Das bedeutet, dass einige Daten bereits mit der richtigen Antwort versehen sind. Hier werden der Maschine einige Daten oder Beispiele gegeben, damit der Algorithmus des überwachten Lernens die Trainingsdaten analysieren und ein genaues Ergebnis aus diesen markierten Daten erzeugen kann.
Unüberwachtes Lernen
Beim unüberwachten Lernen wird eine Maschine mit Hilfe von Daten trainiert, die weder beschriftet noch klassifiziert sind. Der Algorithmus für maschinelles Lernen kann mit diesen Daten ohne Anleitung arbeiten. Bei dieser Art des Lernens besteht die Aufgabe der Maschine darin, unsortierte Daten auf der Grundlage von Mustern, Ähnlichkeiten und Unterschieden zu kategorisieren, ohne dass zuvor Daten trainiert wurden.
GANs werden also mit der Durchführung von unüberwachtem Lernen in der ML in Verbindung gebracht. Es verfügt über zwei Modelle, die automatisch die Muster aus den Eingabedaten aufdecken und lernen können. Diese beiden Modelle sind Generator und Diskriminator.
Lassen Sie uns diese ein wenig besser verstehen.
Teile eines GANs
Der Begriff “gegnerisch” ist im GAN enthalten, weil er aus zwei Teilen besteht – Generator und Nenner, die miteinander konkurrieren. Dies geschieht, um Datenvariationen in einem Datensatz zu erfassen, zu untersuchen und zu replizieren. Lassen Sie uns diese beiden Teile eines GANs besser verstehen.
Generator

Ein Generator ist ein neuronales Netzwerk, das in der Lage ist, zu lernen und gefälschte Datenpunkte wie Bilder und Audio zu erzeugen, die realistisch aussehen. Er wird beim Training verwendet und wird durch kontinuierliches Lernen immer besser.
Die vom Generator erzeugten Daten werden als Negativbeispiel für den anderen Teil verwendet – den Nenner, den wir als nächstes sehen werden. Der Generator nimmt einen zufälligen Vektor fester Länge als Eingabe, um eine Beispielausgabe zu erzeugen. Ziel ist es, die Ausgabe dem Diskriminator vorzulegen, damit dieser klassifizieren kann, ob sie echt oder gefälscht ist.
Der Generator wird mit diesen Komponenten trainiert:
- Verrauschte Eingangsvektoren
- Ein Generator-Netzwerk zur Umwandlung einer zufälligen Eingabe in die Dateninstanz
- Ein Diskriminator-Netzwerk, um die generierten Daten zu klassifizieren
- Ein Generatorverlust, um den Generator zu bestrafen, wenn er den Diskriminator nicht täuschen kann
Der Generator arbeitet wie ein Dieb, um realistische Daten zu replizieren und zu erzeugen, um den Diskriminator zu täuschen. Er zielt darauf ab, mehrere durchgeführte Prüfungen zu umgehen. Obwohl er in der Anfangsphase schwer versagen kann, wird er immer besser, bis er mehrere realistische, hochwertige Daten erzeugt und die Tests umgehen kann. Sobald diese Fähigkeit erreicht ist, können Sie nur noch den Generator verwenden, ohne einen separaten Diskriminator zu benötigen.
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 er in der Trainingsphase eine wichtige Rolle.
Er agiert wie die Polizei, um den Dieb zu fangen (gefälschte Daten durch den Generator). Sein Ziel ist es, falsche Bilder und Anomalien in einer Dateninstanz zu erkennen.
Wie bereits erwähnt, lernt der Generator und verbessert sich ständig, um einen Punkt zu erreichen, an dem er selbstständig hochwertige Bilder erzeugt, die keinen Diskriminator benötigen. Wenn die hochwertigen Daten des Generators durch den Diskriminator laufen, kann dieser nicht mehr zwischen einem echten und einem gefälschten Bild unterscheiden. Sie können also mit dem Generator allein weitermachen.
Wie funktioniert ein GAN?
Bei einem generativen kontradiktorischen Netzwerk (GAN) sind drei Dinge beteiligt:
- Ein generatives Modell, das die Art und Weise beschreibt, wie die Daten erzeugt werden.
- Eine gegnerische Umgebung, in der ein Modell trainiert wird.
- Tiefe neuronale Netzwerke als KI-Algorithmen für das Training.
Die beiden neuronalen Netzwerke des GAN – Generator und Diskriminator – werden eingesetzt, um ein gegnerisches Spiel zu spielen. Der Generator nimmt die Eingabedaten, z.B. Audiodateien, Bilder usw., um eine ähnliche Dateninstanz zu erzeugen, während der Diskriminator die Authentizität dieser Dateninstanz überprüft. Letzterer bestimmt, ob die Dateninstanz, die er überprüft hat, echt ist oder nicht.

Sie möchten zum Beispiel überprüfen, ob ein bestimmtes Bild echt oder gefälscht ist. Sie können den Generator mit handgenerierten Daten füttern. Der Generator erstellt neue, replizierte Bilder als Ausgabe.
Dabei zielt der Generator darauf ab, dass alle Bilder, die er erzeugt, als authentisch angesehen werden, obwohl sie gefälscht sind. Er will passable Ergebnisse erzeugen, um zu lügen und nicht erwischt zu werden.
Anschließend wird diese Ausgabe zusammen mit einer Reihe von Bildern aus echten Daten an den Diskriminator weitergeleitet, um zu erkennen, ob diese Bilder authentisch sind oder nicht. Es wirkt sich nachteilig auf den Generator aus, egal wie sehr er versucht, zu imitieren; der Diskriminator hilft dabei, echte Daten von gefälschten zu unterscheiden.
Der Diskriminator nimmt sowohl gefälschte als auch echte Daten und liefert eine Wahrscheinlichkeit von 0 oder 1. Dabei steht die 1 für Echtheit und die 0 für Fälschung.
In diesem Prozess gibt es zwei Rückkopplungsschleifen:
- Der Generator schließt sich einer Rückkopplungsschleife mit einem Diskriminator an
- Der Diskriminator schließt sich einer weiteren Rückkopplungsschleife mit einer Reihe von echten Bildern an
Ein GAN-Training funktioniert, weil sich sowohl der Generator als auch der Diskriminator im Training befinden. Der Generator lernt ständig, indem er falsche Eingaben weitergibt, während der Diskriminator lernt, um die Erkennung zu verbessern. Hier sind beide dynamisch.
Der Diskriminator ist ein Faltungsnetzwerk, das die ihm zugeführten Bilder kategorisieren kann. Er arbeitet wie ein binomischer Klassifikator, der Bilder als echt oder gefälscht einstuft.
Der Generator hingegen ist wie ein inverses Faltungsnetzwerk, das zufällige Datenproben nimmt, um Bilder zu erzeugen. Der Diskriminator verifiziert die Daten jedoch mit Hilfe von Downsampling-Techniken wie Max-Pooling.
Beide Netzwerke versuchen, eine entgegengesetzte und unterschiedliche Verlust- oder Zielfunktion in einem gegnerischen Spiel zu optimieren. Ihre Verluste ermöglichen es ihnen, noch härter gegeneinander vorzugehen.
Arten von GANs

Generative adversarische Netzwerke gibt es je nach Implementierung in verschiedenen Typen. Hier sind die wichtigsten aktiv genutzten GAN-Typen:
- Bedingtes GAN (CGAN): Hierbei handelt es sich um eine Deep Learning-Technik, die spezifische bedingte Parameter zur Unterscheidung zwischen echten und gefälschten Daten verwendet. Außerdem enthält sie einen zusätzlichen Parameter – “y” – in der Generatorphase, um entsprechende Daten zu erzeugen. Außerdem werden dieser Eingabe Etiketten hinzugefügt und an den Diskriminator weitergeleitet, damit dieser überprüfen kann, ob es sich um echte oder gefälschte Daten handelt.
- Vanilla GAN: Es handelt sich um einen einfachen GAN-Typ, bei dem der Diskriminator und der Generator einfachere und mehrschichtige Perceptrons sind. Seine Algorithmen sind einfach und optimieren die mathematische Gleichung mit Hilfe des stochastischen Gradientenabstiegs.
- Deep Convolutional GAN (DCGAN): Es ist beliebt und gilt als die erfolgreichste GAN-Implementierung. DCGAN besteht aus ConvNets und nicht aus mehrschichtigen Perceptrons. Diese ConvNets werden ohne Techniken wie Max-Pooling oder die vollständige Verbindung der Schichten angewendet.
- Super Resolution GAN (SRGAN): Hierbei handelt es sich um eine GAN-Implementierung, die ein tiefes neuronales Netzwerk zusammen mit einem gegnerischen Netzwerk verwendet, um Bilder von hoher Qualität zu erzeugen. SRGAN ist besonders nützlich bei der effizienten Hochskalierung von Originalbildern mit niedriger Auflösung, so dass deren Details verbessert und Fehler minimiert werden.
- Laplacian Pyramid GAN (LAPGAN): Es handelt sich um eine invertierbare und lineare Darstellung, die mehrere Bandpass-Bilder umfasst, die mit Residuen niedriger Frequenzen in acht Abständen angeordnet sind. LAPGAN verwendet mehrere Diskriminator- und Generator-Netzwerke und mehrere Laplacian-Pyramiden-Ebenen.
LAPGAN wird häufig verwendet, da es eine erstklassige Bildqualität liefert. Diese Bilder werden zunächst auf jeder Pyramidenebene heruntergerechnet und dann auf jeder Ebene hochskaliert, wobei die Ideen mit etwas Rauschen versehen werden, bis sie die ursprüngliche Größe erreichen.
Anwendungen von GANs
Generative adversarische Netzwerke werden in verschiedenen Bereichen eingesetzt, wie z.B.:
Wissenschaft

GANs können eine genaue und schnellere Methode zur Modellierung der Bildung von Hochenergie-Jets und zur Durchführung von physikalischen Experimenten bieten. Diese Netze können auch trainiert werden, um Engpässe bei der Durchführung von Simulationen für die Teilchenphysik abzuschätzen, die viele Ressourcen verbrauchen.
GANs können die Simulation beschleunigen und die Simulationstreue verbessern. Darüber hinaus können GANs bei der Erforschung dunkler Materie helfen, indem sie Gravitationslinsen simulieren und astronomische Bilder verbessern.
Videospiele

Auch in der Welt der Videospiele werden GANs eingesetzt, um niedrig aufgelöste 2-dimensionale Daten, die in älteren Videospielen verwendet werden, hochzuskalieren. Es hilft Ihnen, solche Daten durch Bildtraining in 4k oder noch höhere Auflösungen umzuwandeln. Anschließend können Sie die Daten oder Bilder herunterrechnen, damit sie für die tatsächliche Auflösung des Videospiels geeignet sind.
Trainieren Sie Ihre GAN-Modelle richtig. Sie können schärfere und klarere 2D-Bilder von beeindruckender Qualität im Vergleich zu den nativen Daten liefern und gleichzeitig die Details des realen Bildes, wie z.B. die Farben, beibehalten.
Zu den Videospielen, die GANs genutzt haben, gehören Resident Evil Remake, Final Fantasy VIII und IX und viele mehr.
Kunst und Mode
Sie können GANs verwenden, um Kunst zu generieren, z.B. um Bilder von Personen zu erstellen, die nie existiert haben, In-Paint-Fotos zu erstellen, Bilder von unwirklichen Modemodellen zu produzieren und vieles mehr. Es wird auch in Zeichnungen verwendet, um virtuelle Schatten und Skizzen zu erzeugen.
Werbung

Wenn Sie GANs für die Erstellung und Produktion Ihrer Anzeigen verwenden, sparen Sie Zeit und Ressourcen. Wenn Sie z.B. Ihren Schmuck verkaufen wollen, können Sie mit Hilfe von GANs ein imaginäres Modell erstellen, das wie ein echter Mensch aussieht.
Auf diese Weise können Sie das Modell Ihren Schmuck tragen lassen und ihn Ihren Kunden vorführen. Das erspart Ihnen die Anstellung eines Models und die damit verbundenen Kosten. Sie können sogar die zusätzlichen Kosten für den Transport, die Anmietung eines Studios, die Vermittlung von Fotografen, Visagisten usw. einsparen.
Dies ist eine große Hilfe, wenn Sie ein wachsendes Unternehmen sind und es sich nicht leisten können, ein Model einzustellen oder eine Infrastruktur für Werbeaufnahmen zu unterhalten.
Audio-Synthese
Mit Hilfe von GANs können Sie Audiodateien aus einer Reihe von Audioclips erstellen. Dies wird auch als generatives Audio bezeichnet. Bitte verwechseln Sie dies nicht mit Amazon Alexa, Apple Siri oder anderen KI-Stimmen, bei denen Stimmfragmente gut zusammengesetzt und bei Bedarf produziert werden.
Stattdessen werden bei generativem Audio neuronale Netzwerke verwendet, um die statistischen Eigenschaften einer Audioquelle zu untersuchen. Anschließend werden diese Eigenschaften in einem bestimmten Kontext direkt reproduziert. Hier stellt die Modellierung die Art und Weise dar, wie sich Sprache nach jeder Millisekunde verändert.
Transfer-Lernen

Fortgeschrittene Studien zum Transfer-Lernen nutzen GANs, um die neuesten Merkmalsräume wie beim Deep Reinforcement Learning abzugleichen. Dazu werden die Einbettungen der Quelle und die angestrebte Aufgabe an den Diskriminator weitergeleitet, um den Kontext zu bestimmen. Anschließend wird das Ergebnis über den Kodierer zurückvermittelt. Auf diese Weise lernt das Modell ständig weiter.
Andere Anwendungen von GANs umfassen:
- Diagnose von vollständigem oder teilweisem Sehverlust durch Erkennung von Glaukombildern
- Visualisierung von Industriedesign, Innenarchitektur, Kleidungsstücken, Schuhen, Taschen und mehr
- rekonstruktion der forensischen Gesichtszüge einer erkrankten Person
- 3D-Modelle eines Gegenstands aus einem Bild erstellen, neue Objekte als 3D-Punktwolke erzeugen, Bewegungsmuster in einem Video modellieren
- Das Aussehen einer Person mit wechselndem Alter darstellen
- Datenerweiterung wie z.B. Verbesserung des DNN-Klassifikators
- Ein fehlendes Merkmal in einer Karte ausbessern, Straßenansichten verbessern, Mapping-Stile übertragen und mehr
- Erzeugen von Bildern, Ersetzen eines Bildsuchsystems, usw.
- Generierung von Steuereingaben für ein nichtlineares dynamisches System mit Hilfe einer GAN-Variante
- Analysieren Sie die Auswirkungen von Klimaveränderungen auf ein Haus
- Erzeugen Sie das Gesicht einer Person, indem Sie ihre Stimme als Eingabe verwenden
- Erstellen Sie neue Moleküle für verschiedene Proteinziele bei Krebs, Fibrose und Entzündungen
- Animieren von Gifs aus einem normalen Bild
Es gibt noch viele weitere Anwendungen von GANs in verschiedenen Bereichen, und ihr Einsatz wird immer umfangreicher. Allerdings gibt es auch zahlreiche Fälle von Missbrauch. GAN-basierte menschliche Bilder wurden für unheilvolle Zwecke verwendet, z.B. um gefälschte Videos und Bilder zu produzieren.
GANs können auch dazu verwendet werden, realistische Fotos und Profile von Menschen in sozialen Medien zu erstellen, die nie auf der Erde existiert haben. Andere besorgniserregende Missbräuche von GNAs sind die Erstellung gefälschter Pornografie ohne die Zustimmung der abgebildeten Personen, die Verbreitung gefälschter Videos von politischen Kandidaten usw.
Obwohl GNAs in vielen Bereichen ein Segen sein können, kann ihr Missbrauch auch katastrophal sein. Daher müssen angemessene Richtlinien für ihre Verwendung durchgesetzt werden.
Fazit
GANs sind ein bemerkenswertes Beispiel für moderne Technologie. Sie bieten eine einzigartige und bessere Möglichkeit, Daten zu generieren und Funktionen wie visuelle Diagnose, Bildsynthese, Forschung, Datenerweiterung, Kunst und Wissenschaft und vieles mehr zu unterstützen.
Vielleicht interessieren Sie sich auch für Low-Code- und No-Code-Plattformen für maschinelles Lernenzur Entwicklung innovativer Anwendungen.