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...
详细信息
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.
We make a formal analogy between random sampling and fresh name generation. We show that quasi-Borel spaces, a model for probabilistic programming, can soundly interpret the nu-calculus, a calculus for name generation...
详细信息
We make a formal analogy between random sampling and fresh name generation. We show that quasi-Borel spaces, a model for probabilistic programming, can soundly interpret the nu-calculus, a calculus for name generation. Moreover, we prove that this semantics is fully abstract up to first-order types. This is surprising for an 'off-the-shelf' model, and requires a novel analysis of probability distributions on function spaces. Our tools are diverse and include descriptive set theory and normal forms for the nu-calculus.
We introduce inference metaprogramming for probabilistic programming languages, including new language constructs, a formalism, and the first demonstration of effectiveness in practice. Instead of relying on rigid bla...
详细信息
ISBN:
(纸本)9781450356985
We introduce inference metaprogramming for probabilistic programming languages, including new language constructs, a formalism, and the first demonstration of effectiveness in practice. Instead of relying on rigid black-box inference algorithms hard-coded into the language implementation as in previous probabilistic programming languages, inference metaprogramming enables developers to 1) dynamically decompose inference problems into subproblems, 2) apply inference tactics to subproblems, 3) alternate between incorporating new data and performing inference over existing data, and 4) explore multiple execution traces of the probabilistic program at once. Implemented tactics include gradient-based optimization, Markov chain Monte Carlo, variational inference, and sequental Monte Carlo techniques. Inference metaprogramming enables the concise expression of probabilistic models and inference algorithms across diverse fields, such as computer vision, data science, and robotics, within a single probabilistic programming language.
In this paper we describe a probabilistic programming environment for Java that is based on symbolic execution and model counting. The novelty of the framework is that the probability distributions in the program can ...
详细信息
ISBN:
(纸本)9781450352505
In this paper we describe a probabilistic programming environment for Java that is based on symbolic execution and model counting. The novelty of the framework is that the probability distributions in the program can themselves be symbolic, which allows parametric probabilistic programming. The framework handles typical probabilistic programming features, such as observe statements, and can be used for the encoding and analysis of Discrete Time Markov Chains (DTMC), Bayesian Networks, etc. We show two examples of using the system: (1) analysis of bubble sort when using an unreliable comparison operation, and, (2) analysis of a simulation model of autonomous aircraft towing vehicles, to show whether plans generated for these vehicles are robust when probability distributions are changed from the ones used to generate the plans.
Anglican is a probabilistic programming system designed to interoperate with Clojure and other JVM languages. We describe the implementation of Anglican and illustrate how its design facilitates both explorative and i...
详细信息
ISBN:
(纸本)9783319234618;9783319234601
Anglican is a probabilistic programming system designed to interoperate with Clojure and other JVM languages. We describe the implementation of Anglican and illustrate how its design facilitates both explorative and industrial use of probabilistic programming.
Answering the questions "What can the adversary do?" and "What will the adversary do?" are critical functions of intelligence analysis. These questions require processing many sources of informatio...
详细信息
ISBN:
(纸本)9780819486240
Answering the questions "What can the adversary do?" and "What will the adversary do?" are critical functions of intelligence analysis. These questions require processing many sources of information, which is currently performed manually by analysts, leading to missed opportunities and potential mistakes. We have developed a system for Assessment of Capability and Capacity via Intelligence Analysis (ACACIA) to help analysts assess the capability, capacity, and intention of a nation state or non-state actor. ACACIA constructs a Bayesian network (BN) to model the objectives and means of an actor in a situation. However, a straightforward BN implementation is insufficient, since objectives and means are different in every situation. Additionally, we wish to apply knowledge about an element gained from one situation to another situation containing the same element. Furthermore, different elements of the same kind usually share the same model structure with different parameters. We use the probabilistic programming language Figaro, which allows models to be constructed using the power of programming languages, to address these issues, generating BNs for diverse situations while maximizing sharing. We learn the parameters of a program from training instances. Experiments show ACACIA is capable of making accurate inferences and that learning effectively improves ACACIA's performance.
We define a new denotational semantics for a first-order probabilistic programming language in terms of probabilistic event structures. This semantics is intensional, meaning that the interpretation of a program conta...
详细信息
ISBN:
(纸本)9783030171841;9783030171834
We define a new denotational semantics for a first-order probabilistic programming language in terms of probabilistic event structures. This semantics is intensional, meaning that the interpretation of a program contains information about its behaviour throughout execution, rather than a simple distribution on return values. In particular, occurrences of sampling and conditioning are recorded as explicit events, partially ordered according to the data dependencies between the corresponding statements in the program. This interpretation is adequate: we show that the usual measure-theoretic semantics of a program can be recovered from its event structure representation. Moreover it can be leveraged for MCMC inference: we prove correct a version of single-site Metropolis-Hastings with incremental recomputation, in which the proposal kernel takes into account the semantic information in order to avoid performing some of the redundant sampling.
Uncertainty is an essentially challenging for safe construction and long-term stability of geotechnical *** inverse analysis is commonly utilized to determine the physico-mechanical ***,conventional inverse analysis c...
详细信息
Uncertainty is an essentially challenging for safe construction and long-term stability of geotechnical *** inverse analysis is commonly utilized to determine the physico-mechanical ***,conventional inverse analysis cannot deal with uncertainty in geotechnical and geological *** this study,a framework was developed to evaluate and quantify uncertainty in inverse analysis based on the reduced-order model(ROM)and probabilistic *** ROM was utilized to capture the mechanical and deformation properties of surrounding rock mass in geomechanical *** programming was employed to evaluate uncertainty during construction in geotechnical engineering.A circular tunnel was then used to illustrate the proposed framework using analytical and numerical *** results show that the geomechanical parameters and associated uncertainty can be properly obtained and the proposed framework can capture the mechanical behaviors under ***,a slope case was employed to demonstrate the performance of the developed *** results prove that the proposed framework provides a scientific,feasible,and effective tool to characterize the properties and physical mechanism of geomaterials under uncertainty in geotechnical engineering problems.
PRISM is a probabilistic programming language based on Prolog, augmented with primitives to represent probabilistic choice. It is implemented using a combination of low level support from a modified version of B-Prolo...
详细信息
PRISM is a probabilistic programming language based on Prolog, augmented with primitives to represent probabilistic choice. It is implemented using a combination of low level support from a modified version of B-Prolog, source level program transformation, and libraries for inference and learning implemented in C. More recently, developers working with functional programming languages have taken the approach of embedding probabilistic primitives into an existing language, with little or no modification to the host language, often by using delimited continuations. Captured continuations represent pieces of the probabilistic program which can be manipulated to achieve a great variety of computational effects useful for inference. In this paper, I will describe an approach based on delimited control operators recently introduced into SWI Prolog. These are used to create a system of nested effect handlers which together implement a core functionality of PRISM the building of explanation graphs entirely in Prolog and using an order of magnitude less code. Other declarative programming tools, such as constraint logic programming, are used to implement tools for inference, such as the inside-outside and EM algorithms, lazy best-first explanation search, and MCMC samplers. By embedding the functionality of PRISM into SWI Prolog, users gain access to its rich libraries and development environment. By expressing the functionality of PRISM in a small amount of pure, high-level Prolog, this implementation facilitates further experimentation with the mechanisms of probabilistic logic programming, including new probabilistic modelling features and inference algorithms, such as variational inference in models with real-valued variables. (C) 2018 Elsevier Inc. All rights reserved.
As autonomous agents (such as unmanned aerial vehicles, or UAVs) become more ubiquitous, they are being used for increasingly complex tasks. Eventually, they will have to reason about the mental state of other agents,...
详细信息
As autonomous agents (such as unmanned aerial vehicles, or UAVs) become more ubiquitous, they are being used for increasingly complex tasks. Eventually, they will have to reason about the mental state of other agents, including those agents' beliefs, desires and goals—so-called Theory of Mind—and make decisions based on that reasoning. We describe increasingly complex theory of mind models of a UAV pursuing an intruder, and show that (1) there is a natural Bayesian formulation to reasoning about the uncertainty inherent in our estimate of another agent's mental state, and that (2) probabilistic programming is a natural way to describe models that involve one agent reasoning about another agent, where the target agent uses complex primitives such as path planners and saliency maps to make decisions. We propose a nested self-normalized importance sampling inference algorithm for probabilistic programs, and show that it can be used with planning-as-inference to simultaneously reason about other agents' plans and craft counter plans. We demonstrate that more complex models lead to improved performance, and that nested modeling manifests a wide variety of rational agent behavior.
暂无评论