Project description
Proving that automatic differentiation techniques faithfully represent 'standard' differentiation
Finding derivatives, or rates of change of one variable with respect to another, is relevant to myriad physical processes and scenarios. Taking advantage of these mathematical descriptions and implementing them in computer algorithms forms the foundations of many recent advances in machine learning and the use of computers to perform complex statistical analyses. Automatic differentiation techniques have been developed to accomplish this, but proving their correctness is not possible with traditional calculus and differential geometry. The EU-funded SemanDiff project will develop mathematical transformations that will lead to precise correctness proofs for automatic differentiation algorithms so we can all sleep easy at night using them.
Objective
Many recent advances in machine learning and computational statistics rely on algorithms that calculate derivatives. This use of derivatives has motivated the creation of domain specific modelling languages in which each program can be differentiated automatically, by the compiler. This technique is known as automatic differentiation (AD). AD is typically implemented through source-code-transformations, either directly or indirectly via operator overloading. These transformations become intricate in languages with expressive language features like algebraic data types and higher-order functions. Meanwhile, traditional calculus and differential geometry do not suffice to prove their correctness or even give them meaning, as ordinary differential geometry cannot support higher-order functions. Indeed, such formal correctness proofs have never been published.
This project will use the mathematical foundations of diffeological spaces, a conservative extension of traditional differential geometry to higher-order types, to give precisely such correctness proofs. In particular, it will give appropriate source-code transformations for both the forward mode and reverse mode techniques of AD on a language with specified semantics in diffeological spaces. Next, it will prove that these source-code transformations correctly implement the canonical semantic notion of differentiation, as given by the diffeological spaces semantics. It will perform this analysis for a higher-order language with tuples and variant types. These formal descriptions and correctness proofs of AD for expressive languages will be accompanied by closely matching implementations, built on top of the Accelerate framework for purely functional GPU programming.
Fields of science
Programme(s)
Funding Scheme
MSCA-IF - Marie Skłodowska-Curie Individual Fellowships (IF)Coordinator
3584 CS Utrecht
Netherlands