Generative gegnerische Netzwerke. Generative Adversarial Network wird verwendet… | von Natasha Meshram | Juni 2023

0
24


Generative gegnerische Netzwerke

Das Generative Adversarial Community wird verwendet, um durch Verweis auf die Trainingsdaten einen neuen Datensatz zu generieren. Die neu generierten Daten sollten den Trainingsdaten ähneln. Dies ist das Hauptmotiv von GAN.

Generative Adversarial Networks (GANs) wurden 2014 von Ian J. Goodfellow eingeführt. GANs sind eine Methode zur generativen Modellierung, die Deep-Studying-Methoden wie CNN (Convolutional Neural Community) nutzt. Generative Modellierung ist eine unbeaufsichtigte Lernmethode. Es erkennt und lernt automatisch Muster in Eingabedaten, sodass das Modell für neue Daten aus dem Originaldatensatz verwendet werden kann. Es besteht aus zwei Modellen, die die Muster in Eingabedaten automatisch erkennen und lernen. Generator und Diskriminator. Sie konkurrieren miteinander, um die Variationen innerhalb eines Datensatzes zu untersuchen, zu erfassen, zu kopieren sowie zu analysieren und zu replizieren.

Der Generator nimmt zufällige Eingaben entgegen und generiert Stichproben, die den Trainingsdaten ähneln. Das Hauptziel des Turbines besteht darin, Stichproben zu generieren, die den realen Daten ähneln. Nun versucht der Diskriminator, die realen Stichproben und die vom Generator generierten Stichproben zu identifizieren. Dies ist das Hauptziel des Diskriminators, sie zu unterscheiden und zu identifizieren Um beide Netzwerke zu verbessern, ist ein gegnerisches Coaching erforderlich. Durch das gegnerische Coaching wird das Generatornetzwerk im Laufe der Zeit anpassungsfähiger bei der Erzeugung realistischer Bilder und andererseits wird der Diskriminator anpassungsfähiger bei der Unterscheidung.

Jetzt kommt es zu einem Punkt, an dem der Generator in der Lage ist, qualitativ hochwertige Bilder zu erzeugen, was den Diskriminator vor die Herausforderung stellt, zwischen den Bildern zu unterscheiden. Daher wird es für den Diskriminator schwierig, zwischen den Bildern zu unterscheiden.

Die beiden Hauptanwendungen von GAN, die mir am besten gefallen, sind:

  1. Es entstehen menschliche Gesichter, die es noch nie zuvor gegeben hat. Wow!!
  2. Anime-Bilder erstellen.

Diskriminator ist ein überwachter Ansatz, der vorhersagt, dass die Daten gefälscht sind oder nicht.

Generator ist ein unbeaufsichtigter Ansatz, der gefälschte Daten generiert und versucht, den Diskriminator zu täuschen. In dem Second, in dem der Diskriminator getäuscht wird, wird das Coaching gestoppt und wir können sagen, dass das GAN-Modell erstellt wurde. Der Generator versucht, die Verlustfunktion zu minimieren, und der Diskriminator versucht, die Verlustfunktion zu maximieren.

SCHRITTE:

Importieren Sie alle erforderlichen Bibliotheken, laden Sie den Datensatz und führen Sie die Vorverarbeitung durch.

Leaky ReLU-Funktion und Batch-Normalisierung mit 3 Ebenen. Wenn die Eingabe ein Bild ist, liegen die Bildpixel im Bereich von -1 und 1, daher verwenden wir die Tanh-Funktion:

Die ReLU-Aktivierungsfunktion nimmt nur den Maximalwert zwischen 0 und der Eingabe an. ReLU kann daher im Dying State stecken bleiben und erzeugt dann für jede Ausgabe 0. Wir müssen den Wert des Gradienten vom Diskriminator erhalten, damit er lernen kann. Deshalb haben wir Leaky ReLU verwendet, es verfügt über einen Alpha-Parameter.

WENN DER EINGABEPOSITIV IST, DANN EIN POSITIVER WERT, ANDEREN WENN NEGATIV, DANN WIRD ER MIT ALPHA MULTIPLIZIERT UND LÄSST DEN NEGATIVEN WERT DURCH.

Wir werden die Sigmoidfunktion im Diskriminator verwenden als:

Die Sigmoid-Funktion hilft dem Diskriminator zu klassifizieren, ob die ausgegebene Ausgabe echt oder gefälscht ist.

Nach der Kompilierung erstellen wir Eingaben, um Rauschproben aus dem latenten Raum darzustellen. Und wir geben dieses Rauschen an einen Generator weiter, um ein Bild zu erzeugen. Wir übergeben das Generatorbild an Discriminator und sagen voraus, dass es gefälscht oder echt ist.

Danach erstellen wir das Generatormodell und kompilieren es. Später definieren wir die Parameter für das Coaching von GAN. Hier definieren wir die Epochen, die Chargengröße und den Probenzeitraum. Wir weisen Bezeichnungen zu, wobei 1 für „echt“ und 0 für „Fälschung“ steht. Jetzt ist es notwendig, den Verlust zu speichern, wie wir oben besprochen haben, dass die Aufgabe des Turbines darin besteht, den Verlust zu minimieren, und die Aufgabe des Diskriminators darin besteht, den Verlust zu maximieren. Additionally erstellen wir eine Liste, um sie zu speichern. Eine Datei zum Speichern der Beispielbilder.

Um den Diskriminator zu trainieren, übergeben wir nun echte Bilder zusammen mit einigen gefälschten Bildern an den Diskriminator. Wir erstellen ein zufälliges Rauschgitter aus einem echten Bild. Wir berechnen den Verlust beider Modelle. Außerdem übergeben wir im generierten Bild 1, um unseren Diskriminator zu täuschen und zu überprüfen, ob er überprüfen kann, ob es echt oder gefälscht ist.

Nach dem Plotten können Sie sehen, wie intestine Ihr Modell klassifiziert wurde. Sie können auch beobachten, dass der Generator in der Epoche 0 schwach und der Diskriminator clever genug ist. Beobachten Sie, dass der Generator nach mehr als 10.000 Epochen in der Lage sein wird, den Diskriminator leicht zu täuschen.

— Natasha Meshram (Softwareentwicklerin bei ICICI SECURITIES)



Source link

HINTERLASSEN SIE EINE ANTWORT

Please enter your comment!
Please enter your name here