Pith. sign in

REVIEW 6 cited by

An Introduction to Probabilistic Programming

Not yet reviewed by Pith; the record is open.

This paper has not been read by Pith yet. Machine review is queued; the pith claim, tier, and objections will appear here once it completes.

SPECIMEN: schema-true, not a live event

T0 review · schema-true

One-sentence machine reading of the paper's core claim.

pith:XXXXXXXX · record.json · timestamp

arxiv 1809.10756 v2 pith:VIMF6RIV submitted 2018-09-27 stat.ML cs.AIcs.LGcs.PL

An Introduction to Probabilistic Programming

classification stat.ML cs.AIcs.LGcs.PL
keywords probabilisticprogramminginferencelanguagelanguageslearningprogramprograms
verification ladder T0 review T1 audit T2 compute T3 formal T4 reserved
0 comments
read the original abstract

This book is a graduate-level introduction to probabilistic programming. It not only provides a thorough background for anyone wishing to use a probabilistic programming system, but also introduces the techniques needed to design and build these systems. It is aimed at people who have an undergraduate-level understanding of either or, ideally, both probabilistic machine learning and programming languages. We start with a discussion of model-based reasoning and explain why conditioning is a foundational computation central to the fields of probabilistic machine learning and artificial intelligence. We then introduce a first-order probabilistic programming language (PPL) whose programs correspond to graphical models with a known, finite, set of random variables. In the context of this PPL we introduce fundamental inference algorithms and describe how they can be implemented. We then turn to higher-order probabilistic programming languages. Programs in such languages can define models with dynamic computation graphs, which may not instantiate the same set of random variables in each execution. Inference requires methods that generate samples by repeatedly evaluating the program. Foundational algorithms for this kind of language are discussed in the context of an interface between program executions and an inference controller. Finally we consider the intersection of probabilistic and differentiable programming. We begin with a discussion of automatic differentiation, and how it can be used to implement efficient inference methods based on Hamiltonian Monte Carlo. We then discuss gradient-based maximum likelihood estimation in programs that are parameterized using neural networks, how to amortize inference using by learning neural approximations to the program posterior, and how language features impact the design of deep probabilistic programming systems.

discussion (0)

Sign in with ORCID, Apple, or X to comment. Anyone can read and Pith papers without signing in.

Forward citations

Cited by 6 Pith papers

Reviewed papers in the Pith corpus that reference this work. Sorted by Pith novelty score.

  1. SuperDP: Differential Privacy Refutation via Supermartingales

    cs.PL 2026-03 unverdicted novelty 8.0

    SuperDP refutes ε-DP via simultaneous synthesis of input pairs and witness functions using upper expectation supermartingales and lower expectation submartingales, delivering the first fully automated, sound, and semi...

  2. Composable Effects for Flexible and Accelerated Probabilistic Programming in NumPyro

    stat.ML 2019-12 accept novelty 8.0

    NumPyro delivers a JIT-compilable iterative NUTS sampler by composing Pyro effect handlers with JAX transformations, achieving faster performance than prior implementations.

  3. Evidence-Tracked Tape Semantics for Probabilistic Computation

    cs.LO 2026-05 unverdicted novelty 7.0

    Evidence-tracked tape semantics yields a higher-order logic for randomized programs in which entailments are witnessed by uniform evidence transformers and quantitative probabilities arise by interpretation under a ch...

  4. A Gradual Probabilistic Lambda Calculus

    cs.PL 2026-04 unverdicted novelty 7.0

    GPLC is a gradual source probabilistic lambda calculus formalized with probabilistic couplings for static relations, elaborated to a distribution-based target language TPLC, and proven type-safe with conservative exte...

  5. RefineStat: Efficient Exploration for Probabilistic Program Synthesis

    cs.LG 2025-09 unverdicted novelty 6.0

    RefineStat improves small language model performance on probabilistic program synthesis by adding semantic constraint enforcement and diagnostic-aware refinement, producing syntactically and statistically reliable cod...

  6. Deployable probabilistic programming

    cs.PL 2019-06 unverdicted novelty 5.0

    Design guidelines and a Go library (Infergo) for deploying probabilistic programming in production systems, with benchmark comparisons.