A Simple Differentiable Programming Language

11/11/2019
by   Martín Abadi, et al.
0

Automatic differentiation plays a prominent role in scientific computing and in modern machine learning, often in the context of powerful programming systems. The relation of the various embodiments of automatic differentiation to the mathematical notion of derivative is not always entirely clear—discrepancies can arise, sometimes inadvertently. In order to study automatic differentiation in such programming contexts, we define a small but expressive programming language that includes a construct for reverse-mode differentiation. We give operational and denotational semantics for this language. The operational semantics employs popular implementation techniques, while the denotational semantics employs notions of differentiation familiar from real analysis. We establish that these semantics coincide.

READ FULL TEXT

page 1

page 2

page 3

page 4

research
01/26/2021

Categorical semantics of a simple differential programming language

With the increased interest in machine learning, and deep learning in pa...
research
07/17/2020

Smart Choices and the Selection Monad

Describing systems in terms of choices and their resulting costs and rew...
research
07/17/2019

A Differentiable Programming System to Bridge Machine Learning and Scientific Computing

Scientific computing is increasingly incorporating the advancements in m...
research
10/12/2022

A language for evaluating derivatives of functionals using automatic differentiation

We present a simple functional programming language, called Dual PCF, th...
research
07/17/2019

Zygote: A Differentiable Programming System to Bridge Machine Learning and Scientific Computing

Scientific computing is increasingly incorporating the advancements in m...
research
12/08/2016

Implementing Operational calculus on programming spaces for Differentiable computing

We provide an illustrative implementation of an analytic, infinitely-dif...
research
05/05/2023

Software-based Automatic Differentiation is Flawed

Various software efforts embrace the idea that object oriented programmi...

Please sign up or login with your details

Forgot password? Click here to reset