Creating Artificial Realities: An Overview of Generative Adversarial Network (GAN)

3 min readNov 14, 2023

A Generative Adversarial Network (GAN) is a type of artificial intelligence algorithm used in unsupervised machine learning. GANs were introduced by Ian Goodfellow and his colleagues in 2014 and have since become a significant advancement in the field of generative modeling. Here’s a comprehensive overview of GANs:

1. Objective:

  • GANs are designed to generate new, realistic data samples that resemble a given dataset. The model consists of two neural networks, a generator, and a discriminator, which are trained simultaneously through adversarial training.

2. Architecture:


  • The generator takes random noise as input and transforms it into synthetic data samples.
  • It starts with random noise and gradually refines its output to resemble real data.
  • Typically consists of transposed convolutional layers to upsample the data.


  • The discriminator evaluates whether a given input is real (from the actual dataset) or fake (generated by the generator).
  • It is trained to improve its ability to distinguish between real and fake samples.

3. Training Process:

  • The generator and discriminator are trained in a competitive manner.
  • The generator aims to produce realistic samples that can fool the discriminator, while the discriminator aims to correctly classify real and fake samples.
  • The training process is often described as a minimax game, where the generator and discriminator are in constant competition.

4. Loss Function:

  • The loss function in GANs is a combination of two components:
  • Generator Loss: Measures how well the generator is fooling the discriminator.
  • Discriminator Loss: Measures how well the discriminator is distinguishing between real and fake samples.

5. Applications:

  • GANs have found applications in various domains, including: