The full backward DAG puts forward values, gradients, and ReLU gates in one place. It shows the reverse pass as the mirror of the forward graph: loss to output, output to hidden activations, hidden activations to pre-activations, then to weights and inputs. The live branch and blocked branch are visible together.
highlighted = computed this step
Every gradient on the graph
The backward DAG annotates each node with its forward value and its gradient. Reading it right-to-left shows the chain rule on the graph: each arrow carries a gradient through the local operation that made the forward value. The ReLU derivative labels make the live and blocked branches visible together.
ReLU′(z1)=1,ReLU′(z2)=0
The dead branch stays zero
Because dL/dz2=0, every parameter on that branch has gradient 0. This does not remove the branch; it says this example sends no loss signal through it after the ReLU gate closes.
dw21=dw22=db2=0
Input gradients are exact too
The same chain rule gives dL/dx1=-2 and dL/dx2=-2. They are included to show the whole reverse pass, not just the parameters. Backprop continues until each upstream quantity has the exact derivative implied by the graph.