Beyond Bayesian Model Averaging over Paths in Probabilistic Programs with Stochastic Support
Tim Reichelt, Luke Ong, Tom Rainforth
TL;DR
Probabilistic programs with stochastic support induce posteriors that are a Bayesian Model Averaging (BMA) over path-specific sub-program posteriors, making predictions sensitive to unstable path weights. The authors propose robust path-weighting methods based on stacking and PAC-Bayes, implemented as post-processing steps that reweight local SLP posteriors without re-running inference. They formulate a stacking objective, show how to apply stacking as a post-processing step, and integrate PAC-Bayes regularization to prevent weight collapse, supported by extensive experiments across synthetic and real datasets. The results demonstrate improved predictive performance and robustness to misspecification and inference imperfections, offering a practical, low-cost enhancement for PPS inference engines like Pyro.
Abstract
The posterior in probabilistic programs with stochastic support decomposes as a weighted sum of the local posterior distributions associated with each possible program path. We show that making predictions with this full posterior implicitly performs a Bayesian model averaging (BMA) over paths. This is potentially problematic, as BMA weights can be unstable due to model misspecification or inference approximations, leading to sub-optimal predictions in turn. To remedy this issue, we propose alternative mechanisms for path weighting: one based on stacking and one based on ideas from PAC-Bayes. We show how both can be implemented as a cheap post-processing step on top of existing inference engines. In our experiments, we find them to be more robust and lead to better predictions compared to the default BMA weights.
