Everything below is a tool you need before that sentence makes full sense. We build each symbol from nothing, anchor it to a picture, and say why the topic can't live without it. We introduce them in strict order: no symbol appears before the section that defines it.
Why the word "vector" and not just "list"? Because a list of numbers has a picture: an arrow from the origin (the point (0,0)) to the point those numbers name.
Look at the burnt-orange arrow: it starts at the origin and its tip lands at (3,1). The two numbers "3 right, 1 up" are the arrow. In this topic, when a picture (say a zebra) is fed to a model, the model turns it into a list of numbers — so the picture becomes an arrow in a space we can reason about geometrically.
A neural network is a stack of layers. Each layer takes the numbers from the layer before, mixes them, and produces a new list of numbers. That output list at a chosen layer is what we call the activation.
Follow the teal path: an image enters on the left, flows through layers, and at the marked layer ℓ we tap off the numbers. Different images give different taps — each becomes its own dot in activation space.
Here is the single most important tool of the whole topic. We only use symbols already defined above — vectors (§1), scaling (§2), and length (§5).
Why THIS tool and not another? We want a single number that answers "do these two arrows point the same way?" The dot product does exactly that. Here is why those slot-wise products secretly measure an angle.
First, what does "angle" even mean when there are more than 3 slots? We define θ to be the angle you would measure inside the ordinary flat triangle formed by the two arrows and the segment joining their tips — and any two arrows, no matter how many slots, always lie inside a single flat plane, so that triangle is a real 2D picture even in R2048.
Now the connection. Suppose both arrows have length 1. Slide arrow b's shadow onto arrow a: the length of that shadow (the projection) is exactly cosθ — that is the very definition of cosine on a right triangle ("adjacent over hypotenuse," and here the hypotenuse is 1). The slot-wise sum a⋅b turns out to compute precisely this shadow length. Scaling each arrow back up by its own length ∥a∥,∥b∥ (defined in §5) multiplies the shadow by both lengths, giving the identity:
a⋅b=∥a∥∥b∥cosθ
So the sum-of-products is not a coincidence: it is "how much one arrow's shadow falls along the other," and shadow direction is exactly what "do they agree?" means.
Read the three cases in the figure:
Same direction (θ small): cosθ near +1, dot product positive — the arrows agree.
Perpendicular (θ=90∘): cosθ=0, dot product zero — no agreement either way.
Opposite (θ near 180∘): cosθ near −1, dot product negative — the arrows disagree.
A general hyperplane is described by a direction w and a number b (the bias or intercept): the wall is the set of points h with w⋅h+b=0 (using the dot product from §7).
Every hyperplane has one special direction: the normal vectorw, the arrow that points straight across the wall (perpendicular to it). The bias only moves the wall; it does not change this crossing direction.
In the figure the plum dots are "striped" activations and the grey dots are "random" activations. The teal line is the hyperplane that best separates them — notice it does not pass through the origin, which is exactly what the bias b buys us. The burnt-orange arrow is its normal w — pointing from the random side toward the striped side.
To get the hyperplane, we train a linear classifier: it finds a direction wand a bias b so that the score w⊤h+b is positive for one group and negative for the other.
Now the pieces of the training objective:
argminw,b means "the values of w and b that make the following quantity smallest." (arg = argument = the input that wins.)
L (script L) is a loss — a number measuring how wrong the classifier is on one example; smaller is better. We must pick a concrete form.
λ∥w∥2 is a regularizer: a penalty on large weights (using the norm from §5) so the fence stays simple. λ (Greek lambda) sets how hard we push. By convention the bias b is left out of this penalty.
Why THIS tool? We want to know "which way should the thought hℓ move to make the model more sure of class k?" The gradient answers exactly that question and hands back an arrow — which we can dot (§7) with the concept arrow vc (§9).