论文标题

SPPL:具有快速精确符号推理的概率编程

SPPL: Probabilistic Programming with Fast Exact Symbolic Inference

论文作者

Saad, Feras A., Rinard, Martin C., Mansinghka, Vikash K.

论文摘要

我们介绍了一种概率的概率语言(SPPL),这是一种新的概率编程语言,可以自动为广泛的概率推理查询提供精确的解决方案。 SPPL将概率程序转换为总和表达式,一种新的符号表示和相关的语义域,该域将标准的总和网络扩展到支持混合型分布,数字变换,逻辑公式以及点式和设置值的约束。我们通过从概率程序到总和产物表达式的新型翻译策略正式化了SPPL,并为事件的调理和计算概率提供了声音精确的算法。 SPPL对概率程序施加了一系列限制,以确保可以将其转化为总产品表达式,从而使系统能够通过自动利用概率结构来利用新技术来提高翻译和推断的推断。我们通过模块化体系结构实现了SPPL的原型,并在系统目标的基准上进行评估,表明它在最新的象征性系统上获得了多达3500倍的速度,例如验证决策树分类器的公平性,使隐藏的Markov模型平滑模型,调理随机变异的差异和计算稀有性概率。

We present the Sum-Product Probabilistic Language (SPPL), a new probabilistic programming language that automatically delivers exact solutions to a broad range of probabilistic inference queries. SPPL translates probabilistic programs into sum-product expressions, a new symbolic representation and associated semantic domain that extends standard sum-product networks to support mixed-type distributions, numeric transformations, logical formulas, and pointwise and set-valued constraints. We formalize SPPL via a novel translation strategy from probabilistic programs to sum-product expressions and give sound exact algorithms for conditioning on and computing probabilities of events. SPPL imposes a collection of restrictions on probabilistic programs to ensure they can be translated into sum-product expressions, which allow the system to leverage new techniques for improving the scalability of translation and inference by automatically exploiting probabilistic structure. We implement a prototype of SPPL with a modular architecture and evaluate it on benchmarks the system targets, showing that it obtains up to 3500x speedups over state-of-the-art symbolic systems on tasks such as verifying the fairness of decision tree classifiers, smoothing hidden Markov models, conditioning transformed random variables, and computing rare event probabilities.

扫码加入交流群

加入微信交流群

微信交流群二维码

扫码加入学术交流群,获取更多资源