Udemy
    •  
    •  
    •  
    •  
    •  
    •  
    •  
    •  
Turn what you know into an opportunity and reach millions around the world.
Learn More
Your cart is empty.
Keep shopping
Deep Learning: Introduction to GANs
Rating: 4.1 out of 5(8 ratings)
50 students

Deep Learning: Introduction to GANs

Generative Adversarial Networks with Python and Tensorflow
Created byDaj Katal
Last updated 12/2020
English

What you'll learn

  • Understand the principles of GANs and how they work internally
  • The mathematics behind four loss functions: Minimax, Non-Saturating, Least Squares, and Wasserstein
  • How to determine the quality of the data a GAN produces
  • How to generate numbers from the MNIST Dataset
  • Apply GAN to new datasets

Course content

2 sections15 lectures1h 59m total length
  • Intro to GANs9:52
  • Deriving the MiniMax Loss Function11:44

    Explore the derivation of the loss functions in the original gan paper, linking real and generated image distributions through the discriminator and generator, with binary cross-entropy and Nash equilibrium.

  • Why MiniMax leads to unstable training3:59
  • Analysis of Non-Saturating Loss Function3:53
  • Analysis of Least Squares Loss Function3:56
  • Analysis of Wasserstein Loss Function3:10
  • The Frechet Inception Distance5:41
  • GAN Architecture Used5:37

    Explore the GAN architecture used as a tunable hyperparameter for 28x28 images, including convolutional and transposed layers, relu and leaky relu activations, normalization, and a final dense output.

Requirements

  • It is recommended that you know Python and the basics of Tensorflow
  • You need to have an intermediate understanding on Neural Networks and the math behind them

Description

Want to learn how to build a Generative Adversarial Network (GAN) from scratch without drowning in jargon? This course walks you through it step by step.

First, we break the model into its two main players. The generator takes random numbers and tries to turn them into believable images. The discriminator looks at both real and fake pictures and guesses which is which. They train together like friendly rivals, each round makes the generator better at faking and the discriminator sharper at spotting fakes.

Next, we talk about how they learn. You’ll see the basic “real vs fake” loss used in vanilla GANs, plus newer options like Wasserstein loss that often keep training steady. To measure progress, we swap confusing loss curves for a clearer score called Frechet Inception Distance (FID). Lower FID means your images look more like the real thing, and we’ll show you exactly how to compute it.

Finally, we put everything into code. Using Python and TensorFlow 2, you’ll write a clean training loop, run it on a GPU, and add simple tricks, like label smoothing and spectral normalization, that help the model learn faster and avoid weird artifacts. We start with MNIST digits, but the code is written so you can plug in any image set (pets, landscapes, medical scans) without major changes.

Who this course is for:

  • People who have never worked with GANs and want to learn it
  • People who want to get a GAN framework that they can use right away
  • People who want to generate more data for their machine learning models