autoencoder for dimensionality reduction github