基于分布式图处理系统的高性能概率程序推理引擎文献综述

 2023-08-14 10:58:16
  1. 选题背景和意义:

概率图模型被广泛用于统计和机器学习中,具有广泛的应用领域,该模型允许通过生成概率模型指定随机变量之间的依存关系。针对特定领域编程人员在概率论或机器学习方面了解不够深入的现象,已有多篇文献详细描述概率编程方法,使具备专业领域知识的编程者使用概率语言即可对概率模型简洁表达。使用概率推理方法,可对概率程序隐式指定的概率分布进行计算和显式表示。

概率程序推理中的静态算法,执行推理时基于编译的图模型并使用已知的推理技术进行计算。由相关资料查阅得知,以往研究偏重于概率图算法的灵活表达。当概率程序复杂、变量集大时,利用分布式图计算平台的容错性、可伸缩性和高效性来应对概率推理困难性的研究较少。

传统的图计算算法,通常存在着内存访问局部性、单个顶点工作量低、计算过程中并行度变化的问题;传统的分布式计算平台,不适用于消息传递等图算法。分布式图计算框架,可在计算机的群集上实现高效、可伸缩且容错性高的图计算,其隐含的同步性使程序推理变得更容易,同时具有表现力且易于编程。

因此,选用概率编程方式,有助于增加使用概率建模的程序员数量,借助于分布式图计算框架,可增加图计算平台的可伸缩性和容错性,增强程序推理的易实现性,为来自信息抽取、计算机视觉、可靠性分析等领域的统计分析,提供更高效运算。

  1. 文献综述(或调研报告):

根据对文献[1]、[2]、[3]的阅读,概率程序的文法规则总体上一致,即循环语句、observe语句和条件语句的定义相似。不同体现在原子语句,如[1,2]中执行贝叶斯推理的概率程序,所采用的赋值语句为布尔赋值和伯努利分布,[3]中则增加了均匀分布和高斯分布。由[1]中证明可知,离散分布可由伯努利分布变形得到,连续分布可由伯努利分布进行近似。故本次实验中概率程序文法采用[1]中BernoulliProb文法,便于扩展为其他分布。

ANTLR v4是功能强大的分析器生成工具,它在学术界和工业界广泛使用,以构建各种语言,工具和框架。ANTLR从语法的形式语言描述中,生成一种用于该语言的分析器。通过对解析树进行遍历,用户可访问树的节点以执行特定于应用程序的代码。

与程序的动静态分析类似,推理算法可归类为:

  1. 动态方法。动态地多次执行概率程序,对执行结果进行统计分析。例如: Gibbs抽样算法, Metropolis-Hastings (MH)算法。
  2. 静态方法。将概率程序编译为诸如贝叶斯网络或因子图之类的图形模型,并在此类模型上使用已知的推理技术。例如:消息传递,置信传播。

在[1]中,作者们提出了一种基于数据流分析技术的概率程序高效静态推理的新方向。基于程序分析领域的数据流分析技术,视“数据流事实”为概率分布。 使用数据流分析执行概率推理具有多个优点。静态推理的传统技术仅限于无循环程序;使用程序分析和验证领域中的”fixpoints”思想,能静态分析循环概率程序。对于无循环程序,实验也表明,数据流分析与现有技术相比更具有性能优势。与使用近似分布进行缩放的当前静态技术相比,数据流分析的计算精度更高。

许多实际的计算问题都与大型图有关。这些图的规模为它们的有效处理带来了挑战。针对其计算,目前通用的图计算平台主要可分为两种:

1)基于遍历算法、实时数据库。例如 Neo4j、OrientDB、DEX。

剩余内容已隐藏,您需要先支付 10元 才能查看该篇文章全部内容!立即支付

发小红书推广免费获取该资料资格。点击链接进入获取推广文案即可: Ai一键组稿 | 降AI率 | 降重复率 | 论文一键排版