2017-06-11 5 views
0

Ich verstehe den allgemeinen Überblick, aber ich möchte mehr über das Training wissen. Was genau passiert in den ersten beiden Trainingsschritten? Wird der Generator oder der Diskriminator zuerst trainiert? Wird ein Validierungsset jemals zum Training eines GAN verwendet? Wenn ja, wäre das für den Generator oder den Diskriminator?Wie wird ein GAN am Anfang trainiert?

Antwort

0

Jede Iteration ist gleich.

Wir verwenden in jeder Iteration eine Charge von realen und eine Charge generierter (gefälschter) Beispiele. Diese beiden Chargen haben die gleiche Größe, die wir wählen können.

Sowohl Generator als auch Diskriminator werden gleichzeitig iterativ trainiert. G erhält einen zufälligen Vektor als Eingabe, während D echte Beispiele erhält.

In einer Iteration müssen Sie jedoch zuerst einen Stapel gefälschter Beispiele generieren. Dann füttern Sie echte Beispiele in D und schließlich füttern Sie generierte Beispiele in D in jeder Iteration. D lernt zuerst Parameter (Gewichte) an realen Beispielen und verwendet diese Gewichte dann auf gefälschten Beispielen. Dann berechnen Sie D-Verlust und dann G-Verlust und übergeben sie an einen Optimierer, der versucht, sie zu minimieren.

Es gibt keine Validierungs- und Testsätze. Sie wollen nur die Verluste in D und G minimieren.

Theoretisch soll Ihr D mit 50% Wahrscheinlichkeit sagen, dass ein Beispiel real ist, weil es in diesem Fall nicht zwischen echten und gefälschten Beispielen unterscheiden kann was du wolltest. Es kann nur raten. Es ist, als würde man eine Münze werfen. In diesem Fall erzeugt G sehr gute Beispiele, die echten Beispielen ähnlich sind.

Verwandte Themen