Introduction to Probabilistic Programming for Scientific Discovery

Course Description

In this course, participants will get an in-depth introduction into probabilistic programming beginning with the fundamentals of probabilistic programming, the structure of probabilistic programming languages and their inference libraries. As a part of this, we will look into the conversion of sampling- and optimization-based inference approaches into the framework of inference on the probabilistic graphical models we express our programs/models. Building on this foundation we will then focus on data-driven strategies, which combine probabilistic programming with either inference routines themselves to amortize inference costs or with neural networks to construct the foundations of Bayesian deep learning. In our final lecture, we will then discover how we can combine our learned techniques with simulators to unearth new insights into their structure and latent dynamics.

The course is aimed at students who have a keen interest in Bayesian computing, its marriage with machine learning and the probing models for their latent dynamics, regardless of the models being GANs, deep generative flow models, reinforcement learning environments or scientific simulators.

Course tools

  • Julia
  • Python
  • Gen.jl
  • JAX


  •  Understanding of Bayesian Statistics
  • Basic understanding of Monte-Carlo methods
  • Basic Understanding of a Programming Language such as Julia, Python, C++ et al.

Level of complexity of course



Mr. Ludger Paehler

After graduating with a Master of Science in Applied Mathematics from Imperial College London, Ludger began his Ph.D. research under the auspice of Nikolaus A. Adams at the Technical University of Munich at the end of 2017.

His Ph.D. research centers on intelligent methods for Bayesian inference in high-cost, reacting simulations from Fluid mechanics and new means to guide complex fluid simulations in Bayesian frameworks. For this, he combines methods and techniques from probabilistic programming, reinforcement learning, Bayesian statistics, and uncertainty quantification. He has recently been awarded a large-scale Gauss computing project for his probabilistic programming based Bayesian inference of reactive shock-bubble interactions at scale.

Fields of interests: Reinforcement Learning, Meta-Learning, Probabilistic Programming

Contacts: [email protected]