Class Generative Models.pptx
Class Generative Models.pptx
Deep Learning
Generative for Computer Vision
Models Slide #2
Supervised Learning
Supervised Learning
Deep Learning
Generative for Computer Vision
Models Slide #3
Supervised Learning
Supervised Learning
0.85
Data: (x, y) where x is data, y is label
Deep Learning
Generative for Computer Vision
Models Slide #4
Supervised Learning
Supervised Learning
Deep Learning
Generative for Computer Vision
Models Slide #5
Unsupervised Learning
Unspervised Learning
Data: x, NO labels!!
Deep Learning
Generative for Computer Vision
Models Slide #6
Unsupervised Learning
Unspervised Learning
Data: x, NO labels!!
the data
Principal Component Analysis
Deep Learning
Generative for Computer Vision
Models Slide #7
Unsupervised Learning
Unspervised Learning
Data: x, NO labels!!
Density estimation
Deep Learning
Generative for Computer Vision
Models Slide #8
Supervised vs Unsupervised Learning
Goal: Learn a function to map x -> y Goal: Learn some underlying hidden structure
of the data Solve unsupervised learning =>
understand structure of visual world
Deep Learning
Generative for Computer Vision
Models Slide #9
Generative Models
Deep Learning
Generative for Computer Vision
Models
Lecture 13 - Slide #10
Generative Models
• Implicit density estimation: learn model that can sample from p model(x) without explicitly defining it
Deep Learning
Generative for Computer Vision
Models Slide #11
Why Generative Model?
Deep Learning
Generative for Computer Vision
Models Slide #12
Why Generative Model?
• Generative models of time-series data can be used for simulation and planning.
Deep Learning
Generative for Computer Vision
Models Slide #13
Taxonomy of Generative Models
Generative Model
Figure copyright and adapted from Ian Goodfellow, Tutorial on Generative Adversarial Networks,
2017.
Deep Learning
Generative for Computer Vision
Models Slide #14
Fully visible belief network
Deep Learning
Generative for Computer Vision
Models Slide #15
Fully visible belief network
Deep Learning
Generative for Computer Vision
Models Slide #16
PixelRNN [van der oord et al.2016]
Deep Learning
Generative for Computer Vision
Models Slide #17
PixelRNN [van der oord et al.2016]
Deep Learning
Generative for Computer Vision
Models Slide #18
PixelRNN [van der oord et al.2016]
Deep Learning
Generative for Computer Vision
Models Slide #19
PixelRNN [van der oord et al.2016]
Deep Learning
Generative for Computer Vision
Models Slide #20
PixelCNN
Dependency on previous pixels now modeled using a CNN over context region
Deep Learning
Generative for Computer Vision
Models Slide #21
PixelCNN vs PixelRNN
Deep Learning
Generative for Computer Vision
Models Slide #22
Taxonomy of Generative Models
Generative Model
Figure copyright and adapted from Ian Goodfellow, Tutorial on Generative Adversarial Networks,
2017.
Deep Learning
Generative for Computer Vision
Models Slide #23
Autoencoders
Deep Learning
Generative for Computer Vision
Models Slide #24
Autoencoders
Encoder Decoder
Latent
Deep Learning
Generative for Computer Vision
Models Slide #25
Denoised Autoencoder
Deep Learning
Generative for Computer Vision
Models Slide #26
Autoencoder Application
Semantic Segmentation
Neural Inpainting
Deep Learning
Generative for Computer Vision
Models Slide #27
Variational Autoencoders (VAE)
Reconstruction loss
Deep Learning
Generative for Computer Vision
Models Slide #28
Variational Autoencoders (VAE)
Z=µ+σΘε
Where ε ~ normal(0,1)
Deep Learning
Generative for Computer Vision
Models Slide #29
Variational Autoencoders (VAE)
Deep Learning
Generative for Computer Vision
Models Slide #31
Variational Autoencoders (VAE)
Pros
• Flexible generative model
• End-to-end gradient training
• Measurable objective (and lower bound - model is at
• least this good)
• Fast test-time inference
Cons:
• sub-optimal variational factors
• limited approximation to true posterior (will revisit)
• Can have high-variance gradients
Deep Learning
Generative for Computer Vision
Models Slide #32
Taxonomy of Generative Models
Generative Model
Figure copyright and adapted from Ian Goodfellow, Tutorial on Generative Adversarial Networks,
2017.
Deep Learning
Generative for Computer Vision
Models Slide #32
(Goodfellow et al., 2014)
Generative Adversarial Networks
https://github.com/hindupuravinash/the-gan-zoo
▪ Generator (G) that learns the real data distribution to generate fake
samples
▪ Discriminator (D) that attributes a probability p of confidence of a
sample being real (i.e. coming from the training data)
Deep Learning
Generative for Computer Vision
Models Slide #36
(Goodfellow et al., 2014)
Generative Adversarial Networks
Deep Learning
Generative for Computer Vision
Models Slide #37
(Goodfellow et al., 2014)
Generative Adversarial Networks
Deep Learning
Generative for Computer Vision
Models Slide #38
(Mirza et al., 2014)
Conditional GANs (CGAN)
Deep Learning
Generative for Computer Vision
Models Slide #39
(Mirza et al., 2014)
Conditional GANs (CGAN)
y = Senior
y = Mouth open
Gauthier, 2015
Deep Learning
Generative for Computer Vision
Models Slide #40
(Mirza et al., 2014)
Conditional GANs (CGAN)
y = Senior
y = Mouth open
Gauthier, 2015
Deep Learning
Generative for Computer Vision
Models Slide #41
(Mirza et al., 2014)
Conditional GANs (CGAN)
y = Senior
y = Mouth open
Gauthier, 2015
Deep Learning
Generative for Computer Vision
Models Slide #42
Limitations of GANs
1. Training instability
2. Mode collapse
Chart 41
Deep Learning
Generative for Computer Vision
Models Chart 41
Evaluation metrics
Deep Learning
Generative for Computer Vision
Models Images from Karras et al., 2017 Slide #44
Evaluation metrics
Deep Learning
Generative for Computer Vision
Models Slide #45
Evaluation metrics
Deep Learning
Generative for Computer Vision
Models Slide #46
Evaluation metrics
■ Calculates the distance between real and fake data (lower the better)
■ Uses the embeddings of the real and fake data from the last pooling layer of
Inception v3.
■ Converts the embeddings into continuous distributions and uses the mean and
covariance of each to calculate their distance.
Deep Learning
Generative for Computer Vision
Models Slide #47
Evaluation metrics
▪ IS vs FID
https://github.com/gftm/Class_Generative_Networks
Deep Learning
Generative for Computer Vision
Models Slide #49
Practical scenario
▪ Task 1 - Add label as input to both models (plus the combined model)
https://github.com/gftm/Class_Generative_Networks
Deep Learning
Generative for Computer Vision
Models Slide #50
Practical scenario
▪ Task 1 - Add label as input to both models (plus the combined model)
■ def __init__(self):
Deep Learning
Generative for Computer Vision
Models Slide #51
Practical scenario
▪ Task 1 - Add label as input to both models (plus the combined model)
■ def build_generator(self):
■ def build_discriminator(self):
Deep Learning
Generative for Computer Vision
Models Slide #52
Practical scenario
Deep Learning
Generative for Computer Vision
Models Slide #53
Practical scenario
Deep Learning
Generative for Computer Vision
Models Slide #54
Practical scenario
Deep Learning
Generative for Computer Vision
Models Slide #55
References
■ A. Radford, L. Mety, and S. Chintala. 2016. Unsupervised Representation Learning with Deep
Convolutional Generative Adversarial Networks.
■ I. Goodfellow, J. Pouget-Abadie, M. Mirza, B. Xu, D. Warde-Farley, S. Ozair, A. Courville, and Y.
Bengio. 2014. Generative Adversarial Nets.
■ M. Mirza, and S. Osindero. 2014. Conditional Generative Adversarial Nets.
■ J. Gauthier. 2015. Conditional Generative Adversarial Nets for Convolutional Face Generation.
■ T. Salimans, I. Goodfellow, W. Zaremba, V. Cheung, A. Radford and X. Chen. 2016. Improved
Techniques for Training GANs.
■ M. Heusel, H. Ramsauer, T. Unterthiner, B. Nessler, S. Hochreiter. 2017. GANs Trained by a Two
Time-Scale Update Rule Converge to a Local Nash Equilibrium
■ T. Karras, T. Aila, S. Laine, J. Lehtinen. 2017. Progressive Growing of GANs for Improved Quality,
Stability, and Variation.
■ C. Szegedy, V. Vanhoucke, S. Ioffe, J. Shlens, Z. Wojna. 2015. Rethinking the Inception Architecture
for Computer Vision.
Deep Learning
Generative for Computer Vision
Models Slide #56