Repository logo
Log in(current)
Repository logoMIT Open ScholarshipDSpace@MIT
  1. Home
  2. Computer Science and Artificial Intelligence Lab (CSAIL)
  3. CSAIL Digital Archive
  4. CSAIL Technical Reports (July 1, 2003 - present)
  5. Gen: A General-Purpose Probabilistic Programming System with Programmable Inference

Gen: A General-Purpose Probabilistic Programming System with Programmable Inference

Thumbnail Image
Download
Name

MIT-CSAIL-TR-2018-020.pdf

Size

1.15 MB

Format

Adobe PDF

Checksum (MD5)

cfcc9907547614ce5570c38b91ac82a8

Author(s)
Cusumano-Towner, Marco F.
•
Saad, Feras A.
•
Lew, Alexander
•
Mansinghka, Vikash K.
Date Issued
November 26, 2018
Series/Report no.
;MIT-CSAIL-TR-2018-020
Abstract
Probabilistic modeling and inference are central to many fields. A key challenge for wider adoption of probabilistic programming languages is designing systems that are both flexible and performant. This paper introduces Gen, a new probabilistic programming system with novel language con- structs for modeling and for end-user customization and optimization of inference. Gen makes it practical to write probabilistic programs that solve problems from multiple fields. Gen programs can combine generative models written in Julia, neural networks written in TensorFlow, and custom inference algorithms based on an extensible library of Monte Carlo and numerical optimization techniques. This paper also presents techniques that enable Gen’s combination of flexibility and performance: (i) the generative function inter- face, an abstraction for encapsulating probabilistic and/or differentiable computations; (ii) domain-specific languages with custom compilers that strike different flexibility/per- formance tradeoffs; (iii) combinators that encode common patterns of conditional independence and repeated compu- tation, enabling speedups from caching; and (iv) a standard inference library that supports custom proposal distributions also written as programs in Gen. This paper shows that Gen outperforms state-of-the-art probabilistic programming systems, sometimes by multiple orders of magnitude, on problems such as nonlinear state-space modeling, structure learning for real-world time series data, robust regression, and 3D body pose estimation from depth images.
Persistent DSpace Link
http://hdl.handle.net/1721.1/119255
Repository logo
PrivacyPermissionsAccessibilityContact us
Repository logo
Notify us about copyright concerns.