Loading...

Introduction to Generative Adversarial Networks

Deep Learning Course 5 of 5 - Level: Advanced

GAN Course Introduction - Intuitive Intro To Generative Adversarial Networks

video

expand_more chevron_left

text

expand_more chevron_left

GAN Course Introduction - Intuitive Intro to Generative Adversarial Networks

Welcome to this course on Generative Adversarial Networks, otherwise known as GANs!

GANs are an amazing deep learning tool that we can use to create new data. This is in great contrast to many applications of deep learning that are used to classify existing data.

In this course, we'll start from the absolute basics by learning the fundamental building blocks of GANs. By the end of the course, we'll be implementing GANs in code to create cool, new data and see how it compares to real-world data.

Applications of GANs

GANs can be applied in a number of ways. One of their major applications has been in image generation.

This application alone is already utilized in a number of fields, such as art, advertising, video games, face filters, fashion, architecture, and design.

GAN use is not confined to imagery, however. Aside from imagery, GANs have also been applied to create audio, 3D models, and many other miscellaneous applications across fields and disciplines.

Example: This person does not exist

Let's explore an example of a very well known GAN called StyleGAN2 that has been used to generate images of human faces at thispersondoesnotexist.com.

The people shown in these photos literally do not exist! These images were created by a GAN and are not simply a re-creation of photos of existing people. The accuracy and realism of these images is totally mind-blowing!

Sometimes, though, we may be able to spot something out of place that alerts us to the fact that the image has been generated and is not of a real person.

We can see with this example that the glasses on the woman's face are not believable as they're not completely formed. We can also see that the earring on the right is pretty wacky as well.

Later in the course, we'll explore how exactly a GAN is capable of creating images. For now, let us get our first intuitive introduction to what a GAN actually is.

What is a GAN?

GANs originally came onto the scene in 2014 in a paper titled Generative Adversarial Nets developed by Ian Goodfellow and colleagues.

A GAN is made up of two artificial neural networks, a generator network and a discriminator network.

drawing

For now, we won't go into much detail about the architecture or technicalities of these networks, but rather, we'll first discuss the general intuition behind each of them. We'll dissect the technical details of these networks in a later episode.

The Generator Network

The first network of a GAN is called the generator. This network accepts input, and from that input, generates new data. The generator's objective is to create data that is realistic or perceived to be real.

Think about the images of faces that we just looked at. These faces were generated by a GAN and look super realistic. Even us humans, who are pros at identifying fellow humans, often fail at looking at these faces and identifying them as being generated or fake.

drawing

Note, we'll often interchange the words generated and fake when discussing data that was generated by the generator network of a GAN.

The Discriminator Network

The second network is called the discriminator. The discriminator's job is to look at the data created by the generator and attempt to determine if it is real or generated data.

drawing

The discriminator is actually just a binary classifier trained on labeled real and generated data, classifying the data as real or fake.

Again, we'll go into much of the technical details behind these tasks a little later.

GAN Course Overview

Now that we have the highest-level general understanding of a GAN, we'll pause to discuss what's in store for the course and check out the syllabus.

This course is jam-packed with a ton of info for anyone who is interested to learn about Generative Adversarial Networks. We take a multifaceted teaching approach where we learn GAN fundamentals from three different perspectives:

  • Intuition
  • Math
  • Code

We'll start from the absolute basics by developing an intuition for the fundamental building blocks of GANs. Then we'll explore the math behind how GANs work, and by the end of the course, we'll be developing full GAN projects in code across two neural network APIs.

The entire course is completely self-paced, so you're free to take as little or as long as you'd like to move through and simmer on the material. Once you register, you'll have lifetime access to the course contents!

Course Prerequisites

Now let's discuss the prerequisites required for this course.

  • Basic understanding of deep learning and neural networks
  • Basic coding skills
  • Basic Python experience
  • Neural Network API experience (recommended, not required)

