Semi-symbolic inference for efficient streaming probabilistic programming

Semi-symbolic inference for efficient streaming probabilistic programming
复制标题

DOI:
10.1145/3563347
复制
发表时间:
2022-09
影响因子:
--
通讯作者:
Eric Hamilton Atkinson;Charles Yuan;Guillaume Baudart;Louis Mandel;Michael Carbin
Eric Hamilton Atkinson;Charles Yuan;Guillaume Baudart;Louis Mandel;Michael Carbin
中科院分区:
--
文献类型:
--
作者:
Eric Hamilton Atkinson;Charles Yuan;Guillaume Baudart;Louis Mandel;Michael Carbin

文献摘要

被引文献

相似文献

流式概率程序接收观测流,并产生以这些观测为条件的分布流。在流媒体环境中,使用Rao-Blackwellized粒子滤波器(RBPF)通常可以进行有效的推理,RBPF在可能的情况下可以精确地解决推理问题,并在必要时返回采样近似。虽然RBPF可以手动实现以提供有效的推理,但流式概率编程的目标是在给定输入概率程序的情况下自动生成这种有效的推理实现。在这项工作中,我们提出了半符号推理,一种使用运行时推理系统,自动实现Rao-Blackwellized粒子滤波执行概率程序的技术。为了一起执行精确和近似推理,半符号推理系统操纵符号分布以在可能时执行精确推理,并且在必要时福尔斯回到近似采样。这种方法使系统能够实现开发人员手工编写的相同RBPF。为了确保这一点,我们确定封闭的分布族-如线性高斯和有限离散模型-推理系统保证精确的推理。我们已经实现了运行时推理系统的ProbZelus流概率编程语言。尽管与现有基准测试的最新技术水平相比,平均速度降低了1.6倍,但我们的评估表明,在我们设计的一组新的具有挑战性的基准测试中,可以获得3×-87×的加速比。
A streaming probabilistic program receives a stream of observations and produces a stream of distributions that are conditioned on these observations. Efficient inference is often possible in a streaming context using Rao-Blackwellized particle filters (RBPFs), which exactly solve inference problems when possible and fall back on sampling approximations when necessary. While RBPFs can be implemented by hand to provide efficient inference, the goal of streaming probabilistic programming is to automatically generate such efficient inference implementations given input probabilistic programs. In this work, we propose semi-symbolic inference, a technique for executing probabilistic programs using a runtime inference system that automatically implements Rao-Blackwellized particle filtering. To perform exact and approximate inference together, the semi-symbolic inference system manipulates symbolic distributions to perform exact inference when possible and falls back on approximate sampling when necessary. This approach enables the system to implement the same RBPF a developer would write by hand. To ensure this, we identify closed families of distributions – such as linear-Gaussian and finite discrete models – on which the inference system guarantees exact inference. We have implemented the runtime inference system in the ProbZelus streaming probabilistic programming language. Despite an average 1.6× slowdown compared to the state of the art on existing benchmarks, our evaluation shows that speedups of 3×-87× are obtainable on a new set of challenging benchmarks we have designed to exploit closed families.