GANs, a modern perspective

Shravan Murali
Oct 7, 2017 · 8 min read
Check out pix2pix here

A brief introduction

What’s wrong with today’s deep neural nets ?

Adding some amount of noise to the correctly classified panda image makes a DNN model misclassify it as a gibbon !
The pictures on the left are correctly classified and those on the right (after adding the distort) are misclassified as an ostrich

What are the reasons for such adversaries ?

How do we rectify these deep neural nets ?

What exactly are these “Generative Adversarial Networks” ?

A simple flowchart of a GAN

Basic Math behind GANs

Term I

Expected Log likelihood of discriminator output when the samples from original data distribution are passed as input

Term II

Expected Log likelihood of discriminator output when the image(s) from generator’s output are passed onto discriminator

Types of GANs and their architectures

Vanilla GAN

This is the algorithm for the very first GAN. It was taken from its paper written in 2014

DCGAN (Deep Convolutional GAN)

Architecture of the generator in the first DCGAN as in its paper
A layer with 3 X 3 cross-section is being mapped to a layer with 5 X 5 cross-section
This image was taken from the DCGAN paper. This is after 5 epochs of training

CGAN (Conditional GAN)

LAPGAN (Laplacian Pyramid GAN)

Laplacian pyramid

Other types of GANs

Problems with GANs and scope for research

Possible improvements to GANs

Popular applications

Popular GAN implementations/libraries

Other notable Github repos on GANs

GAN Tutorials

Shravan’s Blog

My tech blog mainly focussed on computer science domains like A.I. and Distributed Systems. Check shravanmurali.com if you wanna know more about me !

Shravan Murali

Written by

shravanmurali.com

Shravan’s Blog

My tech blog mainly focussed on computer science domains like A.I. and Distributed Systems. Check shravanmurali.com if you wanna know more about me !