Automatic Differentiation: Inverse Accumulation Mode
Barak A. Pearlmutter, Jeffrey Mark Siskind
TL;DR
This work targets practical inverse automatic differentiation by seeking to compute Jacobian-inverse-vector and Jacobian-inverse-transpose-vector products with efficiency comparable to standard Jacobian-vector and transpose-vector products. It leverages a compositional, constant-width data-flow framework in which local Jacobians admit inversion without altering sparsity, enabling forward and reverse inverse accumulation alongside traditional modes. A key contribution is the lumpification approach, which partitions computations into width-$n$ blocks to maintain invertibility and tractable inversion costs, together with a unified notation for the four AD modes and an ODE-extension showing per-step inverse-AD dynamics. The prototype implementation and discussion of open questions (lump detection, scheduling, and graph algorithms) point to practical pathways for efficient second-order computations and potential broad applicability in inverse-problem solving and differential equation solvers.
Abstract
We show that, under certain circumstances, it is possible to automatically compute Jacobian-inverse-vector and Jacobian-inverse-transpose-vector products about as efficiently as Jacobian-vector and Jacobian-transpose-vector products. The key insight is to notice that the Jacobian corresponding to the use of one basis function is of a form whose sparsity is invariant to inversion. The main restriction of the method is a constraint on the number of active variables, which suggests a variety of techniques or generalization to allow the constraint to be enforced or relaxed. This technique has the potential to allow the efficient direct calculation of Newton steps as well as other numeric calculations of interest.
