Welcome to the CSOC ML Week 3, dear ML enthusiasts! This week we move to a different domain of computer vision, generative models, and see how convolutional neural networks can be used to solve the unsupervised problem of generating realistic images by modelling it as a supervised learning problem through GANs (Generative Adversarial Networks). We will be looking at the different types of GANs and their usage in image-to-image translation tasks.
Images generated by Deep Convolutional Generative Adversarial Networks
Before we get started it is important that you have completed these things:
Neural Networks and Deep Learning(resources provided in Week 0 and 1).
Convolutional Neural Networks course by Andrew NG(atleast till Week 3).
You must go through the above(if not already done) to understand the basics of Convolutional Neural Networks and its applications.
This week, we will get started with Transposed Convolutions as they are the building blocks of Generative Models. This medium article below will give you the intuition behind transposed convolutions.
Understand Transposed Convolutions
To understand UpSampling (another operation used in GANs), you can look into this video. (Optional)
Pooling and Upsampling - Week 2: Deep Convolutional GANs | Coursera
This week we will be learning about generative adversarial networks. The concept behind GANs is to take a dataset of unlabelled images, and try to generate new photorealistic high-quality images which appear as if they are from the original dataset itself. They can also be used to generate images with different styles.
Components of GANs:
The goal of the generator is to fool the discriminator into believing that the fake images it produces are actually from the original dataset. You can go through the article below to understand the intuition behind the
A Gentle Introduction to Generative Adversarial Networks (GANs) - Machine Learning Mastery