English
Related papers

Related papers: Reverse AD at Higher Types: Pure, Principled and D…

200 papers

Reverse-mode differentiation is used for optimization, but it introduces references, which break the purity of the underlying programs, making them notoriously harder to optimize. We present a reverse-mode differentiation on a purely…

Programming Languages · Computer Science 2023-04-27 Mathieu Huot , Amir Shaikhha

We decompose reverse-mode automatic differentiation into (forward-mode) linearization followed by transposition. Doing so isolates the essential difference between forward- and reverse-mode AD, and simplifies their joint implementation. In…

Programming Languages · Computer Science 2021-05-21 Roy Frostig , Matthew J. Johnson , Dougal Maclaurin , Adam Paszke , Alexey Radul

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…

Programming Languages · Computer Science 2020-02-20 Carol Mak , Luke Ong

We give a simple, direct and reusable logical relations technique for languages with term and type recursion and partially defined differentiable functions. We demonstrate it by working out the case of Automatic Differentiation (AD)…

Programming Languages · Computer Science 2025-02-12 Fernando Lucatelli Nunes , Matthijs Vákár

We introduce Combinatory Homomorphic Automatic Differentiation (CHAD), a principled, pure, provably correct define-then-run method for performing forward- and reverse-mode automatic differentiation (AD) on programming languages with…

Programming Languages · Computer Science 2026-05-05 Matthijs Vákár , Tom Smeding

Model-driven engineering is the automatic production of software artefacts from abstract models of structure and functionality. By targeting a specific class of system, it is possible to automate aspects of the development process, using…

Software Engineering · Computer Science 2013-01-03 Chen-Wei Wang , Jim Davies

We show how to apply forward and reverse mode Combinatory Homomorphic Automatic Differentiation (CHAD) to total functional programming languages with expressive type systems featuring the combination of - tuple types; - sum types; -…

Programming Languages · Computer Science 2023-11-13 Fernando Lucatelli Nunes , Matthijs Vákár

We present semantic correctness proofs of forward-mode Automatic Differentiation (AD) for languages with sources of partiality such as partial operations, lazy conditionals on real parameters, iteration, and term and type recursion. We…

Programming Languages · Computer Science 2024-05-28 Matthijs Vákár

We present the classical coordinate-free formalism for forward and backward mode ad in the real and complex setting. We show how to formally derive the forward and backward formulae for a number of matrix functions starting from basic…

Machine Learning · Computer Science 2022-07-14 Mario Lezcano-Casado

Where dual-numbers forward-mode automatic differentiation (AD) pairs each scalar value with its tangent value, dual-numbers reverse-mode AD attempts to achieve reverse AD using a similarly simple idea: by pairing each scalar value with a…

Programming Languages · Computer Science 2025-03-04 Tom Smeding , Matthijs Vákár

Automatic differentiation (AD) is a technique for computing the derivative of a function represented by a program. This technique is considered as the de-facto standard for computing the differentiation in many machine learning and…

Programming Languages · Computer Science 2022-12-21 Amir Shaikhha , Mathieu Huot , Shabnam Ghasemirad , Andrew Fitzgibbon , Simon Peyton Jones , Dimitrios Vytiniotis

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…

Programming Languages · Computer Science 2026-05-07 Mathieu Huot , Sam Staton , Matthijs Vákár

Automatic differentiation (AD) is conventionally understood as a family of distinct algorithms, rooted in two "modes" -- forward and reverse -- which are typically presented (and implemented) separately. Can there be only one? Following up…

Programming Languages · Computer Science 2022-12-07 Alexey Radul , Adam Paszke , Roy Frostig , Matthew Johnson , Dougal Maclaurin

Tools for algorithmic differentiation (AD) provide accurate derivatives of computer-implemented functions for use in, e. g., optimization and machine learning (ML). However, they often require the source code of the function to be available…

Mathematical Software · Computer Science 2022-12-29 Max Aehle , Johannes Blühdorn , Max Sagebaum , Nicolas R. Gauger

The standard dual-numbers construction works well for forward-mode automatic differentiation (AD) and is attractive due to its simplicity; recently, it also has been adapted to reverse-mode AD, but practical performance, especially on array…

Programming Languages · Computer Science 2025-07-18 Tom Smeding , Mikołaj Konarski , Simon Peyton Jones , Andrew Fitzgibbon

We show that Automatic Differentiation (AD) operators can be provided in a dynamic language without sacrificing numeric performance. To achieve this, general forward and reverse AD functions are added to a simple high-level dynamic…

Programming Languages · Computer Science 2016-11-11 Jeffrey Mark Siskind , Barak A. Pearlmutter

Where dual-numbers forward-mode automatic differentiation (AD) pairs each scalar value with its tangent derivative, dual-numbers /reverse-mode/ AD attempts to achieve reverse AD using a similarly simple idea: by pairing each scalar value…

Programming Languages · Computer Science 2022-05-24 Tom Smeding , Matthijs Vákár

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…

Programming Languages · Computer Science 2018-10-03 Conal Elliott

Deep learning has seen tremendous success over the past decade in computer vision, machine translation, and gameplay. This success rests in crucial ways on gradient-descent optimization and the ability to learn parameters of a neural…

Machine Learning · Computer Science 2019-08-30 Fei Wang , Daniel Zheng , James Decker , Xilun Wu , Grégory M. Essertel , Tiark Rompf

We present a simple technique for semantic, open logical relations arguments about languages with recursive types, which, as we show, follows from a principled foundation in categorical semantics. We demonstrate how it can be used to give a…

Programming Languages · Computer Science 2022-10-25 Fernando Lucatelli Nunes , Matthijs Vákár
‹ Prev 1 2 3 10 Next ›