论文标题

使用概率和可区分编程自动化涉及MCMC

Automating Involutive MCMC using Probabilistic and Differentiable Programming

论文作者

Cusumano-Towner, Marco, Lew, Alexander K., Mansinghka, Vikash K.

论文摘要

参与MCMC是MCMC内核的统一数学结构,它概括了许多经典和最先进的MCMC算法,从可逆的跳跃MCMC到基于深层神经网络的内核。但是,与MCMC采样器一样,实现涉及的MCMC内核通常通常是乏味且容易出错的,尤其是在复杂状态空间上采样时。本文介绍了一种技术,用于自动化(i)分别定义目标分布和辅助分布的一对概率程序,以及(ii)可改变这些概率程序的执行痕迹的技术。该技术是作为Gen概率编程系统的一部分实现的,它还自动检测到参与涉及MCMC内核的规范中的用户错误,并利用内核中的稀疏性,以提高效率。本文显示了在无限的高斯混合模型中进行分裂合并可逆跳跃移动的示例代码,以及在协方差函数的组合空间上的建议的状态依赖性混合物,用于高斯工艺。

Involutive MCMC is a unifying mathematical construction for MCMC kernels that generalizes many classic and state-of-the-art MCMC algorithms, from reversible jump MCMC to kernels based on deep neural networks. But as with MCMC samplers more generally, implementing involutive MCMC kernels is often tedious and error-prone, especially when sampling on complex state spaces. This paper describes a technique for automating the implementation of involutive MCMC kernels given (i) a pair of probabilistic programs defining the target distribution and an auxiliary distribution respectively and (ii) a differentiable program that transforms the execution traces of these probabilistic programs. The technique, which is implemented as part of the Gen probabilistic programming system, also automatically detects user errors in the specification of involutive MCMC kernels and exploits sparsity in the kernels for improved efficiency. The paper shows example Gen code for a split-merge reversible jump move in an infinite Gaussian mixture model and a state-dependent mixture of proposals on a combinatorial space of covariance functions for a Gaussian process.

扫码加入交流群

加入微信交流群

微信交流群二维码

扫码加入学术交流群,获取更多资源