Different implementations of Autoencoders that are used for dimension reduction and manifold learning