Generative models are a class of neural networks that are wholly different from what we have discussed thus far. The networks that we've discussed hitherto are feedforward networks. CNNs and RNNs are all discriminatory networks, in that they try to classify data. Given a specific input, they can predict classes or other labels. Generative models, on the other hand, try to predict features given a certain label. They do this by having a parameter set that is much smaller than the amount of data they are learning, which forces them to comprehend the general essence of the data in an efficient manner.
There are two main types of generative model, VAE and GAN. First, we'll start with the motivations for generative models. Then, we'll discuss the architecture and inner workings of each, and work through a practical example for...