Smoothness Analysis for Probabilistic Programs with Application to Optimised Var...
summary
A static analysis discovers which fragments of a probabilistic program are differentiable and which are not, then applies the pathwise gradient estimator to the differentiable parts and a score estimator to the rest, producing an improved gradient estimator that remains unbiased under a stated regularity condition. The paper formalises five assumptions on a target smoothness property (noting that partial differentiability fails composition) and proves soundness when they hold, implements the analysis for models in Pyro, and shows it flags all safe optimisations while catching two unsound Pyro optimisations.
AI-written summary · about
chapters (12)
- 0:00Smoothness analysis intro
- 0:44Why smoothness matters
- 2:09Differentiability for imperative programs
- 3:57Compositional smoothness challenges
- 7:29Dependency-aware reasoning needed
- 11:24Lessons from unsound rules
- 11:46Sound precise smoothness approach
- 15:44Assumptions for sound properties
- 16:46Smoothness for variational inference
- 19:58Pyro vs our sound optimizer
- 20:20Key takeaways and future
- 21:04Q&A
related talks
18mA Language and Smoothed Semantics for Convergent Stochastic Gradient Descent
21mProbabilistic Programming with Programmable Variational Inference
31mProbabilistic Programming: The What, Why and How
19mGradInf: Gradient Estimation as Probabilistic Inference
07mOn the Reparameterisation Gradient for Non-Differentiable but Continuous Models
32mProbabilistic and Differentiable Programming in Scientific Simulators
26mOptimising Density Computations in Probabilistic Programs via Automatic Loop Vectorisation
46mSmooth Nonconvex Min-Max Optimization
