Generating new data with VAEs

hamish - 29/05/2020

  • bit like the "identity function" of NNs
  • aim is to learn the input via a small "bottleneck"
  • break this task up into an "encoder" and "decoder"

Autowhat now?

(Autoencoder)

encoder

decoder

"bottleneck"

Latent Space

???

Can we force the latent space to be more consistent?

Add noise before bottleneck

  • forces VAE to compensate for noise
  • does this by learning to place similar things close to one another
  • different things far apart
  • more consistent space

How does this work?

"8 direction"

most 8s are over here

"Shift" in a direction

  1. find direction of feature we like
  2. use encoder to find position of image in latent space
  3. move in feature direction
  4. decode from that point

Downside: Implementing this is surprisingly hard, even with the code

Sunglasses

Black hair

Female

So why do we care?

  • We (CIA) want to be able to provide actions so people can lower their energy use
  • Would like to be able to "simulate" scenarios like if user got an EV

Shift in "EV direction"

learnt people charge their EVs overnight

  • not really learnt the peaks you get with EVs
  • causes issues with standby
  • lose strong signal from other devices

Generating new data with VAEs

By Hamish dickson

Generating new data with VAEs

  • 207