Why are deep nets reversible: A simple theory, with implications for training
unsupervised learning of distributions of binary vectors using 2 - layer networks .