paper-with-me

Papers

Automatic Differentiation of Programs with Discrete Randomness

2022-10-16 · Gaurav Arya, Moritz Schauer, Frank Schäfer, Chris Rackauckas

Automatic differentiation (AD), a technique for constructing new programs which compute the derivative of an original program, has become ubiquitous throughout scientific computing and deep learning due to the improved performance afforded by gradient-based optimization. However, AD systems have been restricted to the subset of programs that have a continuous dependence on parameters. Programs that have discrete stochastic behaviors governed by distribution parameters, such as flipping a coin with probability $p$ of being heads, pose a challenge to these systems because the connection between the result (heads vs tails) and the parameters ($p$) is fundamentally discrete. In this paper we develop a new reparameterization-based methodology that allows for generating programs whose expectation is the derivative of the expectation of the original program. We showcase how this method gives an unbiased and low-variance estimator which is as automated as traditional AD mechanisms. We demonstrate unbiased forward-mode AD of discrete-time Markov chains, agent-based models such as Conway's Game of Life, and unbiased reverse-mode AD of a particle filter. Our code package is available at https://github.com/gaurav-arya/StochasticAD.jl.

📄 PDF Abstract BibTeX arXiv:2210.08572

Code (1)

gaurav-arya/stochasticad.jl 공식 구현

Similar Papers 제목 키워드 기반

Branches of a Tree: Taking Derivatives of Programs with Discrete and Branching Randomness in High Energy Physics

2023-08-31 · Michael Kagan, Lukas Heinrich

We propose to apply several gradient estimation techniques to enable the differentiation of programs with discrete randomness in High Energy Physics. Such programs are common in High Energy Physics due to the presence of…

Clustering

Source-to-Source Automatic Differentiation of OpenMP Parallel Loops

2021-11-02 · Jan Hückelheim, Laurent Hascoët

This paper presents our work toward correct and efficient automatic differentiation of OpenMP parallel worksharing loops in forward and reverse mode. Automatic differentiation is a method to obtain gradients of numerical…

Uncertainty Quantification

A mathematical model for automatic differentiation in machine learning

2020-06-03 · NeurIPS 2020 12 · Jerome Bolte, Edouard Pauwels

Automatic differentiation, as implemented today, does not have a simple mathematical model adapted to the needs of modern machine learning. In this work we articulate the relationships between differentiation of programs…

BIG-bench Machine Learning

Automatic Differentiation of Algorithms for Machine Learning

2014-04-28 · Atilim Gunes Baydin, Barak A. Pearlmutter

Automatic differentiation---the mechanical transformation of numeric computer programs to calculate derivatives efficiently and accurately---dates to the origin of the computer age. Reverse mode automatic differentiation…

BIG-bench Machine Learning

$ω$PAP Spaces: Reasoning Denotationally About Higher-Order, Recursive Probabilistic and Differentiable Programs

2023-02-21 · Mathieu Huot, Alexander K. Lew, Vikash K. Mansinghka, Sam Staton

We introduce a new setting, the category of $\omega$PAP spaces, for reasoning denotationally about expressive differentiable and probabilistic programming languages. Our semantics is general enough to assign meanings to …

Probabilistic Programming