Probabilistic Programming with Densities in SlicStan: Efficient, Flexible, and Deterministic

被引:12
|
作者
Gorinova, Maria, I [1 ]
Gordon, Andrew D. [1 ,2 ]
Sutton, Charles [1 ,3 ]
机构
[1] Univ Edinburgh, Edinburgh, Midlothian, Scotland
[2] Microsoft Res Cambridge, Cambridge, England
[3] Google Brain, Mountain View, CA USA
来源
PROCEEDINGS OF THE ACM ON PROGRAMMING LANGUAGES-PACMPL | 2019年 / 3卷 / POPL期
基金
英国工程与自然科学研究理事会;
关键词
probabilistic programming; information flow analysis; SEMANTICS; SAMPLER;
D O I
10.1145/3290348
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
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.
引用
收藏
页数:30
相关论文
共 50 条
  • [21] Pyro: Deep Universal Probabilistic Programming
    Bingham, Eli
    Chen, Jonathan P.
    Jankowiak, Martin
    Obermeyer, Fritz
    Pradhan, Neeraj
    Karaletsos, Theofanis
    Singh, Rohit
    Szerlip, Paul
    Horsfall, Paul
    Goodman, Noah D.
    JOURNAL OF MACHINE LEARNING RESEARCH, 2019, 20
  • [22] Fabular: Regression Formulas as Probabilistic Programming
    Borgstrom, Johannes
    Gordon, Andrew D.
    Ouyang, Long
    Russo, Claudio
    Scibior, Adam
    Szymczak, Marcin
    ACM SIGPLAN NOTICES, 2016, 51 (01) : 271 - 283
  • [23] Statistical Statements in Probabilistic Logic Programming
    Azzolini, Damiano
    Bellodi, Elena
    Riguzzi, Fabrizio
    LOGIC PROGRAMMING AND NONMONOTONIC REASONING, LPNMR 2022, 2022, 13416 : 43 - 55
  • [24] Probabilistic Programming with Programmable Variational Inference
    Becker, Mccoy R.
    Lew, Alexander K.
    Wang, Xiaoyan
    Ghavami, Matin
    Huot, Mathieu
    Rinard, Martin C.
    Mansinghka, Vikash K.
    PROCEEDINGS OF THE ACM ON PROGRAMMING LANGUAGES-PACMPL, 2024, 8 (PLDI):
  • [25] Neural probabilistic logic programming in DeepProbLog
    Manhaeve, Robin
    Dumancic, Sebastijan
    Kimmig, Angelika
    Demeester, Thomas
    De Raedt, Luc
    ARTIFICIAL INTELLIGENCE, 2021, 298
  • [26] Probabilistic Programming Semantics for Name Generation
    Sabok, Marcin
    Staton, Sam
    Stein, Dario
    Wolman, Michael
    PROCEEDINGS OF THE ACM ON PROGRAMMING LANGUAGES-PACMPL, 2021, 5
  • [27] Probabilistic programming for assessment of capability and capacity
    Pfeffer, Avi P.
    Harrison, Scott A.
    SIGNAL PROCESSING, SENSOR FUSION, AND TARGET RECOGNITION XX, 2011, 8050
  • [28] Probabilistic programming: A review for environmental modellers
    Krapu, Christopher
    Borsuk, Mark
    ENVIRONMENTAL MODELLING & SOFTWARE, 2019, 114 : 40 - 48
  • [29] HackPPL: A Universal Probabilistic Programming Language
    Ai, Jessica
    Arora, Nimar S.
    Dong, Ning
    Gokkaya, Beliz
    Jiang, Thomas
    Kubendran, Anitha
    Kumar, Arun
    Tingley, Michael
    Torabi, Narjes
    PROCEEDINGS OF THE 3RD ACM SIGPLAN INTERNATIONAL WORKSHOP ON MACHINE LEARNING AND PROGRAMMING LANGUAGES (MAPL '19), 2019, : 20 - 28
  • [30] A history of Probabilistic Inductive Logic Programming
    Riguzzi, Fabrizio
    Bellodi, Elena
    Zese, Riccardo
    FRONTIERS IN ROBOTICS AND AI, 2014,