Automatic Differentiation of Algorithms for Machine Learning
Atilim Gunes Baydin, Barak A. Pearlmutter

TL;DR
This paper reviews automatic differentiation, a technique for efficiently computing derivatives, highlighting its two main modes and potential benefits for machine learning practitioners, aiming to make it accessible to a broad audience.
Contribution
It provides a comprehensive overview of automatic differentiation, emphasizing its relevance and application in machine learning, and clarifies its two main modes for practitioners.
Findings
Automatic differentiation predates and generalizes backpropagation.
Practitioners underutilize automatic differentiation tools.
The paper makes the technique accessible to non-experts.
Abstract
Automatic differentiation---the mechanical transformation of numeric computer programs to calculate derivatives efficiently and accurately---dates to the origin of the computer age. Reverse mode automatic differentiation both antedates and generalizes the method of backwards propagation of errors used in machine learning. Despite this, practitioners in a variety of fields, including machine learning, have been little influenced by automatic differentiation, and make scant use of available tools. Here we review the technique of automatic differentiation, describe its two main modes, and explain how it can benefit machine learning practitioners. To reach the widest possible audience our treatment assumes only elementary differential calculus, and does not assume any knowledge of linear algebra.
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsNumerical Methods and Algorithms · Model Reduction and Neural Networks · Advanced Optimization Algorithms Research
