Generative Neural Networks

Learn about generative neural networks along with their implementations.

Generative adversarial network (GAN)

We have so far assumed specific functional forms of generative models to discuss them in the Bayesian context. We are now going back to deep neural networks, which are useful to learn more complex models from data when specific causal models aren’t known.

There are several approaches to building generative models, of which we want to mention the following two:

  • Generative adversarial networks (GANs)\text{(GANs)}
  • Variational autoencoders (VAEs)\text{(VAEs)}

Note: The basic idea behind generative adversarial networks (GANs)\text{(GANs)} is to train a generator neural network model so that the generated examples are able to fool a discriminator network, which is itself trained to discriminate between network-generated examples and real examples.

The overall architecture is outlined in the figure below. The basic components are a generator network and a discriminator network, but the main idea is how to use them. The discriminator network is typically a deep recognition network, such as the convolutional networks we used for MNIST\text{MNIST} or ImageNet\text{ImageNet}. It is either fed a real input or a fake input. So this network is like a forgery expert that needs to distinguish real from fake, a simple binary decision. This discriminator network is trained on a combination of real and fake images, where the fake images are generated by the generator network. This is done by providing a random input to this network, which can be viewed as a random example from a latent space of the objects that should be generated.

Get hands-on with 1200+ tech skills courses.