Skip to content

Generative Adversarial Networks

Carlos Lizarraga-Celaya edited this page Apr 18, 2024 · 6 revisions

Generative Adversarial Networks (GANs) are machine learning models that use two neural networks to compete against each other to generate new data from a training dataset. The two networks are called the Generator and the Discriminator. The Generator takes random noise as input and produces data, like images, that are as close as possible to real data. The Discriminator takes real data and the data generated by the Generator as input and attempts to distinguish between the two. It outputs the probability that the given data is real.

Both the generator and the discriminator are neural networks. The generator output is connected directly to the discriminator input. Through backpropagation, the discriminator's classification provides a signal that the generator uses to update its weights.

It can be thought of the Generator as having an adversary, the Discriminator. The Generator (forger) needs to learn how to create data in such a way that the Discriminator isn’t able to distinguish it as fake anymore. The competition between these two teams is what improves their knowledge, until the Generator succeeds in creating realistic data.

(Realistic images generated by GAN)

📓 Try the following Jupyter Notebook examples:

References


Created: 04/12/2024 (C. Lizárraga); Last update: 04/16/2024 (C. Lizárraga)

CC BY-NC-SA