Understanding the fundamentals of GANs
The purpose of generative models is to learn a data distribution and to sample from it to generate new data. With the models that we looked at in the previous chapters, namely PixelCNN and VAE, their generative part gets to look at the image distribution during training. Thus, they are known as explicit density models. In contrast, the generative part in a GAN never gets to look at the images directly; rather, it is only told whether the generated images look real or fake. For this reason, GANs are categorized as implicit density models.
We could use an analogy to compare the explicit and implicit models. Let's say an art student, G, was given a collection of Picasso paintings and asked to learn how to draw fake Picasso paintings. The student can look at the collections as they learn to paint, so that is an explicit model. In a different scenario, we ask student G to forge Picasso paintings, but we don't show them any paintings...