Probabilistic Programming with Densities in SlicStan: Efficient, Flexible and Deterministic
Stan is a probabilistic programming language that has been increasingly used for real-world scalable projects. However, to make practical inference possible, the language sacrifices some of its usability by adopting a block syntax, which lacks compositionality and flexible user-defined functions. Moreover, the semantics of the language has been mainly given in terms of intuition about implementation, and has not been formalised.
This paper provides a formal treatment of the Stan language, and introduces the probabilistic programming language SlicStan — a compositional, self-optimising version of Stan. Our main contributions are: (1) the formalisation of a core subset of Stan through an operational density-based semantics; (2) the design and semantics of the Stan-like language SlicStan, which facilities better code reuse and abstraction through its compositional syntax, more flexible functions, and information-flow type system; and (3) a formal, semantic-preserving procedure for translating SlicStan to Stan.
|Presentation Slides (Probabilistic Programming with Densities in SlicStan.pdf)||1.92MiB|
Wed 16 Jan
|13:45 - 14:07|
Maria I. GorinovaThe University of Edinburgh, Andrew D. GordonMicrosoft Research and University of Edinburgh, Charles SuttonUniversity of EdinburghLink to publication DOI Pre-print File Attached
|14:07 - 14:29|
Matthijs VákárUniversity of Oxford, Ohad KammarUniversity of Edinburgh, Sam StatonUniversity of OxfordLink to publication DOI Pre-print File Attached
|14:29 - 14:51|
Feras SaadMassachusetts Institute of Technology, Marco Cusumano-TownerMIT-CSAIL, Ulrich SchaechtleMassachusetts Institute of Technology, USA, Martin RinardMassachusetts Institute of Technology, Vikash MansingkhaMITLink to publication DOI File Attached