Higher Order Automatic Differentiation of Higher Order Functions

We present semantic correctness proofs of automatic differentiation (AD). We consider a forward-mode AD method on a higher order language with algebraic data types, and we characterise it as the unique structure preserving macro given a choice of derivatives for basic operations. We describe a rich...

Full description

Bibliographic Details
Published in:Logical Methods in Computer Science
Main Authors: Mathieu Huot, Sam Staton, Matthijs Vákár
Format: Article
Language:English
Published: Logical Methods in Computer Science e.V. 2022-03-01
Subjects:
Online Access:https://lmcs.episciences.org/7106/pdf
_version_ 1850280763530936320
author Mathieu Huot
Sam Staton
Matthijs Vákár
author_facet Mathieu Huot
Sam Staton
Matthijs Vákár
author_sort Mathieu Huot
collection DOAJ
container_title Logical Methods in Computer Science
description We present semantic correctness proofs of automatic differentiation (AD). We consider a forward-mode AD method on a higher order language with algebraic data types, and we characterise it as the unique structure preserving macro given a choice of derivatives for basic operations. We describe a rich semantics for differentiable programming, based on diffeological spaces. We show that it interprets our language, and we phrase what it means for the AD method to be correct with respect to this semantics. We show that our characterisation of AD gives rise to an elegant semantic proof of its correctness based on a gluing construction on diffeological spaces. We explain how this is, in essence, a logical relations argument. Throughout, we show how the analysis extends to AD methods for computing higher order derivatives using a Taylor approximation.
format Article
id doaj-art-af515ea4f90e4e69bcbae741eee4e752
institution Directory of Open Access Journals
issn 1860-5974
language English
publishDate 2022-03-01
publisher Logical Methods in Computer Science e.V.
record_format Article
spelling doaj-art-af515ea4f90e4e69bcbae741eee4e7522025-08-19T23:39:11ZengLogical Methods in Computer Science e.V.Logical Methods in Computer Science1860-59742022-03-01Volume 18, Issue 110.46298/lmcs-18(1:41)20227106Higher Order Automatic Differentiation of Higher Order FunctionsMathieu HuotSam StatonMatthijs VákárWe present semantic correctness proofs of automatic differentiation (AD). We consider a forward-mode AD method on a higher order language with algebraic data types, and we characterise it as the unique structure preserving macro given a choice of derivatives for basic operations. We describe a rich semantics for differentiable programming, based on diffeological spaces. We show that it interprets our language, and we phrase what it means for the AD method to be correct with respect to this semantics. We show that our characterisation of AD gives rise to an elegant semantic proof of its correctness based on a gluing construction on diffeological spaces. We explain how this is, in essence, a logical relations argument. Throughout, we show how the analysis extends to AD methods for computing higher order derivatives using a Taylor approximation.https://lmcs.episciences.org/7106/pdfcomputer science - programming languagescomputer science - logic in computer science
spellingShingle Mathieu Huot
Sam Staton
Matthijs Vákár
Higher Order Automatic Differentiation of Higher Order Functions
computer science - programming languages
computer science - logic in computer science
title Higher Order Automatic Differentiation of Higher Order Functions
title_full Higher Order Automatic Differentiation of Higher Order Functions
title_fullStr Higher Order Automatic Differentiation of Higher Order Functions
title_full_unstemmed Higher Order Automatic Differentiation of Higher Order Functions
title_short Higher Order Automatic Differentiation of Higher Order Functions
title_sort higher order automatic differentiation of higher order functions
topic computer science - programming languages
computer science - logic in computer science
url https://lmcs.episciences.org/7106/pdf
work_keys_str_mv AT mathieuhuot higherorderautomaticdifferentiationofhigherorderfunctions
AT samstaton higherorderautomaticdifferentiationofhigherorderfunctions
AT matthijsvakar higherorderautomaticdifferentiationofhigherorderfunctions