Patent ID: 11868771
Assignee: PURDUE RESEARCH FOUNDATION
Field: Computer technology (Electrical engineering)
Classification: CPC G | IPC G

Claim 0:
1. A method for computing the gradient of a function implemented as a computer program using a processor and a memory, comprising:
a. representing a computation as a sequence of steps involving primitive computations;
b. splitting the sequence in (a) either at its midpoint, or at a point selected to optimize the trade-off between computation and storage;
c. computing the intermediate state of the computation at the point selected in (b), applying the portion of the computation prior to the point selected in (b);
d. recursively applying the method to the second portion of the computation beginning at the point selected in (b) to compute both the value of the entire computation and the gradient of the computation at the point selected in (b); and
e. recursively applying the method to the first portion of the computation up to the point selected in (b) to compute the gradient of the computation at the input when the number of computational steps exceeds a minimum, otherwise using a standard method, including but not limited to automatic differentiation in its reverse-accumulation mode, to compute the gradient.