My GANs is like this:

  • Train an autoencoder (VAE), get the decoder part and use as Generator
  • Train Discriminator

After training, do the generation in these steps:

  • Call Generator to generate an image
  • Call the Discriminator to classify the image to see whether it's acceptable

The problem is that the Discriminator says 'false' a lot, which means the generated image is not useful.

How should the Generator change (update weights) when Discriminator doesn't accept its generated image?


1 Answer 1


In general, you should train both discriminator D and generator G simultaneously.

Depending on the metric that you use as the target for your model, you may encounter a Vanishing gradient problem. It can happen when you implement original loss (i.e. JS-divergence). In that case D can become overconfident regarding fake samples and won't provide any useful feedback to the G. To find out if training fell into this problem, you should plot D and G loss. It will look as follows:

enter image description here

The original GAN has a lot of problems, that's why I suggest you to use Wasserstein metric. More information you can find in WGAN paper

Here you can find more information about GAN problems:


You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .