GraphPPL.jl: A Probabilistic Programming Language for Graphical Models

被引:0
作者
Nuijten, Wouter W. L. [1 ]
Bagaev, Dmitry [1 ]
de Vries, Bert [1 ,2 ]
机构
[1] Eindhoven Univ Technol, Dept Elect Engn, NL-5612 AE Eindhoven, Netherlands
[2] GN Hearing, NL-5612 AB Eindhoven, Netherlands
基金
荷兰研究理事会;
关键词
Bayesian inference; factor graphs; nested models; probabilistic programming; BRAIN;
D O I
10.3390/e26110890
中图分类号
O4 [物理学];
学科分类号
0702 ;
摘要
This paper presents GraphPPL.jl, a novel probabilistic programming language designed for graphical models. GraphPPL.jl uniquely represents probabilistic models as factor graphs. A notable feature of GraphPPL.jl is its model nesting capability, which facilitates the creation of modular graphical models and significantly simplifies the development of large (hierarchical) graphical models. Furthermore, GraphPPL.jl offers a plugin system to incorporate inference-specific information into the graph, allowing integration with various well-known inference engines. To demonstrate this, GraphPPL.jl includes a flexible plugin to define a Constrained Bethe Free Energy minimization process, also known as variational inference. In particular, the Constrained Bethe Free Energy defined by GraphPPL.jl serves as a potential inference framework for numerous well-known inference backends, making it a versatile tool for diverse applications. This paper details the design and implementation of GraphPPL.jl, highlighting its power, expressiveness, and user-friendliness. It also emphasizes the clear separation between model definition and inference while providing developers with extensibility and customization options. This establishes GraphPPL.jl as a high-level user interface language that allows users to create complex graphical models without being burdened with the complexity of inference while allowing backend developers to easily adopt GraphPPL.jl as their frontend language.
引用
收藏
页数:20
相关论文
共 46 条
  • [1] Natural hierarchy emerges from energy dispersal
    Annila, Arto
    Kuismanen, Esa
    [J]. BIOSYSTEMS, 2009, 95 (03) : 227 - 233
  • [2] Bagaev D., arXiv, P2021, DOI [10.48550/arXiv.2112.13251, DOI 10.48550/ARXIV.2112.13251]
  • [3] Bagaev D., 2023, J. Open Source Softw, V8, P5161, DOI [10.21105/joss.05161, DOI 10.21105/JOSS.05161]
  • [4] ReactiveMP.jl: A Julia package for reactive variational Bayesian inference
    Bagaev, Dmitry
    van Erp, Bart
    Podusenko, Albert
    de Vries, Bert
    [J]. SOFTWARE IMPACTS, 2022, 12
  • [5] Julia: A Fresh Approach to Numerical Computing
    Bezanson, Jeff
    Edelman, Alan
    Karpinski, Stefan
    Shah, Viral B.
    [J]. SIAM REVIEW, 2017, 59 (01) : 65 - 98
  • [6] Bingham E, 2019, J MACH LEARN RES, V20
  • [7] Variational Inference: A Review for Statisticians
    Blei, David M.
    Kucukelbir, Alp
    McAuliffe, Jon D.
    [J]. JOURNAL OF THE AMERICAN STATISTICAL ASSOCIATION, 2017, 112 (518) : 859 - 877
  • [8] Stan: A Probabilistic Programming Language
    Carpenter, Bob
    Gelman, Andrew
    Hoffman, Matthew D.
    Lee, Daniel
    Goodrich, Ben
    Betancourt, Michael
    Brubaker, Marcus A.
    Guo, Jiqiang
    Li, Peter
    Riddell, Allen
    [J]. JOURNAL OF STATISTICAL SOFTWARE, 2017, 76 (01): : 1 - 29
  • [9] Loop calculus in statistical physics and information science
    Chertkov, Michael
    Chernyak, Vladimir Y.
    [J]. PHYSICAL REVIEW E, 2006, 73 (06):
  • [10] Cox M., 2018, P INT C PROB PROGR C