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 条
  • [41] Probabilistic logic programming for hybrid relational domains
    Nitti, Davide
    De Laet, Tinne
    De Raedt, Luc
    MACHINE LEARNING, 2016, 103 (03) : 407 - 449
  • [42] ProPPA: Probabilistic Programming for Stochastic Dynamical Systems
    Georgoulas, Anastasis
    Hillston, Jane
    Sanguinetti, Guido
    ACM TRANSACTIONS ON MODELING AND COMPUTER SIMULATION, 2018, 28 (01):
  • [43] Probabilistic Programming Inference via Intensional Semantics
    Castellan, Simon
    Paquet, Hugo
    PROGRAMMING LANGUAGES AND SYSTEMS, ESOP 2019: 28TH EUROPEAN SYMPOSIUM ON PROGRAMMING, 2019, 11423 : 322 - 349
  • [44] Modeling genome evolution with a DSEL for probabilistic programming
    Erwig, M
    Kollmansberger, S
    PRACTICAL ASPECTS OF DECLARATIVE LANGUAGES, 2006, 3819 : 134 - 149
  • [45] ProbLog2: Probabilistic Logic Programming
    Dries, Anton
    Kimmig, Angelika
    Meert, Wannes
    Renkens, Joris
    Van den Broeck, Guy
    Vlasselaer, Jonas
    De Raedt, Luc
    MACHINE LEARNING AND KNOWLEDGE DISCOVERY IN DATABASES, PT III, 2015, 9286 : 312 - 315
  • [46] Probabilistic programming with stochastic variational message passing
    Akbayrak, Semih
    Senoz, Ismail
    Sari, Alp
    de Vries, Bert
    INTERNATIONAL JOURNAL OF APPROXIMATE REASONING, 2022, 148 : 235 - 252
  • [47] Efficient Synthesis of Probabilistic Programs
    Nori, Aditya V.
    Ozair, Sherjil
    Rajamani, Sriram K.
    Vijaykeerthy, Deepak
    ACM SIGPLAN NOTICES, 2015, 50 (06) : 208 - 217
  • [48] Synchronous Deterministic Parallel Programming for Multi-Cores with ForeC
    Yip, Eugene
    Girault, Alain
    Roop, Partha S.
    Biglari-Abhari, Morteza
    ACM TRANSACTIONS ON PROGRAMMING LANGUAGES AND SYSTEMS, 2023, 45 (02):
  • [49] The Verse Calculus: A Core Calculus for Deterministic Functional Logic Programming
    Augustsson, Lennart
    Breitner, Joachim
    Claessen, Koen
    Jhala, Ranjit
    Jones, Simon Peyton
    Shivers, Olin
    Steele, Guy L., Jr.
    Sweeney, Tim
    PROCEEDINGS OF THE ACM ON PROGRAMMING LANGUAGES-PACMPL, 2023, 7 (ICFP): : 417 - 447
  • [50] Specifying Credal Sets With Probabilistic Answer Set Programming
    Maua, Denis Deratani
    Cozman, Fabio Gagliardi
    INTERNATIONAL SYMPOSIUM ON IMPRECISE PROBABILITY: THEORIES AND APPLICATIONS, VOL 215, 2023, 215 : 321 - 332