Wouter Nuijten bio photo

Wouter Nuijten

PhD student at Eindhoven University of Technology

Email Twitter Google Scholar LinkedIn Github

Authors: Wouter W. L. Nuijten, Dmitry Bagaev, Bert de Vries

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 algorithms. To demonstrate that, 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 it maintains between model definition and inference while providing developers with extensibility and customization options.

Published in: MDPI Entropy

Available on MDPI