Generative Adversarial Networks Specialization

  • 3 courses
  • Intermediate
  • >
    3 months (8 hours/week)
  • >
    Sharon Zhou, Eda Zhou, Eric Zelikman

What you will learn

Understand GAN components, build basic GANs using PyTorch and advanced DCGANs using convolutional layers, control your GAN and build conditional GAN

Compare generative models, use FID method to assess GAN fidelity and diversity, learn to detect bias in GAN, and implement StyleGAN techniques

Use GANs for data augmentation and privacy preservation, survey GANs applications, and examine and build Pix2Pix and CycleGAN for image translation

Skills you will gain

  • Generator
  • Image-to-Image Translation
  • Glossary of Computer Graphics
  • Discriminator
  • Generative Adversarial Networks
  • Controllable Generation
  • WGANs
  • Conditional Generation
  • Components of GANs
  • DCGANs
  • Bias in GANs
  • StyleGANs

The DeepLearning.AI Generative Adversarial Networks (GANs) Specialization provides an exciting introduction to image generation with GANs, charting a path from foundational concepts to advanced techniques through an easy-to-understand approach. It also covers social implications, including bias in ML and the ways to detect it, privacy preservation, and more.

Build a comprehensive knowledge base and gain hands-on experience in GANs. Train your own model using PyTorch, use it to create images, and evaluate a variety of advanced GANs.


Syllabus

Course 1: Build Basic Generative Adversarial Networks (GANs)

In this course, you will: Learn about GANs and their applications; Understand the intuition behind the fundamental components of GANs; Explore and implement multiple GAN architectures; Build conditional GANs capable of generating examples from determined categories.

Enroll

Week 1: Intro to GANs

  • Learn about GANs and their applications, understand the intuition behind the basic components of GANs, and build your very own GAN using PyTorch.

Week 2: Deep Convolutional GAN

  • Build a more sophisticated GAN using convolutional layers. Learn about useful activation functions, batch normalization, and transposed convolutions to tune your GAN architecture and apply them to build an advanced DCGAN specifically for processing images.

Week 3: Wasserstein GANs with Normalization

  • Reduce instances of GANs failure due to imbalances between the generator and discriminator by learning advanced techniques such as WGANs to mitigate unstable training and mode collapse with a W-Loss and an understanding of Lipschitz Continuity.

Week 4: Conditional and Controllable GANs

  • Understand how to effectively control your GAN, modify the features in a generated image, and build conditional GANs capable of generating examples from determined categories.

Course 2: Build Better Generative Adversarial Networks (GANs)

In this course, you will: Assess the challenges of evaluating GANs and compare different generative models; Use the Fréchet Inception Distance (FID) method to evaluate the fidelity and diversity of GANs; Identify sources of bias and the ways to detect it in GANs; Learn and implement the techniques associated with the state-of-the-art StyleGANs.

Enroll

Week 1: GAN Evaluation

  • Understand the challenges of evaluating GANs, learn about the advantages and disadvantages of different GAN performance measures, and implement the Fréchet Inception Distance (FID) method using embeddings to assess the accuracy of GANs.

Week 2: GAN Disadvantages and Bias

  • Find out the disadvantages of GANs when compared to other generative models, discover the pros/cons of these models — plus, learn about the many places where bias in machine learning can come from, why it’s important, and an approach to identify it in GANs.

Week 3: StyleGAN and Advancements

  • Understand how StyleGAN improves upon previous models and implement the components and the techniques associated with StyleGAN, currently the most state-of-the-art GAN with powerful capabilities

Course 3: Apply Generative Adversarial Networks (GANs)

In this course, you will: Explore the applications of GANs and examine them wrt data augmentation, privacy, and anonymity; Leverage the image-to-image translation framework and identify applications to modalities beyond images; Implement Pix2Pix, a paired image-to-image translation GAN, to adapt satellite images into map routes (and vice versa); Compare paired image-to-image translation to unpaired image-to-image translation and identify how their key difference necessitates different GAN architectures; Implement CycleGAN, an unpaired image-to-image translation model, to adapt horses to zebras (and vice versa) with two GANs in one.

Enroll

Week 1: GANs for Data Augmentation and Privacy Preservation

  • Explore the applications of GANs and examine them wrt data augmentation, privacy, and anonymity
  • Improve your downstream AI models with GAN-generated data

Week 2: Image-to-Image Translation

  • Leverage the image-to-image translation framework and identify extensions, generalizations, and applications of this framework to modalities beyond images
  • Implement Pix2Pix, a paired image-to-image translation GAN, to adapt satellite images to map routes (and vice versa) with advanced U-Net generator and PatchGAN discriminator architectures

Week 3: Image-to-Image Unpaired Translation

  • Compare paired image-to-image translation to unpaired image-to-image translation and identify how their key difference necessitates different GAN architectures
  • Implement CycleGAN, an unpaired image-to-image translation model, to adapt horses to zebras (and vice versa) with two GANs in one

Program Instructors

Sharon Zhou Instructor

Computer Science, Stanford University

