A Taxonomy of Automatic Differentiation Pitfalls

Jan Hückelheim, Harshitha Menon, William Moses, Bruce Christianson, Paul Hovland, Laurent Hascoët

Research output: Contribution to journalArticlepeer-review

25 Downloads (Pure)

Abstract

Automatic differentiation is a popular technique for computing derivatives of computer programs. While automatic differentiation has been successfully used in countless engineering, science and machine learning applications, it can sometimes nevertheless produce surprising results. In this paper we categorize problematic usages of automatic differentiation, and illustrate each category with examples such as chaos, time-averages, discretizations, fixed-point loops, lookup tables, linear solvers, and probabilistic programs, in the hope that readers may more easily avoid or detect such pitfalls. We also review debugging techniques and their effectiveness in these situations.
Original languageEnglish
Number of pages12
JournalWIREs: Data Mining and Knowledge Discovery
Early online date2 Sept 2024
DOIs
Publication statusE-pub ahead of print - 2 Sept 2024

Keywords

  • Autodiff, Automatic Differentiation, Backpropagation

Cite this