another day, another VAE (nonsense words)

I got very helpful advice today on this, which is that the distribution the VAE learns might not be centered at zero—after averaging together the latent vectors from a few thousand items from the data set and using *that* as the center of the distribution, I get much better results when sampling!

Show thread

whoops I left the debug thing in where I printed out any words that weren't in the expected length limits

Show thread

the way I've been reviewing the output of this model is looking at the probability scores juxtaposed with the words, one by one, and checking for the highest scores (higher score = greater probability that a line break will directly follow this word) and anyway now I'm having a hard time not reading "Stopping By Woods on a Snowy Evening" in the Beastie Boys style with everyone shouting out the end rhymes

Show thread

I used scikit-images measure.find_contour() function to calculate the width of the generated glyphs and was thereby able to easily crop out the empty space (since the characters are variable width but the images you train the GAN on have to be the same width). a couple of chained interpolations through the latent space using the width data to typeset the glyphs right next to each other, instead of in (e.g.) a grid

Show thread

if you use uniform random numbers (min=-8, max=8) instead of normal random numbers you get delightfully weird results!

Show thread

after a lot of poking and wrangling (and getting help from the authors), I'm finally able to sample from the latent space of the Magenta SVG-VAE model. it's pretty neat, more experiments to follow

(this is the model in question: https://magenta.tensorflow.org/svg-vae)

- Home page
- https://www.decontextualize.com/

Poet, programmer, game designer, computational creativity researcher. Assistant Arts Professor at NYU ITP. she/her

Joined Mar 2019