Probabilistic programming languages (PPLs) are expressive means for creating and reasoning about probabilistic models. Unfortunately hybrid probabilistic programs, involving both continuous and discrete structures, are not well supported by today's PPLs. In this paper we develop a new approximate inference algorithm for hybrid probabilistic programs that first discretizes the continuous distributions and then performs discrete inference on the resulting program. The key novelty is a form of discretization that we call bit blasting, which uses a binary representation of numbers such that a domain of $2^b$ discretized points can be succinctly represented as a discrete probabilistic program over poly($b$) Boolean random variables. Surprisingly, we prove that many common continuous distributions can be bit blasted in a manner that incurs no loss of accuracy over an explicit discretization and supports efficient probabilistic inference. We have built a probabilistic programming system for hybrid programs called HyBit, which employs bit blasting followed by discrete probabilistic inference. We empirically demonstrate the benefits of our approach over existing sampling-based and symbolic inference approaches.
翻译:概率编程语言(PPLs)是创建和推理概率模型的表达工具。然而,涉及连续与离散结构的混合概率程序在当前的PPLs中并未得到良好支持。本文针对混合概率程序提出了一种新的近似推理算法:该算法首先对连续分布进行离散化,随后对所得程序执行离散推理。其核心创新在于提出一种称为“位爆破”的离散化技术——通过采用数字的二进制表示,使得包含$2^b$个离散点的定义域能够被简洁地表示为基于poly($b$)个布尔随机变量的离散概率程序。令人惊讶的是,我们证明了多种常见连续分布可在不损失显式离散化精度的条件下实现位爆破,并支持高效的概率推理。我们构建了名为HyBit的混合概率程序系统,该系统通过位爆破结合离散概率推理实现运行。实验结果验证了本方法相对于现有基于采样和符号推理方法的优越性。