Was sind GANs? Wie und warum sollten Sie sie verwenden!



Dieser Artikel behandelt die ausführliche Erläuterung von 'Was sind GANs?' Mit Einschränkungen und Herausforderungen, die den Schulungsprozess und die Implementierung von Anwendungsfällen betreffen.

Generative Adversarial Networks oder GANs sind ein generativer Modellierungsansatz Tiefes Lernen das Modell auf clevere Weise zu trainieren, um Daten unter Verwendung des Submodell-Ansatzes zu generieren. In diesem Artikel werden wir versuchen, 'Was sind GANs' im Detail zu verstehen. Die folgenden Themen werden in diesem Artikel behandelt:

Was sind generative Modelle?

Generative Modelle sind nichts anderes als solche Modelle, die eine verwenden Ansatz. In einem generativen Modell gibt es Stichproben in den Daten, dh Eingabevariablen X, aber es fehlt die Ausgabevariable Y. Wir verwenden nur die Eingabevariablen, um das generative Modell zu trainieren, und es erkennt Muster aus den Eingabevariablen, um eine unbekannte Ausgabe zu generieren und nur basierend auf den Trainingsdaten.





Im Wir sind eher darauf ausgerichtet, Vorhersagemodelle aus den Eingabevariablen zu erstellen. Diese Art der Modellierung wird als diskriminative Modellierung bezeichnet. Bei einem Klassifizierungsproblem muss das Modell unterscheiden, zu welcher Klasse das Beispiel gehört. Andererseits werden unbeaufsichtigte Modelle verwendet, um neue Beispiele in der Eingabeverteilung zu erstellen oder zu generieren.

Tutorial zu SQL Server Integration Services

Um generative Modelle in Laienbegriffen zu definieren, können wir sagen, dass generative Modelle neue Beispiele aus der Stichprobe generieren können, die nicht nur anderen Beispielen ähnlich sind, sondern auch nicht zu unterscheiden sind.



Das häufigste Beispiel für ein generatives Modell ist a was häufiger als diskriminierendes Modell verwendet wird. Andere Beispiele für generative Modelle sind das Gaußsche Mischungsmodell und ein ziemlich modernes Beispiel, General Adversarial Networks. Versuchen wir zu verstehen, was GANs sind.

Was sind generative kontradiktorische Netzwerke?

Generative Adversarial Networks oder GANs sind ein auf tiefem Lernen basierendes generatives Modell, das für unbeaufsichtigtes Lernen verwendet wird. Es ist im Grunde ein System, in dem zwei miteinander konkurrieren Neuronale Netze miteinander konkurrieren, um Variationen in den Daten zu erzeugen oder zu erzeugen.

Es wurde erstmals 2014 in einem Artikel von Ian Goodfellow beschrieben, und 2016 wurde von Alec Radford eine standardisierte und sehr stabile Modelltheorie vorgeschlagen, die als DCGAN (Deep Convolutional General Adversarial Networks) bekannt ist. Die meisten heute existierenden GANs verwenden die DCGAN-Architektur.



Die GAN-Architektur besteht aus zwei Untermodellen, die als Generatormodell und der Diskriminatormodell. Versuchen wir zu verstehen, wie GANs tatsächlich funktionieren.

Wie funktioniert es?

Um zu verstehen, wie GANs funktionieren, lassen Sie es uns aufschlüsseln.

  • Generativ - Dies bedeutet, dass das Modell dem folgt Ansatz und ist ein generatives Modell.
  • Gegner - Das Modell wird in einer kontroversen Umgebung trainiert
  • Netzwerk - Verwendet für das Training des Modells die neuronalen Netze als Algorithmen für künstliche Intelligenz.

In GANs gibt es ein Generator-Netzwerk, das eine Stichprobe entnimmt und eine Stichprobe von Daten generiert. Danach entscheidet das Diskriminator-Netzwerk, ob die Daten mithilfe einer Binärdatei generiert oder aus der realen Stichprobe entnommen werden Problem mit Hilfe einer Sigmoid-Funktion, die die Ausgabe im Bereich von 0 bis 1 liefert.

