GAN - Wie kann die GAN-Leistung gemessen werden?

Foto von Dawid Małecki

In GANs misst die Zielfunktion für den Generator und den Diskriminator normalerweise, wie gut sie im Verhältnis zum Gegner abschneiden. Zum Beispiel messen wir, wie gut der Generator den Diskriminator täuscht. Es ist keine gute Metrik zur Messung der Bildqualität oder ihrer Vielfalt. Im Rahmen der GAN-Serie untersuchen wir den Inception Score und den Fréchet Inception Distance, um die Ergebnisse verschiedener GAN-Modelle zu vergleichen.

Inception Score (IS)

IS verwendet zwei Kriterien zur Messung der Leistung von GAN:

  • Die Qualität der erzeugten Bilder und
  • ihre Vielfalt.

Entropie kann als Zufall angesehen werden. Wenn der Wert einer Zufallsvariablen x sehr gut vorhersehbar ist, hat sie eine niedrige Entropie. Im Gegenteil, wenn es sehr unvorhersehbar ist, ist die Entropie hoch. In der folgenden Abbildung haben wir beispielsweise zwei Wahrscheinlichkeitsverteilungen p (x). p2 hat eine höhere Entropie als p1, da p2 eine gleichmäßigere Verteilung aufweist und daher weniger vorhersehbar ist, was x ist.

In GAN soll die bedingte Wahrscheinlichkeit P (y | x) hoch vorhersehbar sein (niedrige Entropie). wenn ein Bild gegeben ist, sollten wir den Objekttyp leicht kennen. Daher verwenden wir ein Inception-Netzwerk, um die generierten Bilder zu klassifizieren und P (y | x) vorherzusagen - wobei y das Label und x die generierten Daten sind. Dies spiegelt die Qualität der Bilder wider. Als nächstes müssen wir die Vielfalt der Bilder messen.

P (y) ist die Grenzwahrscheinlichkeit, berechnet als:

Wenn die erzeugten Bilder unterschiedlich sind, sollte die Datenverteilung für y gleichmäßig sein (hohe Entropie).

Die folgende Abbildung veranschaulicht dieses Konzept.

Um diese beiden Kriterien zu kombinieren, berechnen wir ihre KL-Divergenz und verwenden die folgende Gleichung, um IS zu berechnen.

Ein Nachteil von IS ist, dass es die Leistung falsch darstellen kann, wenn es nur ein Bild pro Klasse erzeugt. p (y) wird immer noch einheitlich sein, obwohl die Diversität gering ist.

Fréchet Inception Distance (FID)

In FID verwenden wir das Inception-Netzwerk, um Features aus einer Zwischenschicht zu extrahieren. Dann modellieren wir die Datenverteilung für diese Merkmale unter Verwendung einer multivariaten Gaußschen Verteilung mit dem Mittelwert µ und der Kovarianz Σ. Der FID zwischen den realen Bildern x und den erzeugten Bildern g wird wie folgt berechnet:

Dabei fasst Tr alle diagonalen Elemente zusammen.

Niedrigere FID-Werte bedeuten eine bessere Bildqualität und -vielfalt.

FID reagiert empfindlich auf das Zusammenbrechen des Modus. Wie unten gezeigt, vergrößert sich der Abstand mit simulierten fehlenden Modi.

Quelle Ein niedrigerer FID-Wert kennzeichnet ein besseres Modell.

FID ist robuster gegen Rauschen als IS. Wenn das Modell nur ein Bild pro Klasse generiert, ist der Abstand hoch. FID ist also ein besseres Maß für die Bildvielfalt. FID hat eine ziemlich hohe Vorspannung, aber eine geringe Varianz. Wenn Sie die FID zwischen einem Trainingsdatensatz und einem Testdatensatz berechnen, sollten Sie davon ausgehen, dass die FID Null ist, da es sich bei beiden um echte Bilder handelt. Wenn Sie den Test jedoch mit verschiedenen Chargen der Trainingsprobe durchführen, wird kein FID von Null angezeigt.

Quelle

Sowohl FID als auch IS basieren auf der Merkmalsextraktion (Vorhandensein oder Fehlen von Merkmalen). Wird ein Generator die gleiche Punktzahl haben, wenn die räumliche Beziehung nicht beibehalten wird?

Präzision, Rückruf und F1 Score

Wenn die erzeugten Bilder im Durchschnitt den realen Bildern ähneln, ist die Genauigkeit hoch. Hoher Rückruf bedeutet, dass der Generator jede im Trainingsdatensatz gefundene Probe erzeugen kann. Ein F1-Score ist der harmonische Durchschnitt aus Präzision und Erinnerung.

In der Google Brain-Studie „Sind GANs gleich erstellt“ wird ein Spielzeugexperiment mit einem Datensatz aus Dreiecken erstellt, um die Genauigkeit und den Abruf verschiedener GAN-Modelle zu messen.

Quelle

Dieser Spielzeugdatensatz kann die Leistung verschiedener GAN-Modelle messen. Wir können es verwenden, um den Nutzen verschiedener Kostenfunktionen zu messen. Kann die neue Funktion beispielsweise hochwertige Dreiecke mit einer guten Abdeckung erzeugen?

Referenz

Verbesserte Techniken für das Training von GANs

Werden GANs gleich erstellt? Eine groß angelegte Studie

GANs, die nach einer Zwei-Zeitskalen-Aktualisierungsregel trainiert wurden, konvergieren zu einem lokalen Nash-Gleichgewicht