Back to Search Start Over

GraphPPL.jl: A Probabilistic Programming Language for Graphical Models

Authors :
Wouter W. L. Nuijten
Dmitry Bagaev
Bert de Vries
Source :
Entropy, Vol 26, Iss 11, p 890 (2024)
Publication Year :
2024
Publisher :
MDPI AG, 2024.

Abstract

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.

Details

Language :
English
ISSN :
10994300
Volume :
26
Issue :
11
Database :
Directory of Open Access Journals
Journal :
Entropy
Publication Type :
Academic Journal
Accession number :
edsdoj.06c751b46d43423e9fd0feec783d3f7b
Document Type :
article
Full Text :
https://doi.org/10.3390/e26110890