4 research outputs found
Densities of almost-surely terminating probabilistic programs are differentiable almost everywhere
We study the differential properties of higher-order statistical
probabilistic programs with recursion and conditioning. Our starting point is
an open problem posed by Hongseok Yang: what class of statistical probabilistic
programs have densities that are differentiable almost everywhere? To formalise
the problem, we consider Statistical PCF (SPCF), an extension of call-by-value
PCF with real numbers, and constructs for sampling and conditioning. We give
SPCF a sampling-style operational semantics a la Borgstrom et al., and study
the associated weight (commonly referred to as the density) function and value
function on the set of possible execution traces. Our main result is that
almost-surely terminating SPCF programs, generated from a set of primitive
functions (e.g. the set of analytic functions) satisfying mild closure
properties, have weight and value functions that are almost-everywhere
differentiable. We use a stochastic form of symbolic execution to reason about
almost-everywhere differentiability. A by-product of this work is that
almost-surely terminating deterministic (S)PCF programs with real parameters
denote functions that are almost-everywhere differentiable. Our result is of
practical interest, as almost-everywhere differentiability of the density
function is required to hold for the correctness of major gradient-based
inference algorithms
Differentiable Quantum Programming with Unbounded Loops
The emergence of variational quantum applications has led to the development
of automatic differentiation techniques in quantum computing. Recently, Zhu et
al. (PLDI 2020) have formulated differentiable quantum programming with bounded
loops, providing a framework for scalable gradient calculation by quantum means
for training quantum variational applications. However, promising parameterized
quantum applications, e.g., quantum walk and unitary implementation, cannot be
trained in the existing framework due to the natural involvement of unbounded
loops. To fill in the gap, we provide the first differentiable quantum
programming framework with unbounded loops, including a newly designed
differentiation rule, code transformation, and their correctness proof.
Technically, we introduce a randomized estimator for derivatives to deal with
the infinite sum in the differentiation of unbounded loops, whose applicability
in classical and probabilistic programming is also discussed. We implement our
framework with Python and Q#, and demonstrate a reasonable sample efficiency.
Through extensive case studies, we showcase an exciting application of our
framework in automatically identifying close-to-optimal parameters for several
parameterized quantum applications.Comment: Codes are available at https://github.com/njuwfang/DifferentiableQP
Some Semantic Issues in Probabilistic Programming Languages (Invited Talk)
This is a slightly extended abstract of my talk at FSCD\u2719 about probabilistic programming and a few semantic issues on it. The main purpose of this abstract is to provide keywords and references on the work mentioned in my talk, and help interested audience to do follow-up study
Programming Languages and Systems
This open access book constitutes the proceedings of the 30th European Symposium on Programming, ESOP 2021, which was held during March 27 until April 1, 2021, as part of the European Joint Conferences on Theory and Practice of Software, ETAPS 2021. The conference was planned to take place in Luxembourg and changed to an online format due to the COVID-19 pandemic. The 24 papers included in this volume were carefully reviewed and selected from 79 submissions. They deal with fundamental issues in the specification, design, analysis, and implementation of programming languages and systems