A taxonomy of automatic differentiation pitfalls

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, w...

Ausführliche Beschreibung

Gespeichert in:
Bibliographische Detailangaben
Veröffentlicht in:Wiley interdisciplinary reviews. Data mining and knowledge discovery 2024-11, Vol.14 (6), p.e1555-n/a
Hauptverfasser: Hückelheim, Jan, Menon, Harshitha, Moses, William, Christianson, Bruce, Hovland, Paul, Hascoët, Laurent
Format: Artikel
Sprache:eng
Schlagworte:
Online-Zugang:Volltext
Tags: Tag hinzufügen
Keine Tags, Fügen Sie den ersten Tag hinzu!
Beschreibung
Zusammenfassung: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 Automatic differentiation is a popular technique for computing derivatives of computer programs in countless engineering, science and machine learning applications. In this paper we categorize problematic usages of automatic differentiation that can lead to surprising results, 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 avoid or detect such pitfalls. We also review debugging techniques and their effectiveness.
ISSN:1942-4787
1942-4795
1942-4795
DOI:10.1002/widm.1555