If you are brand new to deep learning, then it is recommended that you start with our Deep Learning Fundamentals course first, as we'll be building on these fundamental concepts to form our understanding of GANs.

The Deep Learning Fundamentals course will teach you everything you need to know to get acquainted with all the major deep learning concepts. You can then take your newly gained knowledge from that course, and come to apply it in this GANs course.

Later in the course, we'll jump into code projects to apply what we've learned about GANs.

We'll be going step-by-step through the code when we get there, but in regards to coding prerequisites, some basic coding skills and Python experience are needed.

It's also recommended, but not necessarily required, to have experience with a neural network API, like PyTorch or TensorFlow. You can check out our courses for these APIs to get acquainted with how they work before we implement GANs in code later in the course.

Course Resources

This course has plenty of resources to ensure your success. This is a premium course, and so to gain access to the contents, you must first register.

By registering for the course, you will unlock lifetime access to:

  • 34 ad-free 4K video lessons
  • 100 pages of fully written corresponding lecture notes
  • Custom-made quizzes following each lesson
  • Download access to all code files used in this course
  • Exclusive access to the Discord server available only to students of this course
  • Customized visual graphics and interactive demos created solely for this course
  • Regularly tested and maintained code providing updates and fixes

For more detailed information about course resources and what you'll learn in the course, see the official course release blog.

How to register for the course

Registration consists of two steps: creating an account on deeplizard.com and purchasing the course.

  1. Create a deeplizard account.
    1. Click the Login link on the top right of any page of deeplizard.com.
    2. Click create account.
    3. Enter a valid email address and password.
    4. Enter the verification code sent to your email address.
  2. Purchase the course.
    1. Ensure you're logged in to deeplizard.com.
    2. Browse to the course page.
    3. Click the Buy Now button.
    4. Agree to the Terms and Conditions.
    5. Enter your payment details. If you have a discount code, you may enter it here.
    6. Upon successful payment, the course will become unlocked, and you may view the full contents.

Course Syllabus

Now let us cover the syllabus for the course.

  • Part 1: Introduction to Generative Adversarial Networks
    • Section 1: GAN Components
      • Intuitive Introduction to GANs
      • The Adversarial Relationship in a GAN
      • The GAN Discriminator - Discriminative Models
      • The GAN Generator - Generative Models
    • Section 2: GAN Training
      • Upsampling Explained - How it's Used in GANs
      • Interactive Upsampling Demo
      • Upsampling Code Demo with Neural Network APIs
      • Transposed Convolutions Explained
      • Interactive Transposed Convolution Demo
      • Transposed Convolution Code Demo with Neural Network APIs
      • Binary Cross Entropy (BCE) Loss for GANs - Intuitive Introduction
      • Binary Cross Entropy (BCE) Loss for GANs - Mathematical Introduction
      • Binary Cross Entropy (BCE) Loss for GANs - The Minimax Game
      • GAN Training Explained
  • Part 2: GAN Code Project
    • Section 1: Deep Convolutional GANs (DCGAN)
      • DCGAN Introduction - Deep Convolutional GANs
      • GAN Generator Input Code Demo
      • DCGAN Project Intro - Prerequisites and Datasets
      • DCGAN Project Setup - Google Colab Environment
    • Section 2: DCGAN PyTorch Code Implementation
      • Data Processing and Hyperparameters
      • Build Generator and Discriminator Networks
      • Evaluating GAN Training Performance
      • Train DCGAN on MNIST
      • Visualize Training Results
      • Train DCGAN on Faces
    • Section 3: DCGAN TensorFlow Code Implementation
      • Data Processing and Hyperparameters
      • Build Generator and Discriminator Networks
      • Evaluating GAN Training Performance
      • Train DCGAN on MNIST
      • Visualize Training Results
      • Train DCGAN on Faces
    • Section 4: Code Demos for Additional Fundamental Topics
      • GAN Input Code Demo - Reshaping and Projecting Data
      • Inplace Operations Code Demo - Memory vs Data Preservation
      • Computational Graphs for Neural Networks Code Demo
      • Course Conclusion

