Skip to main content
QUICK REVIEW

[论文解读] Edward: A library for probabilistic modeling, inference, and criticism

Dustin Tran, Alp Kucukelbir|arXiv (Cornell University)|Oct 31, 2016
Machine Learning and Data Classification参考文献 1被引用 221
一句话总结

Edward 是一个基于 TensorFlow 的库,能够对广泛的概率模型和算法进行迭代式概率建模、可扩展推断和模型批评。

ABSTRACT

Probabilistic modeling is a powerful approach for analyzing empirical information. We describe Edward, a library for probabilistic modeling. Edward's design reflects an iterative process pioneered by George Box: build a model of a phenomenon, make inferences about the model given data, and criticize the model's fit to the data. Edward supports a broad class of probabilistic models, efficient algorithms for inference, and many techniques for model criticism. The library builds on top of TensorFlow to support distributed training and hardware such as GPUs. Edward enables the development of complex probabilistic models and their algorithms at a massive scale.

研究动机与目标

  • 提供一种灵活的随机变量语言以定义广义概率模型(有向图、神经网络、非参数、概率程序)。
  • 提供可扩展的推断算法(变分推断、蒙特卡洛、哈密顿蒙卡尔/HMC、朗之万动力学)以及用于开发新算法的框架。
  • 结合模型批评工具(评分规则、预测检验)来评估并迭代模型。
  • 与 TensorFlow 集成,以实现 GPU/分布式计算与自动微分。
  • 在标准统计与机器学习任务上演示端到端工作流(例如贝叶斯线性回归、分类)。

提出的方法

  • Edward 通过组合随机变量来构建模型(有向图模型、随机神经网络、概率程序)。
  • 推断实现为模块化的类别(例如变分推断、蒙特卡洛、精确推断),并支持黑箱方法和特定模型的方法。
  • 该系统支持数据输入模式(预加载、喂入和文件读取)并支持模型参数和条件推断。
  • 批评使用预测性检验和评分规则来评估模型拟合度并指导修订。
  • Edward 基于 TensorFlow 运行,以利用 GPU/分布式训练和自动微分。
  • 它支持自定义随机变量和组合推断,包括混合和消息传递算法。

实验结果

研究问题

  • RQ1如何在统一的软件框架内表达、推断和批评概率模型?
  • RQ2在 Edward 中,哪些推断算法(变分、蒙特卡洛、精确)在多样的模型族中是有效的?
  • RQ3模型与推断的灵活组合如何促进大规模的快速试验?
  • RQ4哪些设计选择能够使带随机控制流的概率程序在大规模数据上高效训练?
  • RQ5如何将模型批评整合到迭代的 Box 循环中以推动模型修订?

主要发现

  • Edward 提供了一种广义的随机变量语言,能够实现有向图、神经网络、贝叶斯非参数以及概率程序。
  • 一个模块化的推断框架支持变分、蒙特卡洛和精确方法,包括混合和消息传递算法。
  • 该库强调组合性,使复杂后验分布的条件推断和混合推断工作流成为可能。
  • Edward 在 TensorFlow 上实现,使 GPU 加速、分布式训练和自动微分成为可能。
  • 本文演示了端到端的示例,如贝叶斯线性回归和神经网络分类,以说明工作流。
  • Edward 支持自定义随机变量和随机控制流,以对动态计算图建模。

更好的研究,从现在开始

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

无需绑定信用卡

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