A taxonomy of automatic differentiation pitfalls
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. This article is categorized under: Technologies > Machine Learning
Authors
- Bruce Christianson (ORCID: https://orcid.org/0000-0002-3777-7476)
- Jan Hückelheim (ORCID: https://orcid.org/0000-0003-3479-6361)
- Laurent Hascoët (ORCID: https://orcid.org/0000-0002-5361-0713)
- Harshitha Menon (ORCID: https://orcid.org/0000-0003-4707-9580)
- Paul Hovland (ORCID: https://orcid.org/0000-0002-0907-2567)
- William S. Moses (ORCID: https://orcid.org/0000-0003-2627-0642)
Institutions
- Argonne National Laboratory (US)
- Lawrence Livermore National Laboratory (US)
- University of Hertfordshire (GB)
- IIT@MIT (US)
Publication Details
- Journal
- Wiley Interdisciplinary Reviews Data Mining and Knowledge Discovery
- Published
- 2024-09-02
- DOI
- https://doi.org/10.1002/widm.1555
- Citations
- 7
- Primary Topic
- Numerical Methods and Algorithms
- Type
- article
- Field-Weighted Citation Impact
- 2.53
Funders
- U.S. Department of Energy
- Office of Science
- U.S. Air Force
- Advanced Scientific Computing Research
- Lawrence Livermore National Laboratory
- Air Force Research Laboratory
- Los Alamos National Laboratory