Top Banner
Variational AutoEncoder & Generative Models By: Shai Harel, structured data vision team
25

Variational autoencoder talk

Apr 12, 2017

Download

Engineering

Shai Harel
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Variational autoencoder talk

Variational AutoEncoder& Generative Models

By: Shai Harel, structured data vision team

Page 2: Variational autoencoder talk

What we’ll see today

● Generative vs. Discriminative models [1]

● VAE Algorithm Overview [2]

● Putting it to work - Semi-supervised [3]

[1] Deep Neural Networks are Easily Fooled[2] Auto-Encoding Variational Bayes[3] Semi-Supervised Learning with Deep Generative Models

Page 3: Variational autoencoder talk

What we’ll *NOT* see today

Page 4: Variational autoencoder talk

Why Gen. Models?

99.99% ostrich, Struthio camelus

Page 5: Variational autoencoder talk

Why Gen. Models?

Page 6: Variational autoencoder talk

Why Gen. Models?

Page 7: Variational autoencoder talk

Why Gen. Models?

Page 8: Variational autoencoder talk

What do we want?

● Generative model

● “Structure constraint” on latent space

Why?

● Semi-Supervised learning

● Visualize z-space

● Not so easily fooled

● More...

Page 9: Variational autoencoder talk
Page 11: Variational autoencoder talk

AutoEncoder Attempt #1

● Encoderq(z|x): get z given x

● Decoderp(x|z): get x given z

● What’s the difference?

Page 12: Variational autoencoder talk

AutoEncoder Attempt #1

Problems?

Page 13: Variational autoencoder talk

Re-Parameterization Trick

[https://arxiv.org/abs/1609.04468]

Page 14: Variational autoencoder talk

Net Structure

● More problems?

Page 15: Variational autoencoder talk

L2 distance in pixel space

Page 16: Variational autoencoder talk

GAN - Generative Adversarial Networks

“You pit a generative (G) machine against a discriminative (D) machine and make them fight.”© Soumith Chintalahttp://soumith.ch/eyescream/

Page 17: Variational autoencoder talk

GAN - learn the loss

Page 18: Variational autoencoder talk

If you do it right!

Page 19: Variational autoencoder talk

If you do it right!

Page 20: Variational autoencoder talk

If you do it right!

Page 21: Variational autoencoder talk

If you do it right!

http://www.dpkingma.com/sgvb_mnist_demo/demo.html

Page 22: Variational autoencoder talk

Take Aways

● Employ Structure, It’s cool

● GAN may be your next loss function

○ Super Res

○ Pixel Level Seg.

○ AutoEncoder (we saw it today)

● Re-Parameterization Trick

----Personal takeaways-----

● Don’t give up when it doesn’t work the first time (x1000)

● Don’t put too much math in your paper

● Just cited 16yr old

Page 23: Variational autoencoder talk

References ● https://github.com/oduerr/dl_tutorial/blob/master/tensorflow/vae/vae_demo-2D.ipynb

● https://home.zhaw.ch/~dueo/bbs/files/vae.pdf

● http://kvfrans.com/variational-autoencoders-explained/

● http://blog.fastforwardlabs.com/2016/08/12/introducing-variational-autoencoders-in-prose-and.html

● http://blog.fastforwardlabs.com/2016/08/22/under-the-hood-of-the-variational-autoencoder-in.html

● https://github.com/Newmu/dcgan_code

● http://torch.ch/blog/2015/11/13/gan.html

● https://github.com/soumith/ganhacks

● https://research.fb.com/wp-content/uploads/2016/11/luc16wat.pdf

● https://arxiv.org/pdf/1412.1897.pdf

● https://arxiv.org/pdf/1606.05908v2.pdf

● https://arxiv.org/abs/1406.5298

● https://arxiv.org/abs/1312.6114

● http://dpkingma.com/sgvb_mnist_demo/demo.html

● https://arxiv.org/pdf/1412.1897.pdf

● https://arxiv.org/pdf/1606.05908v2.pdf

● https://arxiv.org/abs/1406.5298

Page 24: Variational autoencoder talk
Page 25: Variational autoencoder talk

Re-Parameterization Trick

[https://arxiv.org/abs/1609.04468]