A factor graph approach to automated design of Bayesian signal processing algorithms

Marco Cox (Corresponding author), Thijs van de Laar, Bert de Vries

Research output: Contribution to journalArticleAcademicpeer-review

9 Citations (Scopus)
90 Downloads (Pure)


The benefits of automating design cycles for Bayesian inference-based algorithms are becoming increasingly recognized by the machine learning community. As a result, interest in probabilistic programming frameworks has much increased over the past few years. This paper explores a specific probabilistic programming paradigm, namely message passing in Forney-style factor graphs (FFGs), in the context of automated design of efficient Bayesian signal processing algorithms. To this end, we developed “ForneyLab”2 as a Julia toolbox for message passing-based inference in FFGs. We show by example how ForneyLab enables automatic derivation of Bayesian signal processing algorithms, including algorithms for parameter estimation and model comparison. Crucially, due to the modular makeup of the FFG framework, both the model specification and inference methods are readily extensible in ForneyLab. In order to test this framework, we compared variational message passing as implemented by ForneyLab with automatic differentiation variational inference (ADVI) and Monte Carlo methods as implemented by state-of-the-art tools “Edward” and “Stan”. In terms of performance, extensibility and stability issues, ForneyLab appears to enjoy an edge relative to its competitors for automated inference in state-space models.

Original languageEnglish
Pages (from-to)185-204
Number of pages20
JournalInternational Journal of Approximate Reasoning
Publication statusPublished - 1 Jan 2019

Bibliographical note

Accepted for publication in the International Journal of Approximate Reasoning


  • Bayesian inference
  • Factor graphs
  • Julia
  • Message passing
  • Probabilistic programming

Fingerprint Dive into the research topics of 'A factor graph approach to automated design of Bayesian signal processing algorithms'. Together they form a unique fingerprint.

Cite this