Every model is a composition
Strip the vocabulary away and a deep network is one function applied after another:
Each is a layer: an affine map, an activation, an attention block, a normalisation. Nothing in that list is difficult to differentiate on its own. The difficulty is entirely in the composition, because you never get to differentiate a layer in isolation. You need the derivative of the whole stack with respect to a weight buried near the bottom.
Key idea: The chain rule is the only tool that converts local knowledge (each layer knows its own derivative) into global knowledge (how the final loss responds to any parameter anywhere). Backpropagation is not a separate algorithm. It is the chain rule with a good evaluation order.

