Elements of Sequential Monte Carlo
Christian A. Naesseth, Fredrik Lindsten, Thomas B. Schön
TL;DR
This work surveys sequential Monte Carlo as a flexible, recursive framework for Bayesian inference that builds approximations to complex posteriors via weighted particle systems. It connects classical importance sampling to SMC, analyzes convergence properties, and addresses practical design choices for proposals and intermediate targets, including data and likelihood tempering and twisting. A core contribution is outlining methods to learn proposals and twisting potentials, plus nested and distributed SMC variants, with proofs of unbiasedness and CLTs, and applications to probabilistic programming and Bayesian nonparametrics. The tutorial emphasizes evaluating inference quality, leveraging backwards and lookahead strategies, and shows how SMC and its extensions enable scalable, parallel inference across modern probabilistic models. It also positions SMC as a versatile component in broader inference and learning pipelines, including PMH, PIMH, and variational/SMC hybrids, with practical guidelines for implementation and debugging.
Abstract
A core problem in statistics and probabilistic machine learning is to compute probability distributions and expectations. This is the fundamental problem of Bayesian statistics and machine learning, which frames all inference as expectations with respect to the posterior distribution. The key challenge is to approximate these intractable expectations. In this tutorial, we review sequential Monte Carlo (SMC), a random-sampling-based class of methods for approximate inference. First, we explain the basics of SMC, discuss practical issues, and review theoretical results. We then examine two of the main user design choices: the proposal distributions and the so called intermediate target distributions. We review recent results on how variational inference and amortization can be used to learn efficient proposals and target distributions. Next, we discuss the SMC estimate of the normalizing constant, how this can be used for pseudo-marginal inference and inference evaluation. Throughout the tutorial we illustrate the use of SMC on various models commonly used in machine learning, such as stochastic recurrent neural networks, probabilistic graphical models, and probabilistic programs.
