π
Explicit Autodiff Table An overview of major automatic differentiation primitive rules for explicit scalar and tensor operations, e.g., addition and multiplication.
π‘ Background
Given a unary function with one input and one output
these autodiff rules define ways of obtaining the Jacobian-vector product (Jvp)
and the vector-Jacobian product (vJp)
without ever explicitly constructing the Jacobian matrix
If one has a general function with many inputs and outputs, the Jvp for one specific output tangent is sum of propagation from all the inputs. Vice versa, the vJp for one specific input cotangent is the sum of the backpropagation from all output cotangents.
π Resources
Check out my video playlist I created with in-depth derivations for most of the rules in this table. You find the handwritten notes over on the GitHub Repo of the channel.
- General Books on Automatic Differentiation:
- Evaluating Derivatives: Principles and Techniques of Algorithmic Differentiation, by Andreas Griewank and Andrea Walther.
- The Art of Differentiating Computer Programs by Uwe Naumann.
- Survey Paper:
- Automatic Differentiation in Machine Learning: a Survey by Atilim Gunes Baydin et al.
- Concrete Derivations: