Learning More about GANs

We learned what Generative Adversarial Networks (GANs) are and how different types of GANs are used to generate images in Chapter 8, Generating Images Using GANs.

In this chapter, we will uncover various interesting different types of GANs. We've learned that GANs can be used to generate new images but we do not have any control over the images that they generate. For instance, if we want our GAN to generate a human face with specific traits how do we tell this information to the GAN? We can't because we have no control over the images generated by the generator.

To resolve this, we use a new type of GAN called a Conditional GAN (CGAN) where we can condition the generator and discriminator by specifying what we want to generate. We will start off the chapter by comprehending how CGANs can be used to generate images of our interest and then we learn how to implement CGANs using TensorFlow.

We then understand about the InfoGANs which is an unsupervised version of a CGAN. We will understand what InfoGANs are and how they differ from CGANs, and how can we implement them using TensorFlow to generate new images.

Then, we shall learn about CycleGANs, which are a very intriguing type of GAN. They try to learn the mapping from the distribution of images in one domain to the distribution of images in another domain. For instance, to convert a grayscale image to a colored image, we train the CycleGAN to learn the mapping between grayscale and colored images, which means they learn to map from one domain, to another and the best part is, unlike other architectures, they even don't require a paired dataset. We will investigate how exactly they learn these mappings and their architecture in detail. We will explore how to implement CycleGAN to convert real pictures to paintings.

At the end of the chapter, we will explore, StackGAN, which can convert the text description to a photo-realistic image. We will perceive how StackGANs do this by gaining a deeper understanding of their architecture in detail.

In this chapter, we will learn about the following:

  • Conditional GANs
  • Generating specific digits using CGAN
  • InfoGAN
  • Architecture of InfoGAN
  • Constructing InfoGAN using TensorFlow
  • CycleGAN
  • Converting pictures to paintings using CycleGAN
  • StackGAN
..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset