Visual walkthrough — Forward propagation computation
We assume you know: what a number is, what "multiply then add" means, and that a picture is worth a page of algebra. Everything else — dot products, matrices, activations — we earn on the spot.
Step 1 — What is a single input, really?
WHAT. A network's input is just a short list of numbers. If we are recognising, say, a tiny handwritten digit from two measurements, the input is Here and are just two ordinary numbers stacked in a column. The bold is shorthand for "the whole stack at once."
WHY. We stack them because in the next steps we will feed all of them into every neuron simultaneously. Writing them as one column lets us talk about the whole input in a single symbol.
PICTURE. Two amber dials, each holding a number, feeding into the machine.

Step 2 — One neuron: mix the inputs with a "recipe"
WHAT. A neuron has one weight per input, , and one extra number (the bias). It computes a single number: Each weight says how much this neuron cares about that input. The bias adds a constant, independent of the inputs.
WHY multiply-then-add? Because we want a single "score" that goes up when an input we trust is large, and down when a distrusted (negative-weight) input is large. Multiplying weight by input, then summing, is the simplest rule that does exactly this. The bias lets the neuron have an opinion even when every input is zero — without it, would force always, which is a needless handicap.
PICTURE. Two inputs flowing along wires; each wire scaled by its weight; a bias splash dropped in; everything poured into one summing bowl labelled .

Step 3 — Why one neuron is not enough: bend it
WHAT. After computing , the neuron passes it through a bending function (see Activation functions): A popular choice is ReLU: — "keep positive numbers, flatten negatives to zero."
WHY bend at all? This is the heart of everything. If we never bent, then stacking neuron after neuron would just be adding and multiplying — and a pile of "multiply-and-add" is still one big multiply-and-add. No matter how deep, a straight-line-only machine can only draw straight lines. The bend is what lets the network draw curves (this is the promise of the Universal approximation theorem).
PICTURE. The straight line enters ReLU; the left half (negatives) gets folded flat onto the floor; the right half passes through unchanged. That single fold is the source of all the machine's power.

Step 4 — Many neurons = a row of recipes = a matrix
WHAT. A layer is just several neurons side by side, each with its own weights. Neuron has weights , neuron has . Stack each neuron's weights as a row: Reading term by term for output slot :
WHY a matrix? Because "take a row, multiply each entry by the matching input, add up" — a dot product — is precisely the weighted sum from Step 2. Putting neuron 's weights in row makes the machinery of matrix-times-vector spit out all the at once. That's why is (m output rows, n input columns): the multiply demands it.
PICTURE. Each row of the grid reaches across the input column, multiplies pairwise, and drops its sum into the matching output slot.

Step 5 — Chain layers: the assembly line
WHAT. Feed one layer's output into the next. With , for each layer : The superscript is just a station number on the assembly line, not a power.
WHY chain? One layer can only bend once — one crease. Chaining lets each layer bend the already-bent output again, and creases stacked on creases carve out richly curved decision regions. The output of the last station, , is the prediction.
PICTURE. Numbers flowing left-to-right through three stations; at each station the "weigh–bias–bend" box acts, and the shape of the data changes.

Step 6 — The output station: turning scores into probabilities
WHAT. For classification the last is usually softmax (see Softmax and cross-entropy loss). Given final scores : Term by term: makes score positive; the denominator is the total of all such positives, so dividing forces the outputs to add up to .
WHY exponentials? We need every output positive (a probability can't be negative) and monotonic (a bigger score → bigger probability). does both, and dividing by the sum normalises the pile into a valid probability distribution.
PICTURE. Three raw scores → exponentiated into positive bars → rescaled so the bars fill exactly one full "probability bar."

Step 7 — Edge cases: what breaks, and why it doesn't
WHAT & WHY (four degenerate inputs).
- Zero input : then . The neuron still fires because of the bias — this is the whole point of .
- All-negative into ReLU: every output becomes — a "dead" layer. This is real (the dying ReLU problem) and connects to Vanishing and exploding gradients.
- Huge logits in softmax: overflows. The fix is subtracting the max, , which gives the same probabilities (the constant cancels top and bottom).
- All-equal logits : softmax returns — maximal uncertainty, exactly what "no preference" should look like.
PICTURE. Four small panels, one per edge case, each showing the input and what the machine does with it.

Step 8 — Watch it run: the worked example, as a picture
Using , , , ReLU hidden, then , , identity output.
- Weigh + bias: .
- Bend (ReLU): — neuron 1's negative score is flattened to : it is gated off.
- Output: .
PICTURE. The exact numbers flowing through, with the flattened neuron drawn greyed out.

The one-picture summary
Every idea on this page, compressed: raw numbers enter, each station does weigh → bias → bend, the shape gets progressively re-carved, and the final station outputs a prediction (a probability distribution if softmax).

Recall Feynman retelling of the whole walkthrough
Picture a water bucket-brigade. Your input is a couple of buckets of water. Each neuron is a person who scoops from the buckets behind them — scooping more from neighbours they trust (the weights) and always adding their own fixed splash (the bias). That's the weighted sum . Then they pour it through a funny funnel that flattens anything below a line (the ReLU bend) — this bending is the only reason the brigade can do something cleverer than a single scoop-and-pour. A whole row of people forms one layer (that's the matrix : one row of trust-values per person). The water passes station by station, re-shaped at each, until the last row of people — using the softmax funnel — hands you buckets that are guaranteed positive and add up to exactly one full tank: your probabilities. Forward propagation is just running the water forward through the brigade one time.