Eda Zhou Curriculum Developer

Eda Zhou completed her Bachelor’s and Master’s degrees in Computer Science from Worcester Polytechnic Institute.

Eric Zelikman

Sign Up

Be notified of new courses

    Frequently Asked Questions

    Generative Adversarial Networks (GANs) are powerful machine learning models capable of generating realistic image, video, and voice outputs. They are algorithmic architectures that use two neural networks, pitting one against the other in order to generate new instances of data.

    Rooted in game theory, GANs have wide-spread application: from improving cybersecurity by fighting against adversarial attacks and anonymizing data to preserve privacy to generating state-of-the-art images, colorizing black and white images, increasing image resolution, creating avatars, turning 2D images to 3D, and more.

    As computing power has increased, so has the popularity of GANs and its capabilities. GANs have opened up many new directions: from generating high amounts of datasets for training machine learning models and allowing for powerful unsupervised learning models to producing sharper, discrete, and more accurate outputs. GANs have also informed research in adjacent areas like adversarial learning, adversarial examples and attacks, model robustness, etc.

    The DeepLearning.AI Generative Adversarial Networks (GANs) Specialization provides an exciting introduction to image generation with GANs, charting a path from foundational concepts to advanced techniques through an easy-to-understand approach. It also covers social implications, including bias in ML and the ways to detect it, privacy preservation, and more.

    Build a comprehensive knowledge base and gain hands-on experience in GANs. By the end, you would have trained your own model using PyTorch, used it to create images, and evaluated a variety of advanced GANs.

    Specialization: Gain practical knowledge of how generative models work. Construct and design your own generative adversarial model. Analyze how generative models are being applied in various commercial and exploratory applications.

    Course 1: In this course, you will understand the fundamental components of GANs, build a basic GAN using PyTorch, use convolutional layers to build advanced DCGANs that processes images, apply W-Loss function to solve the vanishing gradient problem, and learn how to effectively control your GANs and build conditional GANs.

    Course 2: In this course, you will understand the challenges of evaluating GANs, compare different generative models, use the Fréchet Inception Distance (FID) method to evaluate the fidelity and diversity of GANs, identify sources of bias and the ways to detect it in GANs, and learn and implement the techniques associated with the state-of-the-art StyleGAN.

    Course 3: In this course, you will use GANs for data augmentation and privacy preservation, survey more applications of GANs, and build Pix2Pix and CycleGAN for image translation.

    This Specialization is for software engineers, students, and researchers from any field, who are interested in machine learning and want to understand how GANs work.

    This Specialization provides an accessible pathway for all levels of learners looking to break into the GANs space or apply GANs to their own projects, even without prior familiarity with advanced math and machine learning research.

    Learners should have a working knowledge of AI, deep learning, and convolutional neural networks. They should have intermediate Python skills as well as some experience with any deep learning framework (TensorFlow, Keras, or PyTorch). Learners should be proficient in basic calculus, linear algebra, and statistics.

    We highly recommend that you complete the Deep Learning Specialization prior to starting the GANs Specialization.

    After completing this Specialization, you will have learned how to achieve the state-of-the-art in realistic generation. You will be able to generate realistic images, edit those images by controlling the output in a number of ways (eg. convert a horse to a zebra or lengthen your hair or make yourself older), quantitatively compare generators, convert an image to another (eg. turning a sketch into a photo-realistic version), animate still images, solve many of the challenges that GANs are notorious for, and more.

    This Specialization was created by Sharon Zhou, a CS PhD candidate at Stanford University, advised by Andrew Ng. Sharon Zhou’s work in AI spans from theoretical to applied, in medicine, climate, and more broadly, social good. Previously a machine learning product manager at Google and various startups, Sharon is a Harvard graduate in CS and Classics. She likes humans more than AI, though GANs occupy a special place in her heart.

    This is a Specialization made up of 3 courses.

    You can enroll in the DeepLearning.AI GANs Specialization on Coursera. You will watch videos and complete assignments on Coursera as well.

    We recommend taking the courses in the prescribed order for a logical and thorough learning experience.

    A Coursera subscription costs $49 / month.

    Yes, Coursera provides financial aid to learners who cannot afford the fee. Visit the Coursera Course Page and click on ‘Financial Aid’ beneath the ‘Enroll’ button on the left.

    You can audit the courses in the Specialization for free. Visit the Course Page, click on ‘Enroll’ and then click on ‘Audit’ at the bottom of the page. Note that you will not receive a certificate at the end of the course if you choose to audit it for free instead of purchasing it.

    You will receive a certificate at the end of each course if you pay for the courses and complete the programming assignments. There is a limit of 180 days of certificate eligibility, after which you must re-purchase the course to obtain a certificate. If you audit the course for free, you will not receive a certificate.

    If you complete all 3 courses in the GANs Specialization and are subscribed to the Specialization, you will also receive an additional certificate showing that you completed the entire Specialization.

    This specialization consists of three courses. At the rate of 5 hours a week, it typically takes 3-4 weeks to complete each course.