点击下载论文:https://arxiv.org/pdf/1701.03757v1.pdf Edward 官网:http://edwardlib.org/ Edward 官网对这门新语言的描述是:Edward 是一个用于概率建模、推理和评估的 Python 库。它是一个用于快速实验和研究概率模型的测试平台,其涵盖的模型范围从在小数据集上的经典层次模型到在大数据集上的复杂深度概率模型。Edward 融合了以下三个领域:贝叶斯统计学和机器学习、深度学习、概率编程。 它支持以下方式的建模:
它支持以下方式的推理
它支持以下的模型评估和推理
Edward 构建于 TensorFlow 之上。它支持诸如计算图、分布式训练、CPU/GPU 集成、自动微分等功能,也可以用 TensorBoard 可视化。 以下是介绍论文的摘要介绍 论文标题:深度概率编程(DEEP PROBABILISTIC PROGRAMMING) 摘要 我们提出了一种图灵完备的概率编程语言 Edward。Edward 构建于两种组合式表示的基础上随机变量和推理(random variables and inference)。通过将推理看作「第一类公民」,与建模(modeling)一样,我们表明概率编程可以做到和传统深度学习一样灵活和有计算效率。 对于灵活性,Edward 让我们可以使用从点估计(point estimation)到变分推理和 MCMC 等各种可组合的推理方法来拟合相同的模型。此外,Edward 还可以将建模表征复用作推理的一部分,这能促进丰富的变分模型和生成对抗网络的设计。 对于效率,Edward 集成到了 TensorFlow 之中,在已有的概率系统基础上提供了显著的加速。比如,在基准 logistic 回归任务上,Edward 至少比 Stan 和 PyMC3 快 35 倍。 引言 深度神经网络的本质是组合式的(compositional)。用户可以以创造性的方式来将层连接起来,而无需担忧如何去执行测试(前向传播)或推理(基于梯度的优化,通过反向传播和自动微分)。在这篇论文中,我们为概率变成设计组合式表示(compositional representations)。概率编程让用户可以将生成概率模型指定为程序(program),然后将这些模型「编译(compile)」为推理过程(inference procedures)。概率模型本质上也是组合式的,而之前的大部分工作都集中在通过组合随机变量来构建丰富的概率程序上(Goodman et al., 2012; Ghahramani, 2015; Lake et al., 2016)。 但很少有研究考虑过用于推理的类似的组合性。相反,现在大多数已有的概率编程语言都将推理引擎当作从模型中抽象出来的黑箱来处理。这些方法不能代表在复用模型表征的概率推理中的最新进展。比如,在变分推理(Kingma |
|
声明:文章版权归原作者所有 部分文章转自互联网 如有侵权请联系
[邮箱地址] 删除
|