A technique for computing gradients of a system's outputs with respect to inputs by backpropagating through the system dynamics.