Additional code demos will be inserted throughout the course to demonstrate the code implementation of the fundamental concepts covered in lessons. View a more detailed syllabus on the course page.

I hope you're excited to follow along with the course. Let's jump in!

quiz

expand_more chevron_left
deeplizard logo DEEPLIZARD Message notifications

Quiz Results

resources

expand_more chevron_left
Welcome to this brand new premium deeplizard course, an Introduction to Generative Adversarial Networks (GANs)! This is the full first lesson of the course available as a preview to the course at large. Find out more information about the course and how to register here: ✨ See the course page to get an overview of the course and register: πŸ”— https://deeplizard.com/course/gacpailzrd ✨ Explore the course introduction to gain full details about the course and how to register: πŸ”— https://deeplizard.com/lesson/gaa0ailzrd In this course, we'll start from the absolute basics by learning the fundamental building blocks of GANs. By the end of the course, we'll be implementing GANs in code to create cool, new data and seeing how it compares to real-world data. In this first lesson, we'll start with a brief introduction to GANs and their current applications, and we'll also cover the syllabus and course resources. πŸ•’πŸ¦Ž VIDEO SECTIONS πŸ¦ŽπŸ•’ 00:00 Welcome to DEEPLIZARD - Go to deeplizard.com for learning resources 00:28 Course intro 01:33 This person does not exist 08:30 Intro to GANs 10:32 Course prerequisites 11:34 Course syllabus 12:27 Collective Intelligence and the DEEPLIZARD HIVEMIND πŸ’₯🦎 DEEPLIZARD COMMUNITY RESOURCES 🦎πŸ’₯ πŸ‘‹ Hey, we're Chris and Mandy, the creators of deeplizard! πŸ‘€ CHECK OUT OUR VLOG: πŸ”— https://youtube.com/deeplizardvlog πŸ’» DOWNLOAD ACCESS TO CODE FILES πŸ€– Available for members of the deeplizard hivemind: πŸ”— https://deeplizard.com/resources ❀️🦎 Special thanks to the following polymaths of the deeplizard hivemind: Tammy Zach Wimpee Jimmy Nguyen πŸ‘€ Follow deeplizard: Our vlog: https://youtube.com/deeplizardvlog Facebook: https://facebook.com/deeplizard Instagram: https://instagram.com/deeplizard Twitter: https://twitter.com/deeplizard Patreon: https://patreon.com/deeplizard YouTube: https://youtube.com/deeplizard πŸŽ“ Deep Learning with deeplizard: Fundamental Concepts - https://deeplizard.com/learn/video/gZmobeGL0Yg Beginner Code - https://deeplizard.com/learn/video/RznKVRTFkBY Intermediate Code - https://deeplizard.com/learn/video/v5cngxo4mIg Advanced Deep RL - https://deeplizard.com/learn/video/nyjbcRQ-uQ8 πŸŽ“ Other Courses: Data Science - https://deeplizard.com/learn/video/d11chG7Z-xk Trading - https://deeplizard.com/learn/video/ZpfCK_uHL9Y πŸ›’ Check out products deeplizard recommends on Amazon: πŸ”— https://amazon.com/shop/deeplizard πŸ“• Get a FREE 30-day Audible trial and 2 FREE audio books using deeplizard's link: πŸ”— https://amzn.to/2yoqWRn 🎡 deeplizard uses music by Kevin MacLeod πŸ”— https://youtube.com/channel/UCSZXFhRIx6b0dFX3xS8L1yQ πŸ”— http://incompetech.com/ ❀️ Please use the knowledge gained from deeplizard content for good, not evil.

updates

expand_more chevron_left
deeplizard logo DEEPLIZARD Message notifications

Update history for this page

Did you know you that deeplizard content is regularly updated and maintained?

  • Updated
  • Maintained

Spot something that needs to be updated? Don't hesitate to let us know. We'll fix it!


All relevant updates for the content on this page are listed below.