sparse representation learning for neural network