English
Related papers

Related papers: Don't Unroll Adjoint: Differentiating SSA-Form Pro…

200 papers

How does one compile derivatives of tensor programs, such that the resulting code is purely functional (hence easier to optimize and parallelize) and provably efficient relative to the original program? We show that naively differentiating…

Programming Languages · Computer Science 2020-10-01 Gilbert Bernstein , Michael Mara , Tzu-Mao Li , Dougal Maclaurin , Jonathan Ragan-Kelley

Derivatives of differential equation solutions are commonly for parameter estimation, fitting neural differential equations, and as model diagnostics. However, with a litany of choices and a Cartesian product of potential methods, it can be…

Numerical Analysis · Computer Science 2021-07-21 Yingbo Ma , Vaibhav Dixit , Mike Innes , Xingjian Guo , Christopher Rackauckas

The Transformer architecture has become the foundation of modern deep learning, yet its core self-attention mechanism suffers from quadratic computational complexity and lacks grounding in biological neural computation. We propose Selective…

Machine Learning · Computer Science 2026-02-17 Hasi Hays

We introduce DiffOpt.jl, a Julia library to differentiate through the solution of optimization problems with respect to arbitrary parameters present in the objective and/or constraints. The library builds upon MathOptInterface, thus…

Machine Learning · Computer Science 2023-08-01 Mathieu Besançon , Joaquim Dias Garcia , Benoît Legat , Akshay Sharma

A C++ library for sensitivity analysis of optimisation problems involving ordinary differential equations (ODEs) enabled by automatic differentiation (AD) and SIMD (Single Instruction, Multiple data) vectorization is presented. The discrete…

Numerical Analysis · Mathematics 2024-10-04 Rui Martins , Evgeny Lakshtanov

Differentiating through constrained optimization problems is increasingly central to learning, control, and large-scale decision-making systems, yet practical integration remains challenging due to solver specialization and interface…

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

Applying differentiable programming techniques and machine learning algorithms to foreign programs requires developers to either rewrite their code in a machine learning framework, or otherwise provide derivatives of the foreign code. This…

Mathematical Software · Computer Science 2022-08-05 William S. Moses , Valentin Churavy

Toward desirable saliency prediction, the types and numbers of inputs for a salient object detection (SOD) algorithm may dynamically change in many real-life applications. However, existing SOD algorithms are mainly designed or trained for…

Computer Vision and Pattern Recognition · Computer Science 2024-05-10 Nianchang Huang , Yang Yang , Ruida Xi , Qiang Zhang , Jungong Han , Jin Huang

In this paper we demonstrate a new technique for deriving discrete adjoint and tangent linear models of finite element models. The technique is significantly more efficient and automatic than standard algorithmic differentiation techniques.…

Mathematical Software · Computer Science 2013-10-17 Patrick E. Farrell , David A. Ham , Simon F. Funke , Marie E. Rognes

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 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

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

Unsupervised Domain Adaptation (UDA) addresses the problem of performance degradation due to domain shift between training and testing sets, which is common in computer vision applications. Most existing UDA approaches are based on…

Computer Vision and Pattern Recognition · Computer Science 2019-05-14 Songsong Wu , Yan Yan , Hao Tang , Jianjun Qian , Jian Zhang , Xiao-Yuan Jing

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

There are several AD tools available, which all implement different strategies for the reverse mode of AD. The major strategies are primal value taping (implemented e.g. by ADOL-c) and Jacobi taping (implemented e.g. by adept and dco/c++).…

Mathematical Software · Computer Science 2017-09-22 Max Sagebaum , Tim Albring , Nicolas R. Gauger

Automatic differentiation (AD), a technique for constructing new programs which compute the derivative of an original program, has become ubiquitous throughout scientific computing and deep learning due to the improved performance afforded…

Machine Learning · Computer Science 2023-01-10 Gaurav Arya , Moritz Schauer , Frank Schäfer , Chris Rackauckas

Stencil loops are a common motif in computations including convolutional neural networks, structured-mesh solvers for partial differential equations, and image processing. Stencil loops are easy to parallelise, and their fast execution is…

Distributed, Parallel, and Cluster Computing · Computer Science 2019-07-08 Jan Hückelheim , Navjot Kukreja , Sri Hari Krishna Narayanan , Fabio Luporini , Gerard Gorman , Paul Hovland

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

Static single assignment form, or SSA, has been the dominant compiler intermediate representation for decades. In this paper, we give a type theory for a variant of SSA, including its equational theory, which are strong enough to validate a…

Programming Languages · Computer Science 2024-12-13 Jad Elkhaleq Ghalayini , Neel Krishnaswami