How a model assigns blame across a billion knobs at once.

SRC·09 Source
A billion knobs, each needs its slope. One sweep finds them all.

A billion knobs, each needs its slope. One sweep finds them all.

Gradient descent only moves if it knows the loss's slope for every weight — and a real model has billions. Measuring them one at a time would mean a billion full runs of the network. Backpropagation hands you the exact slope of all of them in a single sweep backward. It's the engine that makes training a giant model possible at all.
Nudge one knob, re-run, see the change — now do that a billion times.

Nudge one knob, re-run, see the change — now do that a billion times.

LθL(θ+ε)L(θ)ε\frac{\partial L}{\partial \theta} \approx \frac{L(\theta + \varepsilon) - L(\theta)}{\varepsilon}
You could measure a knob's effect head-on: change it by a hair, run the whole network again, and read how much the loss moved. That's the formula below — and it costs one full run per knob. Like testing a soup by re-cooking the whole pot for every pinch of salt: perfectly correct, and hopeless at a billion ingredients.
The escape is one calculus rule: multiply the slopes along the chain.

The escape is one calculus rule: multiply the slopes along the chain.

dLdx=dLdydydx\frac{dL}{dx} = \frac{dL}{dy}\cdot\frac{dy}{dx}
The loss reaches an early weight only through a chain of steps. The chain rule says the slope across the whole chain is just the local slopes multiplied together. Like a row of lenses: each one multiplies the magnification, so the final zoom is every lens's factor multiplied down the line. Find each local slope, multiply, done.
Step one: run it forward and remember every value on the way.

Step one: run it forward and remember every value on the way.

z(l)=W(l)a(l1)+b(l),a(l)=σ ⁣(z(l))z^{(l)} = W^{(l)} a^{(l-1)} + b^{(l)}, \qquad a^{(l)} = \sigma\!\big(z^{(l)}\big)
Each local slope depends on the values that flowed through that layer — so first you run the network forward and cache every one. Each layer mixes its inputs with weights, then bends them through a curve. Like a caver laying a guideline going in: you follow the very same cord to find your way back out. Skip it, and the backward pass has nothing to multiply.
Step two: start at the error and push the blame backward.

Step two: start at the error and push the blame backward.

δ(l)=(W(l+1))δ(l+1)    σ ⁣(z(l))\delta^{(l)} = \big(W^{(l+1)}\big)^{\top}\delta^{(l+1)} \;\odot\; \sigma'\!\big(z^{(l)}\big)
Now sweep backward. Start with the error at the output; at each layer, take the blame coming in, scale it by how sensitive that layer was, and pass it upstream. One sweep reaches every knob — the shared work done just once. Like tracing a leak back through the pipes: follow the wet trail from the puddle up to the joint truly at fault. (δ is a layer's share of the blame.)
And every knob's slope falls out: its blame times its input.

And every knob's slope falls out: its blame times its input.

LW(l)=δ(l)(a(l1))\frac{\partial L}{\partial W^{(l)}} = \delta^{(l)}\,\big(a^{(l-1)}\big)^{\top}
With the blame known at each layer, a single weight's slope is just its blame times the input it multiplied — no global view required. Like a sail: the push you get is the wind times the canvas that catches it — a purely local product. That locality, repeated everywhere, is what lets backprop scale to billions of weights.
That's it: one pass out to remember, one pass back to blame.

That's it: one pass out to remember, one pass back to blame.

Backpropagation is the chain rule plus bookkeeping: run forward once and cache, sweep backward once and multiply. For roughly the price of two passes you get the exact slope of every weight — not the billion runs the naive way demanded. Like a boomerang: one throw goes out, and the very same motion carries it all the way back to your hand.
🌱 You don't trace a billion blames to catch a falling glass.

🌱 You don't trace a billion blames to catch a falling glass.

Backprop learns by running each mistake backward, knob by knob, to the exact source of the error. A brain almost certainly doesn't — you adjust without ever computing a billion partial slopes. So is tracing blame backward really how minds learn — or only how machines must, for now? Maybe the next leap is a way to learn that never has to look back.
tap →swipe ↑ for depthswipe ↓ to exit