Flussdiagramm - was sind Gnas - Edureka

Das generative Modell analysiert die Verteilung der Daten so, dass nach der Trainingsphase die Wahrscheinlichkeit, dass der Diskriminator einen Fehler macht, maximiert wird. Der Diskriminator hingegen basiert auf einem Modell, das die Wahrscheinlichkeit abschätzt, dass die Stichprobe aus den realen Daten und nicht aus dem Generator stammt.

Der gesamte Prozess kann in einer unten angegebenen mathematischen Formel formalisiert werden.

In der obigen Formel:

G = Generator

D = Diskriminator

Pdata (x) = Verteilung realer Daten

Pdata (z) = Verteiler des Generators

x = Stichprobe aus realen Daten

z = Probe vom Generator

Was ist scipy in Python

D (x) = Diskriminator-Netzwerk

G (z) = Generator-Netzwerk

Jetzt kommt der Trainingsteil für ein GAN, der weiter in zwei Teile unterteilt werden kann, die nacheinander durchgeführt werden.

Wie trainiere ich ein GAN?

Teil 1:

Trainieren Sie den Diskriminator und frieren Sie den Generator ein. Dies bedeutet, dass der Trainingssatz für den Generator auf False gesetzt wird und das Netzwerk nur den Vorwärtsdurchlauf ausführt und keine Rückausbreitung angewendet wird.

Grundsätzlich wird der Diskriminator mit den realen Daten trainiert und prüft, ob er sie korrekt vorhersagen kann, und dasselbe mit den gefälschten Daten, um sie als gefälscht zu identifizieren.

Teil 2:

Trainieren Sie den Generator und frieren Sie den Diskriminator ein. In dieser Phase erhalten wir die Ergebnisse aus der ersten Phase und können sie verwenden, um den vorherigen Zustand zu verbessern und den Diskriminator besser zu täuschen.

Schritte für das Training

  1. Definiere das Problem - Definieren Sie das Problem und sammeln Sie Daten.
  2. Wählen Sie Architektur von GAN - Wählen Sie je nach Problem aus, wie Ihr GAN aussehen soll.
  3. Diskriminator auf reale Daten trainieren - Trainieren Sie den Diskriminator mit realen Daten, um sie n-mal als real vorherzusagen.
  4. Generieren Sie gefälschte Eingaben für den Generator - Generieren Sie gefälschte Proben aus dem Generator
  5. Zugdiskriminator auf gefälschten Daten - Trainieren Sie den Diskriminator, um die generierten Daten als Fälschung vorherzusagen.
  6. Zuggenerator mit dem Ausgang des Diskriminators - Trainieren Sie den Generator, nachdem Sie die Diskriminatorvorhersagen erhalten haben, um den Diskriminator zu täuschen

Herausforderungen des generativen gegnerischen Netzwerks

Das Konzept der GANs ist ziemlich faszinierend, aber es gibt viele Rückschläge, die den Weg stark behindern können. Einige der größten Herausforderungen für GANs sind:

  1. Stabilität ist zwischen dem Diskriminator und dem Generator erforderlich, sonst würde das gesamte Netzwerk einfach fallen. Falls der Diskriminator zu leistungsfähig ist, kann der Generator nicht vollständig trainieren. Und wenn das Netzwerk zu nachsichtig ist, wird jedes Bild generiert, wodurch das Netzwerk unbrauchbar wird.
  2. GANs versagen kläglich bei der Bestimmung der Positionierung der Objekte in Bezug darauf, wie oft das Objekt an diesem Ort auftreten soll.
  3. Die 3-D-Perspektive stört GANs, da sie nicht verstehen kann Perspektive Für ein 3D-Objekt wird häufig ein flaches Bild angezeigt.
  4. GANs haben ein Problem damit, das zu verstehen globale Objekte . Es kann eine ganzheitliche Struktur nicht unterscheiden oder verstehen.
  5. Neuere Arten von GANs sind weiter fortgeschritten und werden voraussichtlich diese Mängel insgesamt beseitigen.

Generative kontradiktorische Netzwerkanwendungen

