A generative stochastic artificial neural network that can learn a probability distribution over its set of inputs.