一句话:提出用于贝叶斯编程的仿射概率单子与惰性结构语义,给出适配惰性的推断方法及 Haskell 库 LazyPPL。
论文研究如何用流和惰性数据结构自然地表达无限维贝叶斯方法,如 Poisson、Gaussian、jump、Dirichlet 和 Beta 过程。关键语义思想受合成概率论启发:区分两个单子——支持惰性的仿射概率单子(T(1)≅1)和不支持惰性的交换非仿射测度单子;这一区分对可判定性很重要,并可在 quasi-Borel 空间模型中实现。为进行贝叶斯推断,作者提出专门适配惰性的新推断方法,并借助 Metropolis-Hastings-Green 方法证明其正确性。理论发展实现为 Haskell 库 LazyPPL,展示了流与惰性结构在无限维贝叶斯编程中的实用性。
We show that streams and lazy data structures are a natural idiom for programming with infinite-dimensional Bayesian methods such as Poisson processes, Gaussian processes, jump processes, Dirichlet processes, and Beta processes. The crucial semantic idea, inspired by developments in synthetic probability theory, is to work with two separate monads: an affine monad of probability, which supports laziness, and a commutative, non-affine monad of measures, which does not. (Affine means that T (1)≅ 1.) We show that the separation is important from a decidability perspective, and that the recent model of quasi-Borel spaces supports these two monads. To perform Bayesian inference with these examples, we introduce new inference methods that are specially adapted to laziness; they are proven correct by reference to the Metropolis-Hastings-Green method. Our theoretical development is implemented as a Haskell library, LazyPPL.
@article{paperbot2047,
title = {Affine Monads and Lazy Structures for Bayesian Programming},
author = {Swaraj Dash and Younesse Kaddar and Hugo Paquet and Sam Staton},
journal = {Proceedings of the ACM on Programming Languages},
volume = {7},
number = {POPL},
year = {2023},
doi = {10.1145/3571239}
}