Theme 1 – Computational‑complexity advantage for scalar‑output problems
Reverse‑mode AD (back‑prop) is preferred because its cost scales with the number of outputs, not inputs. When a network has huge numbers of parameters (inputs) and a single loss (output), this yields a dramatic win.
“Forward mode is O(number of inputs) while reverse is O(number of outputs). Seems obvious that reverse mode is what you want for training a neural network, where you have huge numbers of inputs and usually one output, the loss you’re training on.” — omnicognate
Theme 2 – Algebraic efficiency: vector‑by‑matrix vs matrix‑by‑matrix multiplies
Back‑prop can be arranged so that the gradient propagation involves cheap vector‑matrix products rather than expensive matrix‑matrix products, because the loss is a scalar that starts the chain.
“The real reason is that backprop is basically matrix multiplication and multiplying from left to right is way cheaper from right to left. Since on the left side you will have a scalar loss term and you keep vector‑matrix multiplication through the network…” — dkrylov
Theme 3 – Reverse mode is not strictly optimal; intuition can be hand‑wavy
While reverse mode is efficient, it isn’t mathematically optimal in all cases; finding the optimal order of gradient accumulation on a general DAG is NP‑hard, and the intuitive explanations often gloss over these details.
“The intuition here is okay - but the math is hand‑wavy with imprecise terms like ‘blow‑up’ etc. … Reverse‑mode AD … is not strictly optimal even for this particular scalar‑output case … The optimal ordering for gradient accumulation is in fact NP‑hard on general DAGs…” — akssri