A Differential-form Pullback Programming Language for Higher-order Reverse-mode Automatic Differentiation
This work provides a theoretical foundation for reverse-mode AD in programming languages, which is incremental as it builds on existing differential form concepts.
The authors tackled the problem of expressing reverse-mode automatic differentiation (AD) in a higher-order programming language by designing a language with a first-class differential operator and a reduction strategy that simulates reverse-mode AD, showing it captures reverse-mode AD in a higher-order setting.
Building on the observation that reverse-mode automatic differentiation (AD) -- a generalisation of backpropagation -- can naturally be expressed as pullbacks of differential 1-forms, we design a simple higher-order programming language with a first-class differential operator, and present a reduction strategy which exactly simulates reverse-mode AD. We justify our reduction strategy by interpreting our language in any differential $λ$-category that satisfies the Hahn-Banach Separation Theorem, and show that the reduction strategy precisely captures reverse-mode AD in a truly higher-order setting.