Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

111 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Probabilistic Numerics — Computation is Machine Learning

Tutorial at the International Conference on Machine Learning (ICML) 2026

Seoul, South Korea

Mon, Jul 6, 2026 · 9:00 AM – 11:30 AM KST · Hall D2

Slides   Venue   License: MIT


Philipp Hennig
Philipp Hennig
Marvin Pförtner
Marvin Pförtner
Tim Weiland
Tim Weiland

Tübingen AI Center, University of Tübingen

Abstract

Machine learning is the process of estimating latent representations or variables from finite data. If the data is insufficient, this inference process leaves a finite estimation error. Probabilistic (Bayesian) machine learning attempts to capture this empirical uncertainty in a probability distribution.

But what actually happens inside of a Learning Machine, the computational side of ML, is invariably the solution of a numerical problem: Optimisation for deep learning, solving differential equations for diffusion, flow matching, and scientific simulation, or even just (large-scale, approximate) numerical linear algebra. These numerical tasks have no analytic solution in reach. The computational resources are insufficient, and so the computation leaves a finite computational error. Probabilistic numerical methods attempt to capture this computational uncertainty in a probability distribution.

By matching the mathematical modelling language of the empirical and the computational side of machine learning in this way, probabilistic numerical methods open new opportunities for computational savings, and new functionality in the ML stack: Computational and data uncertainty can be controlled in relation to each other, and information from data can flow "backwards" through a computation to solve inverse problems. A growing research community within ML is developing this toolchain, typically by building on established, highly efficient, classic numerical methods.

The tutorial is split in three parts. We will start with a simple worked example to establish key concepts and patterns. A second part will generalise these insights into a design pattern across a large class of numerical tasks. Finally, a hands-on code demo will demonstrate how probabilistic numerical methods work in practice.

Slides

The full tutorial slides are available here:

Slides

Code

This repository accompanies the hands-on part of the tutorial. The demos are implemented in Julia as Pluto notebooks.

Setup

  1. Install Julia (version 1.10 or newer).

  2. Install DrWatson and Pluto into your global Julia environment. Pluto launches the notebooks, and each notebook activates this project via DrWatson's @quickactivate — so both must be available outside the local environment:

    julia -e 'using Pkg; Pkg.add(["DrWatson", "Pluto"])'
  3. Clone this repository and instantiate the project environment:

    git clone https://github.com/probabilistic-numerics/ICML2026Tutorial.git
    cd ICML2026Tutorial
    make instantiate          # or: julia --project=. -e 'using Pkg; Pkg.instantiate()'
  4. Launch the live demo:

    make demo

    This opens notebooks/live_demo.jl in Pluto. To explore the other notebooks, start Pluto directly (julia -e 'using Pluto; Pluto.run()') and open them from the file browser.

    The make targets invoke julia +1.12 to match the checked-in Manifest.toml. If your julia is a different version, run the commands shown in the recipes directly (or edit the Makefile).

Notebooks

The notebooks/ directory contains the worked examples used throughout the tutorial:

Notebook Topic
notebooks/live_demo.jl Live-coded demo: from kernel regression to probabilistic PDE solvers — 2D harbor pollutant source inversion (Vecchia GMRF + Latte/INLA), through to space–time inference
notebooks/cpu.jl Worked example: a probabilistic-numerical CPU simulation
notebooks/pnmethods/linsys.jl Probabilistic linear solvers
notebooks/pnmethods/quad.jl Probabilistic numerical integration (Bayesian quadrature)
notebooks/pnmethods/opt.jl Probabilistic optimisation
notebooks/pnmethods/ode.jl Probabilistic ODE solvers
notebooks/pnmethods/pde.jl Probabilistic PDE solvers

Shared functionality lives in the ProbNumTutorialICML2026 package under src/.

Citation

If you find this tutorial useful, please cite it as:

@misc{Hennig2026ProbNumTutorialICML,
    author       = {Hennig, Philipp and Pförtner, Marvin and Weiland, Tim},
    title        = {{P}robabilistic {N}umerics --- Computation is {M}achine {L}earning},
    howpublished = {Tutorial at the International Conference on Machine Learning (ICML) 2026},
    year         = {2026},
    month        = {7},
    address      = {Seoul, South Korea},
}

License

This project is licensed under the terms of the MIT License.

About

Code for the ICML 2026 Tutorial "Probabilistic Numerics — Computation is Machine Learning"

Resources

Stars

57 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages