You are on page 1of 31

Unsupervised approach

Geena Kim

University of Colorado Boulder


Unsupervised approach
Unsupervised approach

• Density modeling (generative tasks)

• Self-supervision

• Adversarial training
Unsupervised approach
Generative approach: generate the data distribution- generate
images, text, audio, video, style transfer (density modeling,
Autoencoders, GANs, etc)
Unsupervised approach
Adversarial training:
https://thispersondoesnotexist.com/

Image credit: https://cpang4.github.io/gan/


Unsupervised approach
Self-supervision: Create easy label from data (surrogate task)

https://arxiv.org/pdf/1803.07728.pdf
Unsupervised approach
Self-supervision:

https://arxiv.org/pdf/1808.06670.pdf
Autoencoders

Geena Kim

University of Colorado Boulder


Autoencoders
Deep Autoencoders

Image credit: François Chollet,


https://blog.keras.io/building-autoencoders-in-keras.html
Denoising Autoencoders

Image credit: François Chollet


Variational Autoencoders
Variational Autoencoders
VAE loss

VAE Loss = Reconstruction loss + KL loss

Kingma and Welling, https://arxiv.org/pdf/1312.6114.pdf


VAE implementation example

Source: https://blog.keras.io/building-autoencoders-in-keras.html
VAE implementation example
VAE implementation example
Why is VAE useful?

• Good for learning latent representation

• We can control the model

• Generative model

• Can interpolate in latent feature space


VAE applications
VAE applications

Image credit: Tal Daniel and Aviv Tamar,


https://arxiv.org/pdf/2012.13253.pdf
VAE applications

https://magenta.tensorflow.org/music-vae
Generative Adversarial Networks

Geena Kim

University of Colorado Boulder


Generative Adversarial Networks
Minimax Loss

https://arxiv.org/abs/1406.2661
GAN training

https://arxiv.org/abs/1406.2661
DCGAN

Minimax loss + SGD optimizer

https://arxiv.org/abs/1511.06434
DCGAN implementation example

https://keras.io/examples/generative/dcgan_overriding_train_step/
DCGAN implementation example

https://keras.io/examples/generative/dcgan_overriding_train_step/
DCGAN implementation example

https://keras.io/examples/generative/dcgan_overriding_train_step/
DCGAN implementation example

https://keras.io/examples/generative/dcgan_overriding_train_step/
DCGAN implementation example

DCGAN implementation in Keras


https://keras.io/examples/generative/dcgan_overriding_train_step/
https://www.tensorflow.org/tutorials/generative/dcgan

Using
tf.GradientTape
https://www.tensorflow.org/guide/autodiff

You might also like