making autoencoders nonlinear