contains code for sparse autoencoder