c) Generative Adversarial Networks (GANs)

Generative Adversarial Networks (GANs)

A Generative Adversarial Network (GAN) is a class of machine learning frameworks and a prominent framework for approaching generative AI. In a GAN, two neural networks contest with each other in the form of a zero-sum game, where one agent's gain is another agent's loss. These two neural networks, a generator and a discriminator, that are trained together, with the generator trying to create data that the discriminator can't distinguish from the real data.

GANs are a popular architecture for text-to-image synthesis. Generative Adversarial Network (GAN), which consists of a generator and a discriminator that compete against each other during the training process. The generator produces images based on the textual input, while the discriminator evaluates the generated images, comparing them to real images with the same textual descriptions. The generator tries to generate images that the discriminator cannot differentiate from real ones, and the discriminator tries to become better at identifying the generated images. This adversarial process helps improve the quality of the generated images over time.

Given a training set, this technique learns to generate new data with the same statistics as the training set. For example, a GAN trained on photographs can generate new photographs that look at least superficially authentic to human observers, having many realistic characteristics. Though originally proposed as a form of generative model for unsupervised learning, GANs have also proved useful for semi-supervised learning, fully supervised learning, and reinforcement learning.

The core idea of a GAN is based on the "indirect" training through the discriminator, another neural network that can tell how "realistic" the input seems, which itself is also being updated dynamically. This means that the generator is not trained to minimize the distance to a specific image, but rather to fool the discriminator. This enables the model to learn in an unsupervised manner.

Variants in GANs include:

i). DCGAN (Deep Convolutional GAN)

ii). WGAN (Wasserstein GAN)

iii). CycleGAN, StarGAN (for image-to-image translation tasks)

iv). BigGAN, StyleGAN (for high-resolution image synthesis)

Last updated