Skip to main content
QUICK REVIEW

[论文解读] Declarative Probabilistic Programming with Datalog

Vikash K. Mansinghka, Daniel Selsam|arXiv (Cornell University)|Apr 1, 2014
Bayesian Modeling and Causal Inference参考文献 44被引用 180
一句话总结

本文提出了Venture,一种图灵完备的高阶概率编程语言,通过新颖的随机过程接口(SPI)、概率执行轨迹(PETs)、用于增量推理的支架结构以及随机再生算法,支持可定制的推理策略。其核心贡献是一个可扩展、可组合的推理框架,能够在实践中实现线性时间复杂度,高效支持Metropolis-Hastings、Gibbs采样以及混合粒子-马尔可夫链蒙特卡洛方法,克服了先前方法中二次方复杂度的问题。

ABSTRACT

Probabilistic programming languages are used for developing statistical models, and they typically consist of two components: a specification of a stochastic process (the prior), and a specification of observations that restrict the probability space to a conditional subspace (the posterior). Use cases of such formalisms include the development of algorithms in machine learning and artificial intelligence. We propose and investigate an extension of Datalog for specifying statistical models, and establish a declarative probabilistic-programming paradigm over databases. Our proposed extension provides convenient mechanisms to include common numerical probability functions; in particular, conclusions of rules may contain values drawn from such functions. The semantics of a program is a probability distribution over the possible outcomes of the input database with respect to the program. Observations are naturally incorporated by means of integrity constraints over the extensional and intensional relations. The resulting semantics is robust under different chases and invariant to rewritings that preserve logical equivalence.

研究动机与目标

  • 设计一个通用的概率编程系统,支持丰富的建模能力与可定制的推理策略。
  • 解决现有推理方法在模型复杂度增加时出现的二次方计算效率问题。
  • 在统一的推理框架中实现对外部模型和似然-free模拟器的原生集成。
  • 提供可组合、可扩展的架构,用于构建结合MCMC与变分推理的混合推理策略。
  • 同时支持自动推理与专家控制的推理编程,以适应多样化的应用场景。

提出的方法

  • 引入随机过程接口(SPI),用于封装具有自定义控制流、高阶过程和隐变量模拟请求的原始随机变量。
  • 将概率执行轨迹(PETs)定义为捕捉程序执行中条件依赖、存在性依赖和可交换依赖的数据结构。
  • 提出支架结构——PET的分区——将全局推理分解为一致的局部子问题,支持增量处理。
  • 开发随机再生算法,在不重新访问条件独立变量的前提下修改支架内的PET片段,实现线性时间更新。
  • 利用再生机制构建Metropolis-Hastings和混合粒子-Markov链蒙特卡洛方法的不变转移算子。
  • 通过可组合的核函数和依赖状态的提议选择支持推理编程,实现通用的推理策略。

实验结果

研究问题

  • RQ1概率编程系统能否在可 scale 的规模下同时支持图灵完备的建模与可组合、高效的推理策略?
  • RQ2如何使推理算法对程序结构变化具有鲁棒性,同时避免产生二次方计算开销?
  • RQ3随机再生能否实现在MCMC采样过程中对执行轨迹进行高效、上下文无关的更新?
  • RQ4如何将似然-free模拟器和外部模型原生集成到概率推理流水线中?
  • RQ5能否实现兼具可组合性与性能保障的混合推理策略,结合MCMC与变分推理?

主要发现

  • 随机再生实现了与模型规模呈线性关系的推理更新,避免了先前方法中常见的二次方膨胀问题。
  • 基于支架的执行轨迹分解方法通过隔离局部依赖关系,实现了高效、增量式的推理。
  • SPI实现了对外部模型和似然-free模拟器的无缝集成,支持自定义提议与隐变量管理。
  • 诸如粒子-Markov链蒙特卡洛和平均场变分推理等混合推理策略,均可通过相同的可组合核框架实现。
  • 该框架同时支持自动推理与专家编程的推理,实现了从黑箱到高度调优的推理策略的完整谱系。
  • 实验结果表明,随机再生在具有动态结构的复杂模型中显著减少了推理时间,尤其在涉及部分可交换序列和嵌套随机过程的模型中表现突出。

更好的研究,从现在开始

从论文设计到论文写作,大幅缩短您的研究时间。

无需绑定信用卡

本解读由 AI 生成,并经人工编辑审核。