A model of stochastic memoization and name generation in probabilistic programming: categorical semantics via monads on presheaf categories
Younesse Kaddar, Sam Staton

TL;DR
This paper develops a categorical semantics for stochastic memoization and name generation in probabilistic programming, validating data flow transformations and bridging traditional probability with higher-order models.
Contribution
It introduces the first model of stochastic memoization for constant Bernoulli functions with non-enumerable types using presheaf categories and a novel probability monad.
Findings
Validates data flow transformations in stochastic memoization
Bridges traditional probability theory with higher-order probabilistic models
Provides a categorical semantics for a minimal probabilistic programming language
Abstract
Stochastic memoization is a higher-order construct of probabilistic programming languages that is key in Bayesian nonparametrics, a modular approach that allows us to extend models beyond their parametric limitations and compose them in an elegant and principled manner. Stochastic memoization is simple and useful in practice, but semantically elusive, particularly regarding dataflow transformations. As the naive implementation resorts to the state monad, which is not commutative, it is not clear if stochastic memoization preserves the dataflow property -- i.e., whether we can reorder the lines of a program without changing its semantics, provided the dataflow graph is preserved. In this paper, we give an operational and categorical semantics to stochastic memoization and name generation in the context of a minimal probabilistic programming language, for a restricted class of functions.…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsLogic, Reasoning, and Knowledge · Logic, programming, and type systems · Computability, Logic, AI Algorithms
