In the previous chapter, we learned that a relation between the latent vector and the generated images can be established by the training process of GANs and certain manipulation of the latent vectors is reflected by the changes in the generated images. But we have no control over what part or what kinds of latent vectors would give us images with the attributes we want. To address this issue, we will use a CGAN to add label information in the training process so that we can have a say in what kinds of images the model will generate.
The idea of CGANs was proposed by Mehdi Mirza and Simon Osindero in their paper, Conditional Generative Adversarial Nets. The core idea was to integrate the label information into both generator and discriminator networks so that the label vector would alter the distribution of latent vectors, which leads to images...