IBAL: A Probabilistic Rational Programming Language
Training Products of Experts by Minimizing Contrastive Divergence