Introduction
Generative models are an exciting new branch of deep learning models that learn through unsupervised learning. The main idea is to generate new samples having the same distribution as the given training data; for example, a network trained on handwritten digits can create new digits that aren't in the dataset but are similar to them. Formally, we can say that if the training data follows the distribution Pdata(x), then the goal of generative models is to estimate the probability density function Pmodel(x), which is similar to Pdata(x).
Generative models can be classified into two types:
- Explicit generative models: Here, the probability density function Pmodel(x) is explicitly defined and solved. The density function may be tractable as in the case of PixelRNN/CNN, or an approximation of the density function as in the case of VAE.
- Implicit generative models: In these, the network learns to generate a sample from Pmodel(x) without explicitly defining it. GANs are an example of this...