I love to build small projects / proofs of concept to discover new ideas and architecture. These last few days, I have been playing with autoencoders so I build something using them. I trained a small autoencoder to compress and decompress MNIST digit. The size of the code is just 4 floats.
Here is a digit:
And the correcponding decoded image:
I’m already impressed about this result but let’s dig a bit more. I built another autoencoder coding images on 2 floats between -1 and 1. Now we can generate ‘new’ images by taking random point in this space and decoding them!
I also like this kind of picture a lot but I think we can have even more fun with this simple concept. During the past few years, I created a ton of fractals videos by changing a parameter by a small value at each time step. We can do the same with autoencoders!
Let’s build a third one which encodes images into 3 [-1, 1] floats. Now we can build a grid just like before that shows the result of modifying two of the parameters and we can make the third one vary over time. This is what we get:
Tell me if you have any more fun ideas!