Im Folgenden sind einige Anwendungen von GANs aufgeführt.

Vorhersage des nächsten Frames in einem Video

Die Vorhersage zukünftiger Ereignisse in einem Videorahmen wird mit Hilfe von GANs ermöglicht. DVD-GAN oder Dual Video Discriminator GAN kann 256 × 256 Videos mit einer bemerkenswerten Wiedergabetreue von bis zu 48 Bildern erzeugen. Dies kann für verschiedene Zwecke verwendet werden, einschließlich der Überwachung, bei der wir die Aktivitäten in einem Rahmen bestimmen können, der aufgrund anderer Faktoren wie Regen, Staub, Rauch usw. verzerrt wird.

Text zur Bilderzeugung

Objektgesteuertes aufmerksames GAN (obj-GAN) führt die Text-zu-Bild-Synthese in zwei Schritten durch. Das Erzeugen des semantischen Layouts ist der erste Schritt, und das Erzeugen des Bildes durch Synthetisieren des Bildes unter Verwendung eines Entfaltungsbildgenerators ist der letzte Schritt.

Dies könnte intensiv genutzt werden, um Bilder durch Verstehen der Beschriftungen, Layouts und Verfeinern von Details durch Synthetisieren der Wörter zu erzeugen. Es gibt eine weitere Studie über die storyGANs, die die gesamten Storyboards aus bloßen Absätzen zusammensetzen können.

Verbessern der Auflösung eines Bildes

Das hochauflösende generative Adversarial Network oder SRGAN ist ein GAN, das hochauflösende Bilder aus Bildern mit niedriger Auflösung mit feineren Details und besserer Qualität erzeugen kann.

Die Anwendungen können immens sein. Stellen Sie sich ein Bild mit höherer Qualität und feineren Details vor, die aus einem Bild mit niedriger Auflösung generiert werden. Die Menge an Hilfe, die zur Identifizierung von Details in Bildern mit niedriger Auflösung benötigt wird, kann für umfassendere Zwecke verwendet werden, einschließlich Überwachung, Dokumentation, Sicherheit, Erkennung von Mustern usw.

Bild-zu-Bild-Übersetzung

Pix2Pix GAN ist ein Modell für die allgemeine Bild-Bild-Übersetzung.

Interaktive Bilderzeugung

GANs können auch zur Erzeugung interaktiver Bilder verwendet werden. Das Labor für Informatik und künstliche Intelligenz (CSAIL) hat ein GAN entwickelt, mit dem 3D-Modelle mit realistischer Beleuchtung und Reflexionen erzeugt werden können, die durch die Bearbeitung von Form und Textur ermöglicht werden.

So erstellen Sie ein Java-Paket

In jüngerer Zeit haben Forscher ein Modell entwickelt, mit dem ein nachgestelltes Gesicht synthetisiert werden kann, das durch die Bewegung einer Person animiert wird, während gleichzeitig das Erscheinungsbild des Gesichts erhalten bleibt.

Dies bringt uns zum Ende dieses Artikels, in dem wir gelernt haben, was GANs sind. Ich hoffe, Sie sind mit allem klar, was Ihnen in diesem Tutorial mitgeteilt wurde.

Wenn Sie diesen Artikel unter 'Was sind GANs?' Relevant fanden, lesen Sie die Ein vertrauenswürdiges Online-Lernunternehmen mit einem Netzwerk von mehr als 250.000 zufriedenen Lernenden auf der ganzen Welt.

Wir sind hier, um Ihnen bei jedem Schritt auf Ihrer Reise zu helfen und einen Lehrplan zu erstellen, der für Studenten und Fachleute konzipiert ist, die eine sein möchten . Der Kurs soll Ihnen einen Vorsprung in die Python-Programmierung verschaffen und Sie sowohl für Kern- als auch für fortgeschrittene Python-Konzepte sowie für verschiedene Konzepte schulen mögen

Wenn Sie auf Fragen stoßen, können Sie alle Ihre Fragen im Kommentarbereich von „Was sind GANs?“ Stellen. Unser Team beantwortet diese gerne.