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 条
  • [31] Programming with Singular and Plural Non-deterministic Functions
    Riesco, Adrian
    Rodriguez-Hortala, Juan
    PEPM '10: PROCEEDINGS OF THE 2010 ACM SIGPLAN WORKSHOP ON PARTIAL EVALUATION AND PROGRAM MANIPULATION, 2010, : 83 - 92
  • [32] The ForeC Synchronous Deterministic Parallel Programming Language for Multicores
    Yip, Eugene
    Girault, Alain
    Roop, Partha S.
    Biglari-Abhari, Morteza
    2016 IEEE 10TH INTERNATIONAL SYMPOSIUM ON EMBEDDED MULTICORE/MANY-CORE SYSTEMS-ON-CHIP (MCSOC), 2016, : 297 - 304
  • [33] Probabilistic Programming Interfaces for Random Graphs: Markov Categories, Graphons, and Nominal Sets
    Ackerman, Nate
    Freer, Cameron E.
    Kaddar, Younesse
    Karwowski, Jacek
    Moss, Sean
    Roy, Daniel
    Staton, Sam
    Yang, Hongseok
    PROCEEDINGS OF THE ACM ON PROGRAMMING LANGUAGES-PACMPL, 2024, 8 (POPL):
  • [34] Probabilistic programming for nitrate pollution control: Comparing different probabilistic constraint approximations
    Kampas, A
    White, B
    EUROPEAN JOURNAL OF OPERATIONAL RESEARCH, 2003, 147 (01) : 217 - 228
  • [35] Responses to COVID-19 with probabilistic programming
    Zhunis, Assem
    Mai, Tung-Duong
    Kim, Sundong
    FRONTIERS IN PUBLIC HEALTH, 2022, 10
  • [36] Automated learning with a probabilistic programming language: Birch
    Murray, Lawrence M.
    Schon, Thomas B.
    ANNUAL REVIEWS IN CONTROL, 2018, 46 : 29 - 43
  • [37] Complexity results for probabilistic answer set programming
    Maua, Denis Deratani
    Cozman, Fabio Gagliardi
    INTERNATIONAL JOURNAL OF APPROXIMATE REASONING, 2020, 118 : 133 - 154
  • [38] The Complexity of Inferences and Explanations in Probabilistic Logic Programming
    Cozman, Fabio G.
    Maua, Denis D.
    SYMBOLIC AND QUANTITATIVE APPROACHES TO REASONING WITH UNCERTAINTY, ECSQARU 2017, 2017, 10369 : 449 - 458
  • [39] Probabilistic logic programming for hybrid relational domains
    Davide Nitti
    Tinne De Laet
    Luc De Raedt
    Machine Learning, 2016, 103 : 407 - 449
  • [40] Verified Density Compilation for a Probabilistic Programming Language
    Tassarotti, Joseph
    Tristan, Jean-Baptiste
    PROCEEDINGS OF THE ACM ON PROGRAMMING LANGUAGES-PACMPL, 2023, 7 (PLDI):