谷歌提出深度概率编程语言 Edward

Edward 官网对这门新语言的描述是:Edward 是一个用于概率建模、推理和评估的 Python 库。它是一个用于快速实验和研究概率模型的测试平台,其涵盖的模型范围从在小数据集上的经典层次模型到在大数据集上的复杂深度概率模型。Edward 融合了以下三个领域:贝叶斯统计学和机器学习、深度学习、概率编程。

它支持以下方式的建模:

定向图模型

神经网络(通过 Keras 和 TensorFlow Slim 等库)

条件特定的无向模型

贝叶斯非参数和概率程序

它支持以下方式的推理:

变分推理(Variational inference)

黑箱变分推理

随机变分推理

包容 KL 散度(Inclusive KL divergence):\text{KL}(p|q)KL(p∥q)

最大后验估计

蒙特卡洛(Monte Carlo)

哈密尔顿蒙特卡罗(Hamiltonian Monte Carlo)

随机梯度 Langevin 动态

Metropolis-Hastings

推理的组成

期望最大化(Expectation-Maximization)

伪边界和 ABC 方法(Pseudo-marginal and ABC methods)

消息传递算法(Message passing algorithms)

它支持以下的模型评估和推理:

基于点的评估(Point-based evaluations)

后验预测检查(Posterior predictive checks)

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 & Welling, 2014; Rezende & Mohamed, 2015; Tran et al., 2016b)和生成对抗网络(Goodfellow et al., 2014)上的进展已经变得非常重要了。

我们提出了一种图灵完备的概率编程语言 Edward。Edward 构建于两种组合表示的基础上——随机变量和推理(random variables and inference)。我们给出了如何将 Edward 集成到已有的计算图框架(如 TensorFlow)中的方法。TensorFlow 这样的框架能够「免费」提供分布式训练、并行性、向量化和 GPU 支持等计算优势。我们还表明 Edward 可以如何让我们轻松使用从点估计(point estimation)到变分推理和 MCMC 等各种可组合的推理方法来拟合相同的模型。通过将推理看作「第一类公民」,与建模(modeling)一样,我们表明概率编程可以做到和传统深度学习一样灵活和有计算效率。比如,我们的哈密尔顿蒙特卡罗(Hamiltonian Monte Carlo)实现比现有的软件快 35 倍。

图 1:Beta-Bernoulli 程序(左)与其计算图(右)。从图中取 x 会生成一个有 50 个元素的二值向量

图 2:用于一个 28×28 像素图像的数据集的变自编码器:(左)图模型,其中虚线表示推理模型;(右)概率程序,带有 2 层神经网络

图 3:贝叶斯 RNN:(左)图模型;(右)概率程序。该程序的时间步骤未指定;其为循环使用了一个符号(tf.scan)

图 4:(左)变分推理;(右)蒙特卡洛

图 5: 生成式对抗网络:(左侧)概率图模型(右侧)概率程序。加入一些假数据以及训练其判别式模型,能不断强化该生成模型

图 6:LDA 文档主题生成模型,隐含狄利克雷分布 (Blei et al., 2003)

图 7: 高斯矩阵分解

