English
Related papers

Related papers: Efficient and Sound Differentiable Programming in …

200 papers

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

Differentiable programming is a fresh programming paradigm which composes parameterized algorithmic components and trains them using automatic differentiation (AD). The concept emerges from deep learning but is not only limited to training…

Strongly Correlated Electrons · Physics 2019-09-11 Hai-Jun Liao , Jin-Guo Liu , Lei Wang , Tao Xiang

Forward Automatic Differentiation (AD) is a technique for augmenting programs to compute derivatives. The essence of Forward AD is to attach perturbations to each number, and propagate these through the computation. When derivatives are…

Symbolic Computation · Computer Science 2019-09-23 Oleksandr Manzyuk , Barak A. Pearlmutter , Alexey Andreyevich Radul , David R. Rush , Jeffrey Mark Siskind

Automatic differentiation plays a prominent role in scientific computing and in modern machine learning, often in the context of powerful programming systems. The relation of the various embodiments of automatic differentiation to the…

Programming Languages · Computer Science 2020-02-04 Martin Abadi , Gordon D. Plotkin

We show how the basic Combinatory Homomorphic Automatic Differentiation (CHAD) algorithm can be optimised, using well-known methods, to yield a simple, composable, and generally applicable reverse-mode automatic differentiation (AD)…

Programming Languages · Computer Science 2023-11-15 Tom Smeding , Matthijs Vákár

Automatic Differentiation (AD) is a powerful tool that allows calculating derivatives of implemented algorithms with respect to all of their parameters up to machine precision, without the need to explicitly add any additional functions.…

Chemical Physics · Physics 2020-06-23 Teresa Tamayo-Mendoza , Christoph Kreisbeck , Roland Lindh , Alán Aspuru-Guzik

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 apply program verification technology to the problem of specifying and verifying automatic differentiation (AD) algorithms. We focus on define-by-run, a style of AD where the program that must be differentiated is executed and monitored…

Logic in Computer Science · Computer Science 2024-02-14 Paulo Emílio de Vilhena , François Pottier

We present a technique for applying (forward and) reverse-mode automatic differentiation (AD) on a non-recursive second-order functional array language that supports nested parallelism and is primarily aimed at efficient GPU execution. The…

Programming Languages · Computer Science 2022-02-22 Robert Schenck , Ola Rønning , Troels Henriksen , Cosmin E. Oancea

Derivatives play a critical role in computational statistics, examples being Bayesian inference using Hamiltonian Monte Carlo sampling and the training of neural networks. Automatic differentiation is a powerful tool to automate the…

Mathematical Software · Computer Science 2019-03-27 Charles C. Margossian

This article provides an overview of some of the mathematical principles of Automatic Differentiation (AD). In particular, we summarise different descriptions of the Forward Mode of AD, like the matrix-vector product based approach, the…

Numerical Analysis · Mathematics 2016-07-07 Philipp H. W. Hoffmann

Automatic differentiation---the mechanical transformation of numeric computer programs to calculate derivatives efficiently and accurately---dates to the origin of the computer age. Reverse mode automatic differentiation both antedates and…

Machine Learning · Computer Science 2014-04-30 Atilim Gunes Baydin , Barak A. Pearlmutter

Automatic Differentiation (AD) has become a dominant technique in ML. AD frameworks have first been implemented for imperative languages using tapes. Meanwhile, functional implementations of AD have been developed, often based on dual…

Programming Languages · Computer Science 2023-07-10 Timon Böhler , David Richter , Mira Mezini

In this paper we introduce DiffSharp, an automatic differentiation (AD) library designed with machine learning in mind. AD is a family of techniques that evaluate derivatives at machine precision with only a small constant factor of…

Mathematical Software · Computer Science 2015-11-30 Atilim Gunes Baydin , Barak A. Pearlmutter , Jeffrey Mark Siskind

Automatic Differentiation (AD) is instrumental for science and industry. It is a tool to evaluate the derivative of a function specified through a computer program. The range of AD application domain spans from Machine Learning to Robotics…

Mathematical Software · Computer Science 2023-03-01 Ioana Ifrim , Vassil Vassilev , David J Lange

Automatic differentiation is involved for long in applied mathematics as an alternative to finite difference to improve the accuracy of numerical computation of derivatives. Each time a numerical minimization is involved, automatic…

Computational Finance · Quantitative Finance 2017-06-08 Sébastien Geeraert , Charles-Albert Lehalle , Barak Pearlmutter , Olivier Pironneau , Adil Reghai

The successes of deep learning, variational inference, and many other fields have been aided by specialized implementations of reverse-mode automatic differentiation (AD) to compute gradients of mega-dimensional objectives. The AD…

Machine Learning · Computer Science 2021-03-16 Deniz Oktay , Nick McGreivy , Joshua Aduol , Alex Beatson , Ryan P. Adams

Algorithmic differentiation (AD) tools allow to obtain gradient information of a continuously differentiable objective function in a computationally cheap way using the so-called backward mode. It is common practice to use the same tools…

Optimization and Control · Mathematics 2024-12-02 Lukas Baumgärtner , Franz Bethke

We give a gentle introduction to using various software tools for automatic differentiation (AD). Ready-to-use examples are discussed, and links to further information are presented. Our target audience includes all those who are looking…

Mathematical Software · Computer Science 2007-05-23 Uwe Naumann , Andrea Walther

The need to efficiently calculate first- and higher-order derivatives of increasingly complex models expressed in Python has stressed or exceeded the capabilities of available tools. In this work, we explore techniques from the field of…

Machine Learning · Computer Science 2018-09-27 Bart van Merriënboer , Dan Moldovan , Alexander B Wiltschko