Modular Deep Probabilistic Programming
Modularity is a key feature of deep learning libraries but has not been fully exploited for probabilistic programming. We propose to improve modularity of probabilistic programming language by offering not only plain probabilistic distributions but also sophisticated probabilistic model such as Bayesian non-parametric models as fundamental building blocks. We demonstrate this idea by presenting a modular probabilistic programming language MXFusion, which includes a new type of re-usable building blocks, called probabilistic modules. A probabilistic module consists of a set of random variables with associated probabilistic distributions and dedicated inference methods. Under the framework of variational inference, the pre-specified inference methods of individual probabilistic modules can be transparently used for inference of the whole probabilistic model. We demonstrate the power and convenience of probabilistic modules in MXFusion with various examples of Gaussian process models, which are evaluated with experiments on real data.
Code (1)
Tasks
Probabilistic ProgrammingVariational InferenceMethods 이 논문이 사용한 방법론
Similar Papers 제목 키워드 기반
DynamicPPL: Stan-like Speed for Dynamic Probabilistic Models
We present the preliminary high-level design and features of DynamicPPL.jl, a modular library providing a lightning-fast infrastructure for probabilistic programming. Besides a computational performance that is often clo…
Probabilistic ProgrammingApplying Probabilistic Programming to Affective Computing
Affective Computing is a rapidly growing field spurred by advancements in artificial intelligence, but often, held back by the inability to translate psychological theories of emotion into tractable computational models.…
Probabilistic ProgrammingEffect Handling for Composable Program Transformations in Edward2
Algebraic effects and handlers have emerged in the programming languages community as a convenient, modular abstraction for controlling computational effects. They have found several applications including concurrent pro…
Probabilistic ProgrammingComposing inference algorithms as program transformations
Probabilistic inference procedures are usually coded painstakingly from scratch, for each target model and each inference algorithm. We reduce this effort by generating inference procedures from models automatically. We …
Code GenerationProbabilistic ProgrammingSPPL: Probabilistic Programming with Fast Exact Symbolic Inference
We present the Sum-Product Probabilistic Language (SPPL), a new probabilistic programming language that automatically delivers exact solutions to a broad range of probabilistic inference queries. SPPL translates probabil…
FairnessProbabilistic ProgrammingTranslation