| weight | value | gradient ∂L/∂w | new w ← w − η·grad |
|---|
A tiny 2 → 2 → 1 network. Watch the forward pass (nested functions), the loss, and the chain-rule blame flowing backwards.
| weight | value | gradient ∂L/∂w | new w ← w − η·grad |
|---|
ŷ = wo₁·σ(w₁₁x₁+w₁₂x₂+b₁) + wo₂·σ(w₂₁x₁+w₂₂x₂+b₂) + b₀ — every weight is a variable inside this long function. Loss L = ½(ŷ−y)² makes error a single scalar.
Even with random initial weights, dot products are not "meaningless" — they produce distinct intermediate signals (0.61 vs 0.74). Training will sculpt those projections.
δ = ŷ − y = 0.218blame₁ = δ·wo₁ = 0.174 then dampened by σ′(z₁)=0.238 → δ₁=0.0415∂L/∂w₁₁ = δ₁·x₁ = 0.062 — downstream error × upstream value.Backprop is not "search" — it's calculus auto-applied. Multiply numeric messages backward along every edge (blame × local derivative × input).
"First hidden layer features are identical for every activation — only coefficients differ. How does the net know which weight to update?"
h₁: [0.5, 0.2] likes x₁; h₂: [0.3, −0.4] likes −x₂.x = [1.5, −2] projected differently → z₁=0.45, z₂=1.05 → a₁=0.61, a₂=0.74.wo₁≠wo₂ and σ′(z₁)≠σ′(z₂): δ₁=0.041 vs δ₂=−0.021.Δw₁₁=δ₁·x₁ vs Δw₂₁=δ₂·x₁ — same x₁ scaled by distinct local δ.Think of each super-neuron as a cheap parallel regression. The message δ·woᵢ·σ′ tells each which direction to move — the chain rule does the bookkeeping one step at a time.