The simple essence of automatic differentiation

04/02/2018
by   Conal Elliott, et al.
0

Automatic differentiation (AD) in reverse mode (RAD) is a central component of deep learning and other uses of large-scale optimization. Commonly used RAD algorithms such as backpropagation, however, are complex and stateful, hindering deep understanding, improvement, and parallel execution. This paper develops a simple, generalized AD algorithm calculated from a simple, natural specification. The general algorithm is then specialized by varying the representation of derivatives. In particular, applying well-known constructions to a naive representation yields two RAD algorithms that are far simpler than previously known. In contrast to commonly used RAD implementations, the algorithms defined here involve no graphs, tapes, variables, partial derivatives, or mutation. They are inherently parallel-friendly, correct by construction, and usable directly from an existing programming language with no need for new data types or programming style, thanks to use of an AD-agnostic compiler plugin.

READ FULL TEXT

page 1

page 2

page 3

page 4

research
04/02/2018

The simple essence of automatic differentiation (Differentiable functional programming made easy)

Automatic differentiation (AD) in reverse mode (RAD) is a central compon...
research
02/19/2020

A Differential-form Pullback Programming Language for Higher-order Reverse-mode Automatic Differentiation

Building on the observation that reverse-mode automatic differentiation ...
research
07/07/2023

Efficient CHAD

We show how the basic Combinatory Homomorphic Automatic Differentiation ...
research
05/12/2023

Understanding Automatic Differentiation Pitfalls

Automatic differentiation, also known as backpropagation, AD, autodiff, ...
research
10/12/2021

A Brief Introduction to Automatic Differentiation for Machine Learning

Machine learning and neural network models in particular have been impro...
research
05/31/2022

Automatic differentiation of nonsmooth iterative algorithms

Differentiation along algorithms, i.e., piggyback propagation of derivat...
research
03/12/2018

Algorithmic Differentiation for Domain Specific Languages

Algorithmic Differentiation (AD) can be used to automate the generation ...

Please sign up or login with your details

Forgot password? Click here to reset