What are Generative Adversarial Networks – GAN’s?

A GAN, or Generative Adversarial Network, is a type of machine learning model that consists of two neural networks: a generator and a discriminator. The generator creates new samples, such as images or text, while the discriminator evaluates the authenticity of the samples.

The generator and the discriminator are trained together in an adversarial process. The generator starts by creating samples and the discriminator evaluates them. If the discriminator correctly identifies the generated samples as fake, the generator is updated to produce more realistic samples. This process continues until the generator produces samples that are indistinguishable from real ones.

The generator learns to create new and unseen samples from the same data distribution as the training data, whereas the discriminator learns to distinguish between real and fake samples. The two networks are trained simultaneously and in opposition to each other, with the generator trying to produce samples that can fool the discriminator and the discriminator trying to correctly identify the real samples.

GANs have been used in a variety of applications, including image synthesis, text generation, style transfer, and even drug discovery. They are particularly useful for creating realistic samples in domains where the data is difficult to acquire, such as medical imaging or proprietary content.

Overall, GANs are a powerful class of machine learning models that are capable of creating new, unseen data samples that closely resemble real-world samples. Their ability to learn to generate samples from a data distribution makes them useful in various application like image, text and audio generation, and even some areas of computer vision.