文章转载自 开源中国社区 [http://www.oschina.net]

时间: 2024-08-30 15:14:36

谷歌提出深度概率编程语言 Edward的相关文章

《树莓派开发实战(第2版)》——1.3 Figaro简介:一种概率编程语言

1.3 Figaro简介:一种概率编程语言 在本书中,您将使用一种称为Figaro的概率编程系统.(我用莫扎特的歌剧<费加罗的婚礼>中的角色为其命名.我喜爱莫扎特,并在该剧于波士顿的一次演出中饰演巴尔托洛医生.)本书的主要目标是教授概率编程的原则,在本书中学到的技术应该可以在其他概率编程系统上沿用.附录B简单描述了现有的一些系统.但是,本书还有第二个目标--帮助您获得创建使用概率程序的亲身体验,并提供可以立即使用的工具.因此,许多例子都用Figaro代码实现. Figaro是从2009年开始开

谷歌开源深度学习系统TensorFlow 的图片文字说明模型

谷歌开源深度学习系统TensorFlow 的图片文字说明模型 责任编辑:editor007 作者:aiko |  2016-09-23 22:27:27 本文摘自:36kr   今天,谷歌宣布开源图片文字说明模型 Show and Tell,该模型具有自动生成图片文字说明的功能,准确率达 93.9%. 谷歌于 2014 年发表论文首次介绍了 Show and Tell 这一系统模型,在 2015 年又对其进行了内容更新,对相关技术做了更加准确的改进.之后,谷歌一直在完善这一技术,最终作为谷歌 T

【AAAI 2018】中大商汤等提出深度网络加速新方法,具有强大兼容能力

深度网络不断地提升计算机视觉任务的性能,然而,性能提高往往却伴随着愈高的计算复杂度,这严重限制了深度网络在资源受限的平台(如手机,移动嵌入式设备等)的应用.因此,研究深度网络的加速吸引大量工作的关注.近日,中山大学.哈尔滨工业大学.桂林电子大学,香港理工大学以及商汤科技公司联合研究团队提出基于类小波自编码机的深度网络加速法.该方法首先通过一个可学习的类小波自编码机(Wavelet-like Auto-Encoder, WAE),把输入图片分解成两个低分辨率的小图,再以小图替代大图输入到深度网络,

谷歌删除了一款名为SuperPoke Pets的虚拟宠物游戏而对谷歌提出起诉

虚拟宠物游戏玩家的损失可能并不多,但从大的角度来说,这件案子将反映出法律对待正在蓬勃发展之中的虚拟货币市场的态度. SuperPoke Pets是一款在线宠物游戏,玩家可以选择一种宠物(狗.青蛙.绵羊等)来饲养.许多玩家用真钱购买了宠物社区的"金币"(虚拟货币),然后用金币购买游戏道具. 谷歌最初从一家名为Slide的公司购买了该游戏,但去年夏季决定将这款游戏从产品库中删除.对于谷歌来说,之前的虚拟"金币"已经毫无价值了. 谷歌此举引起了游戏玩家的愤怒,他们找了一家

Dart:谷歌推出的web编程语言

Dart是谷歌推出的一种web编程语言,Dart 1.0版本已完工. Dart是为网站与web应用在程序效率和软件表现方面对JavaScript的一种提升.项目主管Lars Bak在博客更新中说,1.0版本的发布也就意味着Dart已经可以正式用于web世界,而不再只是测试.虽然还有很多障碍让Dart无法直接用于web,谷歌还是为之提供了一些间接的实现机制,并且尝试说服其他浏览器制造商Dart值得使用. Dart是在2年前初次登上历史舞台的,本次1.0版本的发布则是在比利时的Devoxx大会上.谷

甲骨文拒绝谷歌提出的专利赔偿方案

据路透社报道,甲骨文状告谷歌侵犯其专利和版权的案件将会于4月16日在美国旧金山正式开庭审理,预计整个审理过程将会持续8个星期之久.因此,负责该案的主审法官Willian Alsup要求双方都提出一个能够简化该案件审理过程的方案. 日前,在一份由谷歌和甲骨文两家公司联合呈交的一份方案中,谷歌公司表示愿意向甲骨文公司支付约280万美元用于2011年之前有关两项专利的使用费用.但前提条件是甲骨文公司能够在接下来的诉讼中证明谷歌公司确实存在http://www.aliyun.com/zixun/aggr

Google+将与谷歌Blogger深度整合

10月25日消息,据美国科技博客techcrunch.报道,谷歌社交网站Google+不久将与谷歌http://www.aliyun.com/zixun/aggregation/9607.html">博客平台Blogger进行深度整合. 届时,Blogger上将出现"连接到Google+"按钮,用户将可以利用谷歌帐号在Blogger上使用Google+的功能. 聚焦于谷歌新闻的谷歌非官方博客Google Operating System版主亚历克斯·奇图(Alex Ch

舌尖上的“谷歌”之深度评测Nexus 7平板电脑

本周谷歌在IO开发大会上发布了Nexus 7平板电脑,其中参加大会的出席者可以免费得到1台,实体机也已经在eBay开卖,而且仅售199美元.在考虑是否购买前,大家可能很想知道实际表现又如何,cnITinfo.COM就同步与其它的平板电脑作初步比较给大家参考,Nexus 7整体的表现还算不错. 不要以为价钱较为便宜,在硬件上就将货就价,性能必定有所不及.Nexus 7所采用的处理器为较低频率的1.3GHz Tegra 3 T30LSoC,四核心全负载时会是1.15GHz,比起其它采用相同SoC的平

谷歌收购深度搜索引擎Kifi 改进群聊应用Spaces

谷歌群聊应用Spaces 北京时间7月13日消息,据科技博客TechCrunch报道,谷歌实施了一笔小型收购交易,继续加大在社交应用领域的努力. 谷歌已经收购了创业公司Kifi背后的团队,后者开发扩展程序来收集和搜索社交应用中的链接,并进一步推荐链接,例如推文链接保存工具Kifi for Twitter. 这笔收购交易的财务条款并未披露,但是谷歌工程总监爱德·凯斯勒(Eddie Kessler)表示,Kifi团队将加入谷歌,开发群聊应用Spaces.谷歌拒绝披露到底有多少Kifi员工加入公司.