
Outline the content for each section in the course and briefly introduce the different GAN models and techniques to be taught in this course.
Some learners have reported versioning issues with PyTorch and Hidden Layer, and in this quick heads-up there is a modified notebook that resolves the issue.
A quick refresher on PyTorch and Deep Neural Networks by walking through LeNet5 Architecture. Learn how machines learn using backpropagation algorithm. Learn the building blocks of LeNet5 convolutional network for MNIST dataset. Implement LeNet5 architecture using PyTorch Modules.
Explanation of how computers calculate derivatives and how PyTorch uses derivatives and what APIs available for calculating them. Understand the automatic differentiation algorithm for calculating derivatives. Highlight PyTorch autograd mechanics and available built-in methods. Implement backpropagation using PyTorch optimizers and backward methods.
Introduction to custom loss functions in PyTorch and why this matters in GANs with a decent background on information theory. Understand Cauchy-Schwarz Divergence objective function. Understand Entropy, Cross-Entropy and their applications to Deep Learning. Implement custom loss function using PyTorch and Train a classifier model on MNIST dataset.
Walkthrough the basic idea of generative modeling and the innovative applications of GANs. The working of probability density approximation techniques. The architecture of basic generative adversarial networks. Demonstrate various applications of GANs.
A thorough discussion of GANs objective formulation, training paradigm, and Ian Goodfellow GAN architecture with a premium illustration of maxout activation function. GANs objective formulation as a min-max adversarial game. GANs training paradigm and convergence criteria. Maxout Activation Function and Gans Evaluation Techniques.
Step by step tutorial on how to implement a basic GAN using PyTorch. Training on GPU versus CPU. Generator and Discriminator models design and implementation using torch.nn.Module and torch.nn.Sequential. Implementation of Maxout activation function as a custom PyTorch Module.
Hands-on tutorial on how to train the generator and the discriminator maintaining the adversarial game equilibrium. Load MNIST dataset using Torch Vision Datasets, Transforms, and DataLoader APIs. Define Optimizers, Loss Function, Real Labels, Fake Labels, and Fixed Noise. Train both the generator and the discriminator in tandem and visualize the results using Torch Vision Utils.
Hands-on tutorial on how to implement the Inception Score for objective evaluation of the quality of the images generated from GAN models. Understand the mathematical formulation of the inception score.
You will implement the Frechet Inception Distance. FID is a superior metric to the inception score in terms of its measure of the diversity of the generated images. You will learn how to use Inception Network as a feature extractor aka representation learning. You will get your hands dirty calculating the mean and the variance using numpy and scipy.
The working of conditional GANs covering the background and different topics associated with them.The Mode Collapse problem in GANs and how to spot and interpret instability in the adversarial game.Understanding Conditional Probability with an illustrative example and a Venn diagram.The conditional GANs architecture and objective function formulation.
A comprehensive step by step hands-on tutorial to implement Conditional GANs using PyTorch with learning rate decay, loss visualization, custom preprocessing functions, and one-hot encoding. Design both generator and discriminator and allow them to accept conditions as parametersLoad the dataset using Torch Vision and implement a custom preprocessing function define optimizers with a learning rate decay, implement one-hot-encoding in PyTorch, and train the models.
A comprehensive walk-through the concepts and theories addressing mode collapse, vanishing gradients, f-divergences, and the nuts and bolts of Wasserstein GANs.Understanding Mode Collapse, Vanishing Gradients, f-divergence distance metrics.The characteristics of f-divergence distance as objective functions in GANs. Why choose Wasserstein loss an why it works and how to formulate the objective function
Complete hands-on step by step tutorial on how to implement WGAN with an illustrative demo of how the derivatives are calculated and a bonus visualization of learning rate schedulers available in PyTorch.Implement both Kullback-Leibler divergence and Earth-Mover Distance loss functions. Define optimizers, global variables, labels vectors, and fixed noise vectors. Apply learning rate decay and train the model. Visualize the model results, step by step guide on backpropagation for WGAN, and a bonus demo of learning rate decay.
In this lecture, you will learn and implement Gradient Penalty Wasserstein Generative Adversarial Networks, GP-WGAN, and learn the pros and cons of weights trimming versus gradient norms penalty, you will have a step by step detailed hands-on tutorial to apply gradient penalty loss to WGAN.
How deep convolutional GANs work and the advantage of using vectors representations learned in the process.The working of convolution, transpose convolution, max-pooling, and strided convolution operations.Comparison of Sigmoid and Tanh activation functions and the required image preprocessing for each one of them.Understanding representation learning and how to apply vector arithmetics.
A detailed discussion of Auxiliary GANs and relevant architecture design. Includes a brief walk-through of different GANs evaluation techniques at a decent level of detail. The motivation behind Auxiliary GANsAuxiliary GANs architecture and objective formulation.GANs evaluation using Inception Score and Image Similarity Metrics.
A detailed discussion of Auxiliary GANs and relevant architecture design. Includes a brief walk-through of diffrent GANs evaluation techniques in a decent level of detail.The motivation behind Auxiliary GANsAuxiliary GANs architecture and objective formulation.GANs evaluation using Inception Score and Image Similarity Metrics.
Hands-on tutorial on how to implement Auxiliary GANs.Design the generator and the discriminator with appropriate labels conditions parameters. Apply a custom weight initialization method using PyTorchTrain the models, track the progress on Tensorboard, and visualize the results.
A walk-through of the basic concepts behind the Progressive Growing of GANs and nuts and bolts of its building blocks. The motivation behind the Progressive Growing of GANs and why it is superior to other types of GANs.The intuition and high-level architecture of progressive growing of GANs. Low-level discussion of the essential building blocks of progressive growing of GANs.
A very detailed step-by-step hands-on tutorial on how to implement progressive growing of GANs with Unit Testing and Visualization of every single block. Fetching, Preprocessing, and Visualization of CelebA dataset Implement and Visualize Pixelwise feature vector normalization for the Generator using PyTorch torch.nn.Module.Design, Implement, and Visualize both the Generator and the Discriminator models with the progressive growing of blocks and applying the alpha transition.
General guidelines to improve the stability of adversarial training and practical tricks towards more realistic results. Hyper-parameters optimization, mode collapse, and vanishing gradients remedies. Tips to improve the diversity of generated images.
Image Segmentation using U-Net ArchitectureBackground and motivation with Fully Convolutional NetworksU-Net architecture and building blocks.Loss function formulation and weights initialization for U-Net architecture.
A premiere of the building blocks and inner workings of Pix2Pix GANs and Cycle GANs for image to image translation and its applications using Pix2Pix GANsPatch GANs and other building blocks of Pix2Pix GANs.Unpaired image translation and Cycle GANs architecture, inner workings, and objective function formulation.
Implement Pix2Pix GANs for image translation using the facades dataset. Implement a custom image dataset class in PyTorch. Design a modified U-Net architecture. Design a PatchGAN architecture. Implement multiple loss functions for Pix2Pix GAN.
Implement CycleGAN on the facades dataset. Modify the custom image dataset class to handle unpaired source and target images. Implement Cyclic loss objective function for the unpaired image to image translation.
A complete discussion of Vid-2-Vid GANs, motivation, applications, objective function formulation and a hint on DVD-GANs.Vid-2-Vid GANs motivation, design considerations, and functional applications.Coarse-to-Fine Generator design and Multiple Discriminators architecture.Optical flow technique and optical flow loss formulation for videos.
A brief review of the source code of NVIDIA Vid-2-Vid GAN and a hint on FlowNet 2.0.Model training and video sequencing code snippet generator and discriminator models design and implementation. Training and Testing commands.
A farewell and a few recommendations to land a promising job in tech-based on your new skills acquired in this course.Learning and development career objectives and the importance of creativity, invention, and innovation. ML / DL competitions on online platforms such as Kaggle.
Learn how to utilize GANs for Text Generation using LeakGANs
Learn how GANs can be utilized to interactively manipulate faces
Learn how Markovian GANs inspired the usage of PatchGANs in Pix2PixGANs.
Learn how GANs can be utilized to learn Graph Representations that can be applied to recommenders and social networks analysis.
Master the basic building blocks of modern generative adversarial networks with a unique course that reviews the most recent research papers in GANs and at the same time gives the learner a very detailed hands-on experience in the topic. Start by learning the very basics of how GANs work and incrementally learn more cleverly crafted techniques that enhance your models from the basic GANs towards the more advanced Progressive Growing of GANs. On the journey, you shall learn a fair amount of deep learning concepts with an adequate discussion of the mathematics behind the modern models.