2025-10-02 –, Robert Faure Amphitheater
Language: English
Traditional message passing-based Bayesian inference algorithms are fast but often struggle with real-world models that lack closed-form update rules, such as those with non-conjugate terms or any external code integrated into RxInfer: differential equation solvers, root finding, or even code outside of Julia. The Bayesian inference package RxInfer (from v3) introduces a powerful projection mechanism that overcomes this limitation, enabling modelers to maintain the speed of message passing while handling complex model components.
The core idea is simple: you define your joint distribution in Julia, then annotate challenging factors with ProjectedTo(<family>)
constraints. RxInfer then automatically derives the necessary inference approximations and delivers streaming estimates of posterior distributions. This talk will demonstrate this workflow through two compact examples: a hierarchical Gaussian filter for choice data and integrating an ordinary differential equation (ODE) solver for an SIR epidemic model. Attendees will receive runnable notebooks and a clear recipe for applying reactive variational inference to their own non-conjugate or simulator-based models.
Message passing offers very fast Bayesian inference calculations, but its power has historically been limited to dealing with conjugate priors and likelihoods. Real-world models rarely fit neatly into this box. In contrast, RxInfer-v3 solves this issue with its new @constraints q(x)::ProjectedTo(<family>)
directive. You simply tag an edge (a random variable in your model, x
in this case) that is involved around a ``stubborn'' factor (a probabilistic dependency between your random variables) with the desired exponential-family form, and the library automatically re-projects every update, keeping inference efficient.
We will build a concrete example live on stage: a non-conjugate hierarchical Gaussian filter for choice data, all in under 70 lines of Julia code. We will show how to declare just two ProjectedTo
constraints, hit ``infer,'' and watch posteriors stream without ever needing to write manual update equations.
Next, we will demonstrate how the very same trick can wrap an external ODE solver as a ``black-box'' factor. This powerful capability means you can seamlessly integrate differential equation models (or any C, Fortran, or Python routine) directly into your graph while maintaining reactivity.
Attendees will leave with copy-paste notebooks and a clear mental model for fearless, rule-free probabilistic modeling.
Key Takeaways for Attendees:
- How the new
@constraints ProjectedTo
replaces tedious manual rule writing. - Practical patterns for plugging ODEs, simulators, or any external C/Python routine into a factor graph.
- A self-contained notebook, a mental recipe for fearless modelling, and zero new mathematical derivations to memorize
Mykola Lukashchuk is a PhD candidate in Electrical Engineering at Eindhoven University of Technology, focusing on probabilistic inference and efficient Bayesian computation. His research develops flexible computational engines that trade precision for efficiency through message-passing algorithms and Riemannian manifold representations.
He holds dual Master's degrees in Statistics (Kyiv University) and Computer Science (Instituto Politécnico Nacional). His work contributes to the RxInfer ecosystem with particular focus on ExponentialFamilyManifolds.jl and efficient Bayesian inference methods.