Generative Adversarial Networks (GANs) Specialization

About GANs

Generative Adversarial Networks (GANs) are powerful machine learning models capable of generating realistic image, video, and voice outputs. 

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.


About this Specialization

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.

 

About you

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.

Course 1

Build Basic Generative Adversarial Networks (GANs)

Course 2

Build Better Generative Adversarial Networks (GANs)

Course 3

Apply Generative Adversarial Networks (GANs)

Course 1: Build Basic Generative Adversarial Networks (GANs)

This is the first course of the Generative Adversarial Networks (GANs) Specialization.

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)

This is the second course of the Generative Adversarial Networks (GANs) Specialization.

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)

This is the third course in the Generative Adversarial Networks (GANs) Specialization.

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

 

Frequently Asked Questions

What are Generative Adversarial Networks (GANs)?

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.

What are the applications of GANs?

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.

Why are GANs important?

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.

What is the GANs Specialization about?
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.

What will I learn in the GANs Specialization?

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.

Who is the GANs Specialization for?

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.

What background knwoledge is necessary?

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.

What will I be able to do upon completing 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.

Who created the GANs Specialization?

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.

Is this a stand-alone Course or a Specialization?

This is a Specialization made up of 3 courses. 

How do I take the GANs Specialization?

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

Do I need to take the courses in a specific order?

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

How much does the Specialization cost?

A Coursera subscription costs $49 / month. Course 1 and Course 2 of this Specialization are available right now. Course 3 will be announced soon.

Can I apply for financial aid?

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.

Can I audit the Specialization?

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.

Will I receive a certificate at the end of the Specialization?

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 n courses in the S12n and are subscribed to the Specialization, you will also receive an additional certificate showing that you completed the entire Specialization.

How long does it take to complete the 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.

About the Instructors

Sharon Zhou

Sharon Zhou

Course Instructor, DeepLearning.AI

Sharon Zhou is a CS PhD candidate at Stanford University, advised by Andrew Ng. Sharon’s work in AI spans from the theoretical to the applied — in medicine, climate, and more broadly, social good. Previously a machine learning product manager at Google and a few 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.

Eda Zhou

Eda Zhou

Curriculum Developer, DeepLearning.AI

Eda Zhou completed her Bachelor’s and Master’s degrees in Computer Science from Worcester Polytechnic Institute. With a concentration in cybersecurity, Eda is driven to work with new technologies to protect the user, especially in the field of computer networks. A student of AI and machine learning, Eda is deeply interested in exploring how cutting-edge techniques can be applied to security.

Eric Zelikman

Eric Zelikman

Curriculum Developer, DeepLearning.AI

Eric Zelikman is a deep learning engineer fascinated by how (and whether) algorithms learn meaningful representations. A recent graduate from Stanford’s Symbolic Systems program, Eric studies efficient, robust, and disentangled representations across ML fields. Eric hopes machine learning can teach us about non-machine learning and help us overcome the challenges facing humanity.

We use cookies to collect information about our website and how users interact with it. We’ll use this information solely to improve the site. You are agreeing to consent to our use of cookies if you click ‘OK’. All information we collect using cookies will be subject to and protected by our Privacy Policy, which you can view here.

OK