Skip to main content
QUICK REVIEW

[论文解读] Inference Compilation and Universal Probabilistic Programming

Tuan Le, Atılım Güneş Baydin|arXiv (Cornell University)|Oct 31, 2016
Bayesian Modeling and Causal Inference被引用 33
一句话总结

本文提出了一种针对通用概率编程的推理编译方法,其中通过训练深度神经网络作为序列重要性采样中的提议分布,实现在复杂生成模型中的快速近似推理。该方法将概率程序编译为神经架构,自适应地生成提议,无需重新训练模型即可在混合模型和验证码求解任务中实现显著加速。

ABSTRACT

We introduce a method for using deep neural networks to amortize the cost of inference in models from the family induced by universal probabilistic programming languages, establishing a framework that combines the strengths of probabilistic programming and deep learning methods. We call what we do "compilation of inference" because our method transforms a denotational specification of an inference problem in the form of a probabilistic program written in a universal programming language into a trained neural network denoted in a neural network specification language. When at test time this neural network is fed observational data and executed, it performs approximate inference in the original model specified by the probabilistic program. Our training objective and learning procedure are designed to allow the trained neural network to be used as a proposal distribution in a sequential importance sampling inference engine. We illustrate our method on mixture models and Captcha solving and show significant speedups in the efficiency of inference.

研究动机与目标

  • 通过使用深度神经网络摊销推理成本,解决通用概率编程语言中推理的高计算开销问题。
  • 开发一种方法,为任意概率程序生成针对其结构定制的神经提议网络,且无需进行模型反演。
  • 通过在从模型生成的无限合成数据流上训练神经网络,实现在复杂模型中高效且可扩展的推理。
  • 在保持生成模型可解释性的同时,实现深度学习推理的速度优势。
  • 提供一种框架,结合通用概率编程的表达能力与神经网络推理的高效性。

提出的方法

  • 该方法将概率程序编译为包含LSTM核心、用于观测变量的嵌入层以及用于潜变量的提议层的神经架构。
  • 使用从概率程序中采样的无限合成数据流,端到端训练该神经网络。
  • 推理过程中,训练好的网络参数化一个提议分布 $ q(\mathbf{x}|\mathbf{y};\phi) $,用于序列重要性采样。
  • 观测嵌入通过神经网络处理,可按程序轨迹配置,选项包括在所有时间步或仅在第一步输入。
  • 该架构可针对每次执行轨迹动态重新配置,确保对不同程序结构的适应性。
  • 训练目标确保提议网络近似真实后验分布,最小化重要性权重的方差。

实验结果

研究问题

  • RQ1是否可以训练一个神经网络,作为任意通用概率程序中序列重要性采样的有效提议分布?
  • RQ2如何在不进行模型反演的情况下,自动将神经架构适配到给定概率程序的结构?
  • RQ3不同的观测嵌入策略(例如单次输入与循环输入)对训练效率和性能有何影响?
  • RQ4该框架是否能在混合模型和验证码等复杂模型上实现显著的推理加速,同时保持准确性?
  • RQ5当生成模型与真实数据分布不完全匹配时,该方法对模型误设的鲁棒性如何?

主要发现

  • 通过使用训练好的神经提议网络摊销推理,该方法在混合模型和验证码求解任务中均显著提升了推理效率。
  • 仅在第一步输入观测嵌入的策略相比在每一步都输入,训练速度慢约3倍,尽管性能相当。
  • 该方法成功从观测空间到潜空间学习到非线性后验近似,实现了在复杂模型中的准确推理。
  • 该框架在一定程度上对模型误设具有鲁棒性,但当生成模型中的先验与真实世界数据不匹配时,性能会下降,需手动调整。
  • 神经架构可针对每次执行轨迹有效重新配置,实现了对多样化程序结构的动态处理。
  • 该方法通过依赖无限合成数据流避免了对训练数据的过拟合,但若生成模型过于狭窄或未校准,模型误设仍是潜在风险。

更好的研究,从现在开始

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

无需绑定信用卡

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