Naive forward iteration, where we iterate until zn+1 stays sufficiently close to zn:
zn+1=f(θ,zn)
gradients
If we use a fixed-point iteration in a model where we need the gradients, such as an implicit layer, naively using automatic differentiation would require the gradients at each intermediate step of the solver.
Instead, we can use the implicit function theorem to define the backward pass only at the solution point.
For the fixed point iterator, the Jacobian becomes (as we now have z∗(θ)=f(θ,z∗(θ)) instead of 0)
The final solution is now w=[I−∂1f(θ0,z0)]−1u. So w=u+∂1f(θ0,z0)w and we can use a fixed point iterator (or other solver) to solve the linear system for w.
vector-Jacobian product
wT∂z∗(θ0)=wT[I−∂1f(θ0,z0)]−1∂0f(θ0,z0)
Calculate the adjointuT=wT[I−∂1f(θ0,z0)]−1 as uT=wT+uT∂1f(θ0,z0).