深度概率编程
该研究介绍了一种使用深度神经网络在概率编程模型中分摊推断成本的方法,并将深度学习与概率编程方法的优势相结合。这种名为 “编译推断” 的方法将用通用编程语言编写的概率程序的语义规范转换为用神经网络规范语言表示的训练过的神经网络,从而实现了原始模型的近似推断。
Oct, 2016
描述了一种将概率编程嵌入到深度学习中的简单、低级别的方法,它将概率编程精简为一个抽象 - 随机变量。使用 TensorFlow 的轻量级实现实现了许多应用程序:基于模型的并行变分自动编码器(VAE);基于数据的并行自回归模型(Image Transformer);和多 GPU NUTS No-U-Turn Sampler。在 64x64 ImageNet 和 256x256 CelebA-HQ 上都达到了最优线性加速。
Nov, 2018
介绍和证明了一个基于粒子马尔可夫蒙特卡罗的新的推理方法。该方法适用于图灵完备的概率编程语言,支持使用复杂控制流(包括随机递归)的模型的准确推理,并包括来自贝叶斯非参数统计的基元。实验证明,该方法比之前介绍的单一站点 Metropolis-Hastings 方法更有效。
Jul, 2015
本书介绍了概率编程的基础和技术,主要包括概率编程语言的设计和构建、基础推理算法和高阶概率编程语言、概率编程与可微分编程的交叉应用,尤其是深度概率编程系统的设计与语言特性对其的影响。
Sep, 2018
提出一种新型的概率编程框架,通过跨平台的概率执行协议直接连接到现有的大规模模拟器,允许通用推理引擎以语言无关的方式记录和控制模拟器内的随机数,并通过后验推断的高度可解释性来演示其技术应用于粒子物理学,提升推断效率。
Jul, 2018
本文介绍了基于概率编程中的最新进展,以广阔的概率建模和推断为视角,探讨了概率编程语言如何自动匹配模型和推断方法,强调了模型的结构和形式对这种匹配的至关重要性,并通过 Birch 进行实例演示。
Oct, 2018
我们提出了一种基于组合程序转换的方法,用于支持概率编程语言中的变分推断,该方法能够灵活地处理多个关键问题,包括自动微分、密度累积、跟踪和无偏梯度估计策略。此外,相比于现有的支持变分推断的概率编程语言,我们的设计在用户定义的目标、梯度估计策略和模型、变分族类别方面具有更高的表达能力。
Jun, 2024
本文介绍了一种面向编程求解的领域特定语言 TerpreT,它能够通过四种不同的后端进行推理,探索了不同领域、程序表示和解释模型的应用,并将模型说明与推理算法分离,提供了比较不同推理方法的基础。通过对多种程序模型的若干解释器模型进行广泛的经验比较,本文认为约束求解器优于基于梯度下降和基于 LP 松弛的方法。
Dec, 2016
We introduce an exact Bayesian inference method for discrete statistical models, using a probabilistic programming language that supports both discrete and continuous sampling, and probability generating functions to compute posterior probabilities, expectation, variance, and higher moments automatically and with competitive performance.
May, 2023