# Generative Adversarial Network (GAN)
[Getting Started with Generative Adversarial Networks (GANs)](https://machinelearningmastery.com/start-here/#gans)
Generative Adversarial Networks (GAN) are an approach to generative modeling using deep learning methods such as convolutional neural networks (CNNs).
Generative modeling is an unsupervised learning task in machine learning (ML) that involves automatically discovering and learning the regularities or patterns in input data in such a way that the model can be used to generate or output new examples that plausibly could have been drawn from the original dataset.
GANs are a clever way of training a generative model by framing the problem as a supervised learning problem with two sub-models: the generator model that we train to generate new examples and the discriminator model that tries to classify examples as either real (from the domain) or fake (generated).
The two models are trained together in a zero-sum adversarial game until the discriminator model is fooled about half the time which means the generator model is generating plausible examples.
GANs are an exciting and rapidly changing field, that deliver on the promise of generative models in their ability to generate realistic examples across a range of problem domains: image-to-image translation tasks such as translating photos of summer to winter or day to night and generating photorealistic photos of objects, scenes, and people that even humans cannot tell are fake.
[A Gentle Introduction to Generative Adversarial Networks (GANs)](https://machinelearningmastery.com/what-are-generative-adversarial-networks-gans/)
[A Tour of Generative Adversarial Network Models](https://machinelearningmastery.com/tour-of-generative-adversarial-network-models/)
[Generative Adversarial Networks 101](https://towardsdatascience.com/generative-adversarial-networks-101-c4b135a440d5?source=linkShare-d5796c2c39d5-1639505229&_branch_referrer=H4sIAAAAAAAAA8soKSkottLXz8nMy9bLTU3JLM3VS87P1XesTA01M85Ij8pJAgA66TofIwAAAA%3D%3D&_branch_match_id=994707642716437243)
[How to Code the GAN Training Algorithm and Loss Functions](https://machinelearningmastery.com/how-to-code-the-generative-adversarial-network-training-algorithm-and-loss-functions/)
[How to Implement GAN Hacks in Keras to Train Stable Models](https://machinelearningmastery.com/how-to-code-generative-adversarial-network-hacks/)