TY - JOUR
T1 - A Taxonomy of Automatic Differentiation Pitfalls
AU - Hückelheim, Jan
AU - Menon, Harshitha
AU - Moses, William
AU - Christianson, Bruce
AU - Hovland, Paul
AU - Hascoët, Laurent
N1 - © 2024 UChicago Argonne, LLC and The Author(s). This is an open access article under the terms of the Creative Commons Attribution License, https://creativecommons.org/licenses/by/4.0/
PY - 2024/9/2
Y1 - 2024/9/2
N2 - 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.
AB - 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.
KW - Autodiff, Automatic Differentiation, Backpropagation
U2 - 10.1002/widm.1555
DO - 10.1002/widm.1555
M3 - Article
SN - 1942-4787
JO - WIREs: Data Mining and Knowledge Discovery
JF - WIREs: Data Mining and Knowledge Discovery
ER -