Unsupervised Learning with Neural Networks
Unsupervised Learning with Neural Networks
Create a loss network that computes a loss based on the "reconstruction error" on the input manifold:
Split the net into "encoder" and "decoder" networks (the encoder parameterizes points using a single scalar value, whereas the decoder reconstructs the point from this parameterization):
An autoencoder has the same shape for its input and output, and has a bottleneck in the middle of the net to prevent the net simply memorizing the inputs.
Create a net that takes an input with dimensions {1,28,28} and returns an output with the same dimensions {1,28,28}:
The preceding net takes as input 784 real numbers and compresses this to a vector of 40 real numbers (the bottleneck). The net then needs to reconstruct the original image from these 40 real numbers.
Project the code vectors to three dimensions and visualize them along with the original labels (not seen by the network). The digit classes tend to cluster together: