中文

Venture:具有可编程推断的高阶概率编程平台

人工智能 2014-04-02 v1 编程语言 统计计算 机器学习

摘要

我们描述了 Venture,一个用于概率编程的交互式虚拟机,旨在具备足够的表达力、可扩展性和效率以用于通用目的。与 Church 类似,Venture 中的概率模型和推断问题是通过一种源自 Lisp 的图灵完备高阶概率语言指定的。与 Church 不同,Venture 还提供了一种组合语言,用于构建由可扩展的精确和近似技术组成的自定义推断策略。我们还描述了 Venture 实现的四个关键方面,这些方面建立在概率图模型的思想之上。首先,我们描述了随机过程接口(SPI),它指定并封装了原始随机变量。SPI 支持自定义控制流、高阶概率过程、部分可交换序列和“无似然”随机模拟器。它还支持对外部模型进行推断,这些模型的潜在变量对 Venture 隐藏。其次,我们描述了概率执行轨迹(PETs),它表示 Venture 程序的执行历史。PETs 捕获条件依赖、存在依赖和可交换耦合。第三,我们描述了称为支架(scaffolds)的执行历史分区,它将全局推断问题分解为连贯的子问题。最后,我们描述了一族随机再生算法,用于高效修改支架内包含的 PET 片段。在许多先前方法呈二次方缩放的情况下,随机再生实现了线性运行时间缩放。我们展示了如何使用随机再生和 SPI 来实现通用推断策略,如 Metropolis-Hastings、Gibbs 采样以及基于粒子马尔可夫链蒙特卡洛和平均场变分推断技术的分块提议。

关键词

引用

@article{arxiv.1404.0099,
  title  = {Venture: a higher-order probabilistic programming platform with programmable inference},
  author = {Vikash Mansinghka and Daniel Selsam and Yura Perov},
  journal= {arXiv preprint arXiv:1404.0099},
  year   = {2014}
}

备注

78 pages