generative adversarial networks art

What are Generative Adversarial Networks (GANs)

Generative adversarial networks (GANs) are a type of artificial neural networks with a very unique architecture. Furthermore, they have gained a lot of attention in the field of machine learning because of their ability to generate realistic data.

GANs are actually two neural networks in adversarial relationship. In order to train such architecture, one network generates and the other tells whether that content is fake or not. Furthermore, we call these networks generator and discriminator.

How do generative adversarial networks work

The generator network generates data that mimics examples from a dataset, which we provide. And on the other hand, we train discriminator network to classify between generated data and real data.

We train these networks together in a min-max game, where generator tries to create data that would fool driscriminator. And in turn the discriminator constantly learns to distinguish between newly generated data and real data we provided it.

We usually design generator networks using some deep neural network architecture, like convolutional neural networks or recurrent neural networks. And we train it to generate data similar to the data we train it with.

On the other hand discriminator needs to be a classifier and we also train it using a deep neural network architecture.

During training of the generative adversarial networks, we train the two mentioned networks in alternating fashion. Furthermore, generator generates data and discriminator evaluates it. In continuation, we use the feedback from the discriminator to update the weights of both networks.

Training of such networks stops once the discriminator can’t tell fake from real data anymore.

Pros and cons

One of the key advantages of GANs is their ability to generate data that is similar to the training data. Furthermore, they’re able to do it without the need for explicit probabilistic models or hadcrafted features.

They’re also very versatile tools, which found their way in many different applications. Some of which is text-to-image translation.

However, they don’t come without pitfalls, one of which is something we call mode collapse. This is where generator network produces limited variation in the generated data. Another problem that can occur is an instability during training, where the two networks get stuck in a suboptimal solution.


To conclude, generative adversarial networks are powerful tools for generating realistic data.

I hope this article helped you gain a better undestanding what GANs are and how they work and perhaps even inspired you to learn about them even more.

Share this article:

Related posts