We know that the generator generates new images by learning the real data distribution, while the discriminator examines whether the image generated by the generator is from the real data distribution or fake data distribution.
However, the generator has the capability to generate new and interesting images by learning the real data distribution. We have no control or influence over the images generated by the generator. For instance, let's say our generator is generating human faces; how can we tell the generator to generate a human face with certain features, say big eyes and a sharp nose?
We can't! Because we have no control over the images that are being generated by the generator.
To overcome this, we introduce a small variant of a GAN called a CGAN, which imposes a condition to both the generator and the discriminator. This condition tells the...