The key to understanding how GANs can be such successful generative models resides in the term adversarial. Actually, the GANs architecture is made up of two distinct networks that are optimized based on the pooling of respective errors, and that's called an adversarial process.
You start with a real dataset, let's call it R, containing your images or your data of a different kind (GANs are not limited to images only, though they constitute the major application). You then set up a generator network, G, which tries to make fake data that looks like the genuine data, and you set up a discriminator, D, whose role is to compare the data produced by G mixed against the real data, R, and figures out which ...