2022
DOI: 10.1145/3498710
|View full text |Cite
|
Sign up to set email alerts
|

Provably correct, asymptotically efficient, higher-order reverse-mode automatic differentiation

Abstract: In this paper, we give a simple and efficient implementation of reverse-mode automatic differentiation, which both extends easily to higher-order functions, and has run time and memory consumption linear in the run time of the original program. In addition to a formal description of the translation, we also describe an implementation of this algorithm, and prove its correctness by means of a logical relations argument.

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
3
1
1

Citation Types

0
9
0

Year Published

2022
2022
2024
2024

Publication Types

Select...
5
3

Relationship

0
8

Authors

Journals

citations
Cited by 21 publications
(15 citation statements)
references
References 12 publications
0
9
0
Order By: Relevance
“…Furthermore, reverse-mode automatic differentiation of control flow constructs (including higher-order functions) cannot be performed without forming a dynamic trace of the computation, and the languages conventionally used in those traces have expressive power similar to Linear A. For example Pearlmutter and Siskind [2008a]; Wang et al [2019] represent the trace as a sequence of applications, while Krawiec et al [2022] use a language almost identical to the linear fragment of Linear A.…”
Section: Languagementioning
confidence: 99%
See 1 more Smart Citation
“…Furthermore, reverse-mode automatic differentiation of control flow constructs (including higher-order functions) cannot be performed without forming a dynamic trace of the computation, and the languages conventionally used in those traces have expressive power similar to Linear A. For example Pearlmutter and Siskind [2008a]; Wang et al [2019] represent the trace as a sequence of applications, while Krawiec et al [2022] use a language almost identical to the linear fragment of Linear A.…”
Section: Languagementioning
confidence: 99%
“…Mazza and Pagani [2021] outline semantics for a higher-order language with conditionals that are consistent with the mathematical notion of differentiation everywhere except for a measure 0 set. Finally, Krawiec et al [2022] outline a provably correct and efficient implementation of AD in a higher-order language, at a cost of requiring a monadic translation.…”
Section: Related Workmentioning
confidence: 99%
“…There has recently been a flurry of work studying AD from a programming language point of view, a lot of it focussing on functional formulations of AD and their correctness. Examples of such papers are [24,9,27,6,1,13,21,34,19,14,35,16,29]. Of these papers, [24,1,21,29] are particularly relevant as they also consider automatic differentiation of languages with partial features.…”
Section: Related Workmentioning
confidence: 99%
“…Dual numbers techniques give very simple forward and reverse mode AD algorithms for expressive ML-family functional languages [27,6,13,21,16,29]. The correctness proofs for these algorithms rely on (open) semantic logical relations arguments.…”
Section: Introductionmentioning
confidence: 99%
“…Notably, (Brunel et al, 2020) shows that their algorithm has the right complexity if one assumes a specific operational semantics for their linear -calculus with what they call a "linear factoring rule". Very recently, (Krawiec et al, 2021) applied the idea of reverse AD through tracing to a higher-order functional language with variant types. They implement the custom operational semantics as an evaluator and give a denotational correctness proof (using logical relations techniques similar to those of (Barthe et al, 2020;Huot et al, 2020)) as well as an asymptotic complexity proof about the full code transformation plus evaluator.…”
Section: Related Workmentioning
confidence: 99%