Probabilistic programming uses programs to express generative models whose posterior probability is then computed by built-in inference engines. A challenging goal is to develop general purpose inference algorithms that work out-of-the-box for arbitrary programs in a universal probabilistic programming language (PPL). The densities defined by such programs, which may use stochastic branching and recursion, are (in general) nonparametric, in the sense that they correspond to models on an infinite-dimensional parameter space. However standard inference algorithms, such as the Hamiltonian Monte Carlo (HMC) algorithm, target distributions with a fixed number of parameters. This paper introduces the Nonparametric Hamiltonian Monte Carlo (NP-HMC) algorithm which generalises HMC to nonparametric models. Inputs to NP-HMC are a new class of measurable functions called "tree representable", which serve as a language-independent representation of the density functions of probabilistic programs in a universal PPL. We provide a correctness proof of NP-HMC, and empirically demonstrate significant performance improvements over existing approaches on several nonparametric examples.
翻译:预测性编程利用程序来表达基因模型,这些模型的后概率随后由内建推断引擎计算。一个具有挑战性的目标是制定通用的、通用的概率编程语言(PPL)中的任意程序框外的通用参数推算算算法。这种程序界定的密度,可能使用随机分枝和循环,一般而言是非参数性的,与无限参数空间模型相对应。然而,标准的推论算法,如汉密尔顿蒙特卡洛算法(HMC),有固定参数数的目标分布。本文介绍了非参数汉密尔顿蒙特卡洛算法(NP-HC),该算法将HMC概括为非参数模型。对NP-HMC的投入是被称为“树木代表”的一个新的可测量功能类别,是通用PPPL中概率程序密度函数的一种语言依赖性表示。我们提供了NP-HC的正确性证明,并实证地展示了相对于若干现有非参数性做法的重大性改进。