Wie verwende ich GAN für die unbeaufsichtigte Merkmalsextraktion aus Bildern?


10

Ich habe verstanden, wie GAN funktioniert, während zwei Netzwerke (generativ und diskriminativ) miteinander konkurrieren. Ich habe ein DCGAN (GAN mit Faltungsdiskriminator und Entfaltungsgenerator) erstellt, das jetzt erfolgreich handschriftliche Ziffern generiert, die denen im MNIST-Datensatz ähneln.

Ich habe viel über GANs Anwendungen zum Extrahieren von Funktionen aus Bildern gelesen. Wie kann ich mein trainiertes GAN-Modell (im MNIST-Datensatz) verwenden, um Funktionen aus handgeschriebenen MNIST-Digistenbildern zu extrahieren?


Für die Merkmalsextraktion erhalte ich die Merkmalsgröße 128 * 120 (dh 64 + 32 + 16 + 8) = 15360. Ich bin mir sicher, dass mir etwas fehlt. Ich habe eine andere Frage bezüglich der Auswahl des Merkmalsvektors. Sollte ich (Conv2d + Batchnorm + Aktivierung) Gewichte oder nur Conv2d-Gewichte bei der Merkmalsextraktion berücksichtigen?
Tanmoy Dam

Antworten:


4

Zum Extrahieren von Features können Sie normalerweise die oberste Ebene des Netzwerks vor der Ausgabe verwenden. Die Intuition ist, dass diese Merkmale linear trennbar sind, da die oberste Ebene nur eine logistische Regression ist.

Für GANs können Sie die Funktionen des Diskriminators verwenden. Diese Merkmale sollen eine Wahrscheinlichkeit geben, wenn die Eingabe aus dem Trainingsdatensatz "echte Bilder" stammt. In Radfords DCGAN-Artikel verwenden sie alle Faltungsschichten des Diskriminators und führen für CIFAR-10 eine Extraktionsfunktion für die maximale Pooling-Schicht aus.

Um die Qualität der von DCGANs für überwachte Aufgaben gelernten Darstellungen zu bewerten, trainieren wir mit Imagenet-1k und verwenden dann die Faltungsmerkmale des Diskriminators aus allen Schichten, wobei jede Schichtdarstellung maximal zusammengefasst wird, um ein 4 × 4-räumliches Gitter zu erzeugen. Diese Merkmale werden dann abgeflacht und verkettet, um einen 28672-Dimensionsvektor zu bilden, und ein regulierter linearer L2-SVM-Klassifikator wird darauf trainiert.


1

Kennys Antwort ist richtig - wenn Sie Faltungs- D verwenden , kann die Ausgabe von Ebenen vor der Dichte als Merkmale dienen. Meine Intuition ist, dass es für AC-GANs (oder ähnliche Architekturen, bei denen D Eingaben klassifiziert und zusätzlich dazu bestimmt, ob sie gefälscht oder echt sind) besser funktioniert.

Es gibt einen Ansatz namens BiGAN, der eine Encoder- Komponente hinzufügt , die generierte und trainierende Samples der latenten Verteilung z zuordnen kann, die zum "Initialisieren" des Generators verwendet wird. Autoren zeigen, dass es effektiv als Funktionsumfang für Transferlernen und andere Aufgaben verwendet werden kann.


0

Da das GAN aus zwei Teilen besteht - dem Generator und dem Diskriminator - gibt es zwei Möglichkeiten, das GAN als Merkmalsextraktor zu verwenden:

  1. Generatorbasierte Methode, wie sie von Mikhail Yurasov vorgestellt wird.
  2. Diskriminatorbasierte Methode, wie sie von Kenny vorgestellt wird.

Der zweite Weg ist kontroverser. Einige Studien [1] gingen davon aus, dass das Ziel des Diskriminators, die erzeugten Proben von den realen Proben zu unterscheiden, intuitiv nur auf den Unterschied zwischen diesen beiden Arten von Proben abzielt. Sinnvoll ist jedoch der Unterschied zwischen realen Stichproben, dh den Stichproben, die von den nachgelagerten Aufgaben verwendet werden.

Ich habe versucht, dies zu untersuchen, und festgestellt, dass das extrahierte Merkmal in zwei orthogonale Teilräume zerlegt werden kann. Der erste Raum trägt zur Diskriminatoraufgabe bei, während der zweite frei davon ist. Da in den meisten Fällen die Merkmale, die zur Unterscheidung der realen Abtastwerte von den erzeugten verwendet werden, Rauschen sind, ist der zweite Merkmalsraum rauschfrei. Aus dieser Perspektive werden die im zweiten Unterraum enthaltenen rauschfreien Merkmale funktionieren, obwohl sich die Aufgabe des Diskriminators nicht auf den Unterschied zwischen realen Abtastwerten konzentriert, die für die nachgeschalteten Aufgaben nützlich sind.

[1] Jost Tobias Springenberg. Unüberwachtes und halbüberwachtes Lernen mit kategorisch generativen kontradiktorischen Netzwerken. arXiv: 1511.06390 [cs, stat], April 2016. arXiv-Vorabdruck. arXiv: 1511.06390 [stat.ML]. Ithaca, NY: Cornell University Library.

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.