I'm just starting to learn about GAN's (Generative Adversarial Networks), and I have a question about how they work. I can't be the the first person to wonder about this, I just haven't seen this addressed anywhere.

Suppose a GAN is trained in a typical fashion, so that it can produce images which are, to humans, imperceptibly different from images that a separate, discriminator network can correctly classify, and yet these new images will be misclassified by the discriminator network with high probability.

My question is: is the ability of the GAN to fool the discriminator specific to the particular discriminator? Suppose two discriminators were trained on slightly different data sets, or the same data set, but with different initializations for the discriminator's weights. Then would a GAN trained against one discriminator preform reasonably well on the second? Any references would be very useful.

  • 2
    $\begingroup$ Please edit your question to spell out each abbreviation at its first use, or simply use the full form instead of an abbreviation. $\endgroup$ Nov 11, 2017 at 18:07

1 Answer 1


Generative Adversarial Networks consist of a Generator and a Discriminator. It is the Generator that attempts to generate images that should fool the discriminator.

(1) Is the ability of the Generator to fool the discriminator specific to the particular discriminator?
No, not in theory anyway. Imagine that the generator successfully learns to generate data that is indistinguishable from real data. Then all possible discriminators are out of luck. In this particular case, it was proved by [1] that best a discriminator can do is assign 50% that a point is generated/real. You can think of this as flipping a fair coin. In this sense, the optimal generator can "fool" any Discriminator.

However, the authors write the following about their proofs

The results of this section are done in a non-parametric setting, e.g. we represent a model with infinite capacity ...

In the real world, neither generator nor discriminator has infinite capacity. Typically one uses Neural Networks for both. In this case, if one trained a very good NN generator, it should be able to "fool" most NN discriminators. That said, it seems unlikely that the NN generator would be able to "fool" all NN discriminators.

You might be interested in reading about the "inception" score [2]. This is a measure of the quality of the generated images. It is computed using a CNN that is used to discriminate the generated images.

[1] https://papers.nips.cc/paper/5423-generative-adversarial-nets.pdf [2] https://github.com/hvy/chainer-inception-score


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.