Probabilistic models and approximate inference algorithms are powerful, widely-used tools, central to fields ranging from machine learning to robotics to genetics. However, even simple variations on models and algorithms from the standard machine learning toolkit can be difficult and time-consuming to design, specify, analyze, implement, optimize and debug. The emerging field of probabilistic programming aims to address these challenges by developing formal languages and software systems that integrate key ideas from probabilistic modeling and inference with programming languages and Turing-universal computation.
Over the past two years, the field has rapidly grown and begun to mature. Systems have developed enough that they are seeing significant adoption in real-world applications while also highlighting the need for research in profiling, testing, verification and debugging. New academic and industrial languages have been developed, yielding new applications as well as new technical problems. General-purpose probabilistic programming languages have emerged, complementing previous work focused on specific domains; some offer programmable inference so that experts can take over where automatic techniques fail. The field is has also begun to explore new AI architectures that perform probabilistic reasoning or hierarchical Bayesian approaches for inductive learning over rich data structures and software simulators.
This workshop will survey recent progress, emphasizing results from the ongoing DARPA PPAML program on probabilistic programming. A key theme will be articulating formal connections between probabilistic programming and other fields central to the NIPS community.