Unsupervised deep learning : taxonomy and algorithms