Probabilistic programming languages

Probabilistic programming languages


How to grow a mind (2011)

How to grow a mind: statistics, structure, and abstraction.
Science. 2011 Mar 11;331(6022):1279-85.
24th Annual Conference on Neural Information Processing Systems (NIPS)
Tenenbaum JB, Kemp C, Griffiths TL, Goodman ND.

In coming to understand the world-in learning concepts, acquiring language, and grasping causal relations-our minds make inferences that appear to go far beyond the data available. How do we do it?

This review describes recent approaches to reverse-engineering human learning and cognitive development and, in parallel, engineering more humanlike machine learning systems.
Computational models that perform probabilistic inference over hierarchies of flexibly structured representations can address some of the deepest questions about the nature and origins of human thought: How does abstract knowledge guide learning and reasoning from sparse data? What forms does our knowledge take, across different domains and tasks? And how is that abstract knowledge itself acquired?

41:20 Probabilistic programming language
Universal language for describing generative models + generic tools for (approximate) probabilistic inference.
– Probabilistic logic programming (Prolog)
– Probabilistic functional programming (Lisp) or imperative programming (Matlab)

How to build a better brain
Carnegie Mellon University, 2011