The simple essence of automatic differentiation
Not on the map. Why?
Abstract (arXiv)
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.
Key facts. Cited by 22 papers in the map (data through 7 Oct 2026). First posted on arXiv 2 Apr 2018.
Builds on
No reference list yet.
Built on by
Citing papers per year: 2021: 6; 2022: 4; 2023: 7; 2024: 2; 2025: 2; 2026: 1.
22 papers.
Sort:
- 2021Categorical Foundations of Gradient-Based Learningcited by 44
- 2021Category Theory in Machine Learningcited by 36
- 2024Position: Categorical Deep Learning is an Algebraic Theory of All Architecturescited by 32
- 2023On Meta-Promptingcited by 6
- 2021Fast Jacobian-Vector Product for Deep Networkscited by 4
- 2021Decomposing reverse-mode automatic differentiationcited by 4
- 2023On the Correctness of Automatic Differentiation for Neural Networks with Machine-Representable Parameterscited by 3
- 2024Deep Learning with Parametric Lensescited by 3
- 2021Functorial String Diagrams for Reverse-Mode Automatic Differentiationcited by 2
- 2022Space-time tradeoffs of lenses and optics via higher category theorycited by 2
- 2023Implicit Bilevel Optimization: Differentiating through Bilevel Optimization Programmingcited by 2
- 2023Automatic Functional Differentiation in JAXcited by 2
10 more
- 2021Generalized Optimization: A First Step Towards Category Theoretic Learning Theorycited by 1
- 2022Folding over Neural Networkscited by 1
- 2022Combinatory Adjoints and Differentiationcited by 0
- 2022Efficient and Sound Differentiable Programming in a Functional Array-Processing Languagecited by 0
- 2023nablaSD: Differentiable Programming for Sparse Tensorscited by 0
- 2023Monadic Deep Learningcited by 0
- 2023Algebraic Dynamical Systems in Machine Learningcited by 0
- 2025Jet Functors and Weil Algebras in Automatic Differentiation: A Geometric Analysiscited by 0
- 2025Compiling to recurrent neuronscited by 0
- 2026Differentiate the Evaluator, Not the Program: An Efficient Runtime Representation for Neuro-Symbolic Learningcited by 0
- 2026Differentiate the Evaluator, Not the Program: An Efficient Runtime Representation for Neuro-Symbolic Learning3 Jul 2026
- 2025Compiling to recurrent neurons18 Nov 2025
- 2025Jet Functors and Weil Algebras in Automatic Differentiation: A Geometric Analysis16 Oct 2025
- 2024Deep Learning with Parametric Lenses30 Mar 2024
- 2024Position: Categorical Deep Learning is an Algebraic Theory of All Architectures23 Feb 2024
- 2023On Meta-Prompting11 Dec 2023
- 2023Automatic Functional Differentiation in JAX30 Nov 2023
- 2023Algebraic Dynamical Systems in Machine Learning6 Nov 2023
- 2023Monadic Deep Learning23 Jul 2023
- 2023nablaSD: Differentiable Programming for Sparse Tensors13 Mar 2023
- 2023Implicit Bilevel Optimization: Differentiating through Bilevel Optimization Programming28 Feb 2023
- 2023On the Correctness of Automatic Differentiation for Neural Networks with Machine-Representable Parameters31 Jan 2023
10 more
- 2022Efficient and Sound Differentiable Programming in a Functional Array-Processing Language20 Dec 2022
- 2022Space-time tradeoffs of lenses and optics via higher category theory19 Sep 2022
- 2022Folding over Neural Networks3 Jul 2022
- 2022Combinatory Adjoints and Differentiation2 Jul 2022
- 2021Generalized Optimization: A First Step Towards Category Theoretic Learning Theory20 Sep 2021
- 2021Functorial String Diagrams for Reverse-Mode Automatic Differentiation28 Jul 2021
- 2021Category Theory in Machine Learning13 Jun 2021
- 2021Decomposing reverse-mode automatic differentiation20 May 2021
- 2021Fast Jacobian-Vector Product for Deep Networks1 Apr 2021
- 2021Categorical Foundations of Gradient-Based Learning2 Mar 2021
- 2021Categorical Foundations of Gradient-Based Learningcited by 44
- 2021Category Theory in Machine Learningcited by 36
- 2024Position: Categorical Deep Learning is an Algebraic Theory of All Architecturescited by 32
- 2023On Meta-Promptingcited by 6
- 2021Fast Jacobian-Vector Product for Deep Networkscited by 4
- 2021Decomposing reverse-mode automatic differentiationcited by 4
- 2023On the Correctness of Automatic Differentiation for Neural Networks with Machine-Representable Parameterscited by 3
- 2024Deep Learning with Parametric Lensescited by 3
- 2021Functorial String Diagrams for Reverse-Mode Automatic Differentiationcited by 2
- 2022Space-time tradeoffs of lenses and optics via higher category theorycited by 2
- 2023Implicit Bilevel Optimization: Differentiating through Bilevel Optimization Programmingcited by 2
- 2023Automatic Functional Differentiation in JAXcited by 2
12 most cited of 22 All 22 (JSON)
- 2026Differentiate the Evaluator, Not the Program: An Efficient Runtime Representation for Neuro-Symbolic Learning3 Jul 2026
- 2025Compiling to recurrent neurons18 Nov 2025
- 2025Jet Functors and Weil Algebras in Automatic Differentiation: A Geometric Analysis16 Oct 2025
- 2024Deep Learning with Parametric Lenses30 Mar 2024
- 2024Position: Categorical Deep Learning is an Algebraic Theory of All Architectures23 Feb 2024
- 2023On Meta-Prompting11 Dec 2023
- 2023Automatic Functional Differentiation in JAX30 Nov 2023
- 2023Algebraic Dynamical Systems in Machine Learning6 Nov 2023
- 2023Monadic Deep Learning23 Jul 2023
- 2023nablaSD: Differentiable Programming for Sparse Tensors13 Mar 2023
- 2023Implicit Bilevel Optimization: Differentiating through Bilevel Optimization Programming28 Feb 2023
- 2023On the Correctness of Automatic Differentiation for Neural Networks with Machine-Representable Parameters31 Jan 2023
12 newest of 22 All 22 (JSON)