boundlab.prop.input_attribution#
- boundlab.prop.input_attribution(e, target)[source]#
Exact linear sensitivity of
etotarget’s symbols.Returns
Jwith shape(*e.shape, *target.shape): the accumulated linear weight oftargetin the affine DAG rooted ate. This is exact because post-interpretation DAGs are affine overLpEpsilonleaves (every nonlinearity has been replaced by a linear relaxation), so the contribution oftargettoeis a single linear mapJwithe = J · target + (terms in other symbols).targetis typically the inputLpEpsilon. Ifedoes not depend ontarget,Jis all zeros.Implementation mirrors
ub()’s reverse-topological traversal but, on reachingtarget, captures the accumulated weight’s Jacobian instead of concretizing; other noise symbols and constants are skipped. Does not read or write the bound caches.