# Amortized Rejection Sampling in Universal Probabilistic Programming

arXiv: https://arxiv.org/abs/1910.09056 · HTML: https://mlsanity.com/paper/1910.09056/

## Key facts

- Cited by 5 papers in the map (data through 14 Oct 2026).
- First posted on arXiv 20 Oct 2019.

## Built on by (most cited first, 5 of 5)

- [Imagining The Road Ahead: Multi-Agent Trajectory Prediction via Differentiable Simulation](https://mlsanity.com/paper/2104.11212/) (2021)
- [Recursive Monte Carlo and Variational Inference with Auxiliary Variables](https://mlsanity.com/paper/2203.02836/) (2022)
- [Don't be so negative! Score-based Generative Modeling with Oracle-assisted Guidance](https://mlsanity.com/paper/2307.16463/) (2023)
- [A Fresh Take on Stale Embeddings: Improving Dense Retriever Training with Corrector Networks](https://mlsanity.com/paper/2409.01890/) (2024)
- [Integration Matters: Rollout-Based Training for Constrained Diffusion Models](https://mlsanity.com/paper/2607.14398/) (2026)

## Abstract (arXiv)

Naive approaches to amortized inference in probabilistic programs with unbounded loops can produce estimators with infinite variance. This is particularly true of importance sampling inference in programs that explicitly include rejection sampling as part of the user-programmed generative procedure. In this paper we develop a new and efficient amortized importance sampling estimator. We prove finite variance of our estimator and empirically demonstrate our method's correctness and efficiency compared to existing alternatives on generative programs containing rejection sampling loops and discuss how to implement our method in a generic probabilistic programming framework.
