Skip to main content
QUICK REVIEW

[论文解读] Deep Amortized Inference for Probabilistic Programs

Daniel Ritchie, Paul Horsfall|arXiv (Cornell University)|Oct 18, 2016
Bayesian Modeling and Causal Inference参考文献 20被引用 37
一句话总结

该论文提出了一种基于神经网络引导的推理方法,用于概率程序的深度级联推理框架,其中参数化的引导程序通过利用多个推理任务之间的共享结构,学习近似后验分布。该方法使用随机梯度优化训练引导程序,从而在贝叶斯网络、主题模型和深度生成模型中实现快速且准确的推理,相比传统基于采样的方法具有显著的速度提升。

ABSTRACT

Probabilistic programming languages (PPLs) are a powerful modeling tool, able to represent any computable probability distribution. Unfortunately, probabilistic program inference is often intractable, and existing PPLs mostly rely on expensive, approximate sampling-based methods. To alleviate this problem, one could try to learn from past inferences, so that future inferences run faster. This strategy is known as amortized inference; it has recently been applied to Bayesian networks and deep generative models. This paper proposes a system for amortized inference in PPLs. In our system, amortization comes in the form of a parameterized guide program. Guide programs have similar structure to the original program, but can have richer data flow, including neural network components. These networks can be optimized so that the guide approximately samples from the posterior distribution defined by the original program. We present a flexible interface for defining guide programs and a stochastic gradient-based scheme for optimizing guide parameters, as well as some preliminary results on automatically deriving guide programs. We explore in detail the common machine learning pattern in which a 'local' model is specified by 'global' random values and used to generate independent observed data points; this gives rise to amortized local inference supporting global model learning.

研究动机与目标

  • 为解决在使用昂贵的基于采样方法时,概率程序中后验推理的计算不可行性问题。
  • 通过学习一个可重用的引导程序,以近似多个查询下的真实后验分布,从而实现更快的推理。
  • 通过在结构化引导程序框架中嵌入神经网络,统一并扩展现有的变分推理方法。
  • 通过使用 mapData 抽象机制,在独立数据点之间级联局部推理,支持高效的全局模型学习。
  • 为在概率编程语言中定义和优化引导程序,提供一种灵活且可微的接口。

提出的方法

  • 系统构建一个与原始概率程序具有相同控制流但数据流不同的引导程序,并使用神经网络参数化数据流。
  • 通过随机梯度下降优化引导程序,以最小化证据下界(ELBO),从而实现引导参数的端到端训练。
  • 引入一种新型的 mapData 构造,将全局模型变量与局部数据特定变量分离,支持小批量处理并降低梯度估计的方差。
  • 该方法支持离散和连续随机变量,并采用方差减少技术以稳定对离散潜在变量的训练。
  • 该框架作为 WebPPL 概率编程语言的扩展实现,支持与现有 PPL 工作流的集成。
  • 引导程序通过随机计算图的反向传播进行训练,支持引导程序内神经网络组件的基于梯度的优化。

实验结果

研究问题

  • RQ1是否可以训练基于神经网络的引导程序,以高效且准确地近似概率程序中的后验分布?
  • RQ2如何有效将级联推理应用于具有独立同分布(IID)数据点的模型,如主题模型和深度生成模型?
  • RQ3在速度和准确性方面,具有共享控制流但可学习数据流(通过神经网络)的引导程序,与传统基于采样的推理相比,能有多大程度的性能优势?
  • RQ4所提出的框架是否能够支持在统一训练过程中对模型参数和引导参数进行端到端优化?
  • RQ5在优化具有离散潜在变量的引导程序时,如何降低梯度估计的方差?

主要发现

  • 所提出的深度级联推理框架在大规模数据集和重复推理查询场景下,相比传统的 MCMC 和 SMC 方法,实现了显著的速度提升。
  • mapData 构造的使用实现了高效的批量处理和方差减少,提升了引导优化的训练稳定性和收敛速度。
  • 系统成功学习了贝叶斯网络、主题模型和深度生成模型的引导程序,展示了在多种模型类别中准确的后验近似能力。
  • 该框架支持全局模型参数与局部推理引导程序的联合学习,形成良性循环:更优的引导程序可提升全局模型学习效果。
  • 该方法在基准模型上表现出具有竞争力的性能,结果表明神经网络引导的推理可达到或超过标准变分推理基线的准确性。
  • 初步结果表明,引导网络可在不同数据点之间泛化,减少每次查询的重新计算需求,实现在推理阶段的快速推断。

更好的研究,从现在开始

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

无需绑定信用卡

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