Understanding Automatic Differentiation Pitfalls

Jan Hückelheim, Harshitha Menon, William Moses, Bruce Christianson, Paul Hovland +1 more
5/12/2023
math.NAcs.AIcs.CE

No confident code implementation found for this paper.

Abstract

Automatic differentiation, also known as backpropagation, AD, autodiff, or algorithmic differentiation, is a popular technique for computing derivatives of computer programs accurately and efficiently. Sometimes, however, the derivatives computed by AD could be interpreted as incorrect. These pitfalls occur systematically across tools and approaches. In this paper we broadly categorize problematic usages of AD and illustrate each category with examples such as chaos, time-averaged oscillations, discretizations, fixed-point loops, lookup tables, and linear solvers. We also review debugging techniques and their effectiveness in these situations. With this article we hope to help readers avoid unexpected behavior, detect problems more easily when they occur, and have more realistic expectations from AD tools.

View on arXivView PDF

Code Implementations

No confident code match yet

We couldn't find an author-owned or strongly-evidenced community implementation for this paper. Any repos shown below are weak matches — verify before relying on them.

No code implementations found yet.

Know of an implementation? Let us know in the comments below!

Similar Papers

Cite this paper

@article{hckelheim2023understanding,
  title  = {Understanding Automatic Differentiation Pitfalls},
  author = {Jan Hückelheim and Harshitha Menon and William Moses and Bruce Christianson and Paul Hovland and Laurent Hascoët},
  year   = {2023},
  eprint = {2305.07546},
  archivePrefix = {arXiv},
  url    = {http://arxiv.org/abs/2305.07546v1}
}

Add a badge to your README

Shows whether official code is linked for this paper.

Code of Paper badge
[![Code of Paper](https://codeofpaper.com/badge/2305.07546.svg)](https://codeofpaper.com/paper/2305.07546)

Discussion