没有合适的资源?快使用搜索试试~ 我知道了~
Julia包ReactiveMP.jl的自动化反应式VB推理方法
软件影响12(2022)100299原始软件出版物jl:一个用于反应变分贝叶斯推理的Julia包Dmitry Bagaev,1,Bart van Erp,Albert Podusenko2,Bert de Vries埃因霍温理工大学,Groene Loper 19,5612 AP,埃因霍温,荷兰自动清洁装置保留字:因子图自由能优化图形模型消息传递响应式编程变分贝叶斯推理代码元数据A B标准变分贝叶斯(VB)推理已经成为基于模型的机器学习中近似精确贝叶斯推理的一种越来越流行的方法。VB方法提供了一种权衡精度与计算复杂性的方法,并且比采样解决方案更适合于高维推理问题。Julia包ReactiveMP.jl通过最小化实现并自动化反应式VB推理通过在因子图表示上传递消息,概率模型。此外,通过支持对自由能泛函的显式约束的规范,ReactiveMP.jl允许对不同的变分成本函数提案进行比较分析当前代码版本v1.3.2用于此代码版本的代码/存储库的永久链接https://github.com/SoftwareImpacts/SIMPAC-2022-45可再生胶囊的永久链接https://codeocean.com/capsule/2362117/tree/v1法律代码许可证MIT许可证使用git/GitHub的代码版本控制系统使用Julia、GitHub Actions、Codecov的软件代码语言、工具和服务编译要求、操作环境&依赖性Julia 1.6-1.7与 GraphPPL.jl、Rocket.jl如果可用,链接到开发人员文档/手册https://biaslab.github.io/ReactiveMP.jl/v1.3/问题支持电子邮件d. v. tue.nl1. 介绍贝叶斯推理和概率编程在基于模型的机器学习应用中变得越来越流行。尽管如此,在许多具有实际意义的概率模型中进行有效的贝叶斯推理仍然是一个很大的挑战。使用贝叶斯规则计算后验分布通常需要求解高维积分,这很快变得难以处理。虽然流行的方法,如汉密尔顿蒙特卡罗(HMC)和无U形转弯采样器(NUTS)使用先进的采样技术,使贝叶斯推断在一个非常广泛的一类模型,这些方法不缩放以及与潜在变量的数量在概率模型,并可能产生不准确的后验近似的高维分布。变异贝叶斯(VB)推理提供了一种有趣的替代方法,基于采样的推理,因为它允许权衡计算复杂性与准确性,并且更好地扩展到高维共轭概率状态空间模型[1]。几乎所有VB推理的变体都可以被公式化为受约束为了支持概率编程社区,我们对ReactiveMP.jl [6]进行了扩展,这是一个Julia包,用于实现VB推理的自动化、高效和基于响应式消息传递的实现。jl在可能的情况下为消息使用分析解决方案,并支持对BFE优化目标的因式分解和形式约束,以便仅在需要时启用近似方法。本文中的代码(和数据)已由Code Ocean认证为可复制:(https://codeocean.com/)。更多关于生殖器的信息徽章倡议可在https://www.elsevier.com/physical-sciences-and-engineering/computer-science/journals上查阅。*通讯作者。电子邮件地址: d.v. tue.nl(D. Bagaev),b.v. tue.nl(B. van Erp),a. tue.nl(A. Podusenko),bert.de. tue.nl(B. de Vries)。1 本软件的主要作者。2 部分资金由研究计划零(没有。P15-06),由荷兰科学研究组织(NWO)资助https://doi.org/10.1016/j.simpa.2022.100299接收日期:2022年4月6日;接受日期:2022年4月24日2665-9638/©2022作者。由Elsevier B. V.发布,这是CC BY-NC-ND许可证下的开放获取文章(http://creativecommons.org/licenses/by-nc-nd/4.0/)。可在ScienceDirect上获得目录列表软件影响杂志 首页:www.journals.elsevier.com/software-impactsD. 巴加耶夫湾van Erp,A.Podusenko等人软件影响12(2022)1002992Fig. 1. 一个与环境交互的实时事件驱动贝叶斯推理代理的例子。jl提供了一个基于反应式编程的工具箱,用于观察数据和从环境中学习,以及推断对环境的操作。我们的模型的潜在状态上的所有边缘都会监听数据的变化并自动更新自己。 jl支持通过跟踪(Bethe)自由能在线评估当前模型的性能。智能体能够通过更新控制潜变量的后边缘来通过执行器作用于环境。2. 描述和特点给定概率模型定义,ReactiveMP.jl自动生成该模型的因子图表示,并提供实用程序以获得后验边缘分布,条件是观察到的数据。我们的新实现的主要特点是推理过程的反应性。核心API的设计考虑到了与信号处理相关的应用。jl可以很好地处理无限的实时数据流,对新的观察做出反应,执行在线VB推理,并轻松地与事件驱动的应用程序集成,见图。1.一、推理后端将后边缘暴露为无限流,这些流监听数据中的变化并自动更新自己。虽然ReactiveMP.jl是为无限异步数据流上的实时反应性VB推理而设计的,但它也支持静态数据集。由于ReactiveMP.jl自动化了推理过程,因此在实际应用中使用概率模型之前,ReactiveMP.jl附带了一个全面的模型规范语言(GraphPPL.jl),它使用Julia宏来生成概率模型的因子图表示。 为了可用性,模型规范语法与数学模型描述非常相似,见图。 二、模型规范语言支持局部因子分解和形式约束的变分家庭的后验在不同部分的因子图。当前的GitHub存储库包括几个演示使用示例,例如线性高斯状态空间模型,自回归模型,可逆神经网络(归一化流),分层高斯滤波器模型,无限数据流处理,混合模型中的推理等。该工具箱附带了文档和用户友好的API,以通过额外的自定义因子节点、自定义消息传递更新规则和自定义近似方法来增强内置功能。jl的计算管道也是可定制的。默认情况下,管道支持jl与其他Julia包集成得很好。例如,生成的推理过程与自动差分包(如ForwardDiff.jl [7]或ReverseDiff.jl)兼容,支持StaticArrays.jl包中的静态矩阵,并且运行良好使用不同的浮点数,例如DoubleFloats.jl的Float128或Julia Base的BigFloat用户还可以使用全局Julia生态系统中的优化包,如Optim.jl,对模型(超)参数进行全局优化图二. 使用GraphPPL.jl模型规范语言对线性高斯状态空间模型进行规范。GraphPPL.jl自动将任何概率模型规范转换为与ReactiveMP.jl兼容的因子图表示。请注意,GraphPPL.jl中的模型描述与实际的数学方程非常相似。3. 影响概述在过去的两年里,我们扩展和改进了ReactiveMP.jl,以满足我们自己在实际模型中自动推理的需求。jl目前支持在复杂和复杂的概率状态空间模型中进行贝叶斯推断。内置的模型规范语言大大简化了信号处理应用程序的不同概率模型建议的测试和迭代。对BFE上指定约束的内置支持使得可以在 模型的因子图表示。因此,即使有这些正在进行的开发,我们的团队也测试了新的复杂概率模型,并在同行评审的期刊和会议上发表了多篇科学文章,实验结果由ReactiveMP.jl生成[1,5,8我们设计并实现了基于反应式消息传递的贝叶斯推理引擎,从计算资源的角度来看,它非常高效;参见表1。ReactiveMP.jl为共轭状态空间模型运行贝叶斯推理,该模型可能在标准办公室Macbook笔记本电脑上的模型中包含数十万个随机变量[1,8,10]。在基于采样的高级推理方法需要几分钟才能完成的模型中,ReactiveMP.jl在毫秒内产生推理结果。然而,应该注意的是,ReactiveMP.jl目前支持的自动推理模型比最先进的基于采样的推理工具箱更少。我们希望在未来的版本中支持和扩展我们的工具箱,以获得更多可能的概率模型。我们相信,由于ReactiveMP中推理过程的速度和效率,快速迭代模型设计过程将在使贝叶斯建模成为实践工程师高度重视的标准工具4. 局限性和今后的工作虽然ReactiveMP.jl支持共轭和非共轭模型定义,但非共轭情况下的推理能力仍然有限。我们计划扩展非共轭情况下可能的近似方法列表,例如,在我们工具箱的未来版本目前,ReactiveMP.jl不支持概率模型中潜在状态之间任何非线性确定性关系的自动贝叶斯推断这纯粹是一个技术限制,我们计划在工具箱的未来版本中解决这个问题。如前所述,用户API提供了工具、足够的文档和示例来创建自定义因子节点,包括非线性确定性因子节点和消息的自定义近似方法作为解决方案。D. 巴加耶夫湾van Erp,A.Podusenko等人软件影响12(2022)1002993表1VB和基于采样的常见信号处理概率模型推理解决方案之间的性能比较。jl的VB推理实现产生了更准确的结果,同时在执行时间上快了几个数量级。此外,ReactiveMP.jl能够在模型中运行具有数十万个潜在变量的VB推理关于模型的来源和附加信息基准和精度检查[1]。模型数据集大小VB(ReactiveMP.jl)HMC + PG(Turing.jl)线性高斯状态空间模型(二维状态)300 33 ms 36 s线性高斯状态空间模型(四维状态)300 40 ms 117 s隐马尔可夫模型(三维状态)250 62 ms 784 s分层高斯滤波模型(一维状态)250 95 ms 13 s当前实现的另一个技术限制是缺乏创建具有动态数量的边的因子节点的能力。ReactiveMP.jl中概率模型的因子图表示需要为每种类型的因子节点提供固定数量的边。例如,高斯节点正好有三条边。静态边允许预编译推理过程的不同部分,并更有效地使用计算资源。尽管如此,这种限制可以通过自定义因子节点实现手动解决,就像我们为高斯和伽马混合节点所做的那样[8]。然而,目前还没有用户友好的API来简化这个过程。对于ReactiveMP.jl包的未来版本,我们考虑了几个可能的研究方向。如前所述,我们计划借助基于采样的解决方案和随机变分推理方法,为涉及未知数之间非线性确定性关系的概率模型启用自动VB推理[12,13]。我们计划与现有的基于采样的贝叶斯推理解决方案集成,例如Turing.jl [14]和其他解决方案。另一个有趣的研究方向是在运行时的推理过程中启用因子图修改。原则上,该特征将使模型结构能够基于新的传入观测进行自适应,而不需要停止推理过程,参见图。1.一、我们还在研究基于局部BFE贡献的贝特自由能优化过程的自动中断标准,称为比例因子[15,第6章]。我们计划建立一个交互式的,实时的,用户友好的图形浏览器,将简化调试和可视化VB推理。此外,我们计划支持多CPU并行执行消息传递推理5. 结论我们已经开 发并继续增强一个新的 贝叶斯推理工具箱,名 为ReactiveMP.jl,它基于因子图中变分消息传递的反应式实现。与其他Julia包(包括GraphPPL.jl,Rocket.jl,Distributions.jl [16]等)一起,该工具箱形成了一个生态系统,可以在大量概率模型中自动进行变分贝叶斯推理。由此产生的推理过程是非常有效的,并允许从静态和动态的大数据集学习。反应式实现使VB推理能够对潜在的无限异步数据流实时运行。因式分解和形式约束的变分家庭的后验允许权衡计算复杂性与准确性的推理过程。 jl易于扩展,并支持为高级用户添加自定义因子和基于消息传递的推理方法。我们相信,核心功能可以被更广泛的研究人员在概率建模领域使用。我们希望ReactiveMP.jl能够推动贝叶斯建模方法在工业和学术机器学习社区中的应用。CRediT作者贡献声明Dmitry Bagaev:概念化,方法论,软件,写作-原始草稿。Bartvan Erp:软件,Writing review. Albert Podusenko:软件,Writingreview. Bert de Vries:监督,写作竞合利益作者声明,他们没有已知的竞争性财务利益或个人关系,可能会影响本文报告的工作致谢我们要感谢来自埃因霍温理工大学的Ismail Senoz和Thijs van deLaar对基于消息传递的贝叶斯推理的理论和实现方面的支持和翔实的讨论。这项工作部分由研究计划ZERO资助(编号。P15-06),由荷兰科学研究组织(NWO)资助引用[1]D.巴加耶夫湾de Vries,Reactive message passing for scalable Bayesian inference,2021,arXiv:2112.13251[Cs]。[2] J.S. Yedidia,W.T. Freeman,Y. Weiss,Bethe自由能,Kikuchi近似和置信传播算法,Adv. 神经信息过程系统13(2001)24.[3] J.S. Yedidia,W.Freeman,Y.Weiss,构建自由能近似和广义置信传播算法,IEEE Trans.Inform. Theory 51(7)(2005)2282http://dx.doi.org/10.1109/TIT.2005.850085//ieeexplore.ieee.org/abstract/document/1459044网站。[4] J.S. Yedidia , 推 理 和 优 化 的 消 息 传 递 算 法 , J. Stat. 145 ( 4 ) ( 2011 ) 860-http://link.springer.com/article/10.1007/[5] I. 埃森诺兹 van de Laar,D. 巴加耶夫湾 de Vries,变分消息传递and local constraint manipulation in factor graphs , Entropy 23( 7 ) ( 2021 )807 ,http://dx.doi.org/10.3390/e23070807 ,URLhttps://www.mdpi.com/1099-4300/23/7/807 , Number : 7 Publisher : Multidisciplinary Digital PublishingInstitute.[6] D. Jl:一个Julia包,用于自动贝叶斯推理具有反应性消息传递的因子图,2021,http://dx.doi.org/10.5281/Zenodo.6365000,Zenodo,URLhttps://zenodo.org/record/6365000。[7] J. Revels, M. Lubin, T. Papamarkou, Julia 中的前 向模式自动微 分,2016,arXiv:1607.07892[Cs]。[8] A. 波杜先科湾 van Erp,D. 巴加耶夫岛 埃切诺兹湾 德·弗里斯,信息传递-基于伽玛混合模型的推理,在:2021年IEEE第31届信号处理机器学习国际研讨会,MLSP , IEEE , 澳 大 利 亚 黄 金 海 岸 , 2021 年 , 第 101 页 。1https://ieeexplore.ieee.org/document/9596329/http://dx.doi.org/10.1109/MLSP52302.2021.9596329[9] B. van Erp,A.Podusenko,T.伊格纳坚科湾de Vries,贝叶斯建模应用程序,个人化音景演算法的情境设计方法,应用科学。11(20 )(2021)9535,http://dx.doi.org/10.3390/app11209535,URLhttps://www.mdpi.com/2076-3417/11/20/9535,编号:20 出版商:多学科数字出版研究所。[10] A. 波杜先科湾van Erp,M.库达尔湾de Vries,AIDA:一种积极的推理-基 于 Agent 的 音 频 处 理 算 法 设 计 , Front. 信 号 处 理 。 2 ( 2022 )URLhttps://www.frontiersin.org/article/10.3389/frsip.2022.842477。[11]D. 巴加耶夫湾DeVries,Reactiveemp.jl:一个用于响应式消息的Julia包基 于 传 递 的 贝 叶 斯 推 理 , JuliaCon Proc. 1( 1 ) ( 2022 ) 91 , http : //dx.doi.org/10.21105/jcon.00091,URL https://proceedings.juliacon.org/papers/10。21105/jcon.00091。[12] S. 阿克拜拉克湾Vries,重新参数化梯度消息传递,在:2019第27届欧洲信号处理会议,EUSIPCO,IEEE,A Coruna,西班牙,2019年,pp.1http://dx.doi.org/10.23919/EUSIPCO.2019.8902930D. 巴加耶夫湾van Erp,A.Podusenko等人软件影响12(2022)1002994//ieeexplore.ieee.org/document/8902930/网站。D. 巴加耶夫湾van Erp,A.Podusenko等人软件影响12(2022)1002995[13] S.阿克拜拉克岛 博恰罗夫湾 de Vries,用于自动近似贝叶斯推理的扩展变分消息传递 , 熵 23 ( 7 ) ( 2021 ) 815 , http://dx.doi.org/10.3390/e23070815 ,URLhttps://www.mdpi.com/1099-4300/23/7/815。[14] H. Ge,K. Xu,Z. Ghahramani,图灵:一种灵活的概率推理语言,在:人工智能和统计国际会议,2018年,pp。1682-http://proceedings.mlr.press/v84/ge18b.html[15] C. Reller ,State-Space Methods in Statistical Signal Processing:New Ideas andApplications ( State-Space Methods in Statistical Signal Processing : New IdeasandApplications)thesis),ETH Zurich,2012.[16] M. 贝桑松 Papamarkou,D. Anthoff,A. 阿尔斯兰,S。 Byrne,D. 林,J.Pearson , Distributions.jl : Definitionandmodelingofprobabilitydistributions in the JuliaStats ecosystem ,J. Stat. 软件 。98 (16 ) (2021)1https://www.jstatsoft.org/v098/http://dx.doi.org/10.18637/jss.v098.i16
下载后可阅读完整内容,剩余1页未读,立即下载
![.zip](https://img-home.csdnimg.cn/images/20210720083646.png)
![.zip](https://img-home.csdnimg.cn/images/20210720083646.png)
![.zip](https://img-home.csdnimg.cn/images/20210720083646.png)
![-](https://csdnimg.cn/download_wenku/file_type_lunwen.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
安全验证
文档复制为VIP权益,开通VIP直接复制
![](https://csdnimg.cn/release/wenkucmsfe/public/img/green-success.6a4acb44.png)