Automatic Differentiation of Algorithms for Machine Learning
arXiv:1404.7456
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.
7 pages, 1 figure
Cited by in corpus (7)
- Gradient-based Hyperparameter Optimization through Reversible Learning
- Tasks, stability, architecture, and compute: Training more effective learned optimizers, and using them to train themselves
- Automatic differentiation for coupled cluster methods
- Deep Bilevel Learning
- Fixing Incremental Computation: Derivatives of Fixpoints, and the Recursive Semantics of Datalog
- Semantics, Representations and Grammars for Deep Learning
- Benchmarking Python Tools for Automatic Differentiation