Before you can read the parent note Transfer learning and fine-tuning, every squiggle in its equations must mean something concrete to you. This page picks up every symbol and word the parent uses and builds it from nothing. Read top to bottom — each idea leans on the one above it.
We write one use of the machine as f(x), read aloud as "f of x": "the answer the machine gives when I feed it x."
x (chalk-blue in the figure) = the input, here an image (a grid of pixel numbers).
f(x) = the output, here a guess like "this is a robin."
Look at the figure: x goes in the left, travels through the box f, and a label pops out the right. That box is the whole reason we build networks. If you have met the pixel-grid idea in 3.4.1-Introduction-to-CNs, this is the same picture.
The box f has thousands of little dials inside it. Turning the dials changes what guess comes out. We bundle all those dial settings into one symbol: θ (the Greek letter theta, said "THAY-ta").
Whenever the parent writes θbase or θhead, it just means "the dials belonging to this particular part of the machine." We build those parts in §7.
How do we know if a dial setting is good? We measure how wrong the guess is.
The parent's loss is categorical_crossentropy. You do not need its formula here — just hold the picture: a scoreboard that punishes wrong guesses. Lower is better.
A CN is not one box but a stack of boxes called layers. Each layer transforms the picture a little and passes it to the next.
The figure shows the ladder the parent leans on constantly:
Early layers (near the input) → generic edges, colours, simple textures. These look the same for cats, X-rays, or satellites — that's why they transfer.
Middle layers → object parts (an eye, a wheel).
Late layers (near the output) → the actual answer classes, tightly tied to the source task.
This ladder is the whole reason freezing works: the bottom rungs are reusable, only the top rungs are task-specific. If layers and convolutions are new, pause and read 3.4.1-Introduction-to-CNs.
The lock icon on the base means frozen — its dials stay fixed. The green head is what we actually train. This single picture is the heart of the whole parent note.
Training turns the dials in small steps. One step looks like:
θt+1=θt−η∇θL
Let's decode every piece.
The parent even uses different step sizes per part: tiny η1 for early layers (keep the general edges), a larger η3 for the head (it needs to learn a lot). Same idea, applied layer by layer.
The base h hands back not a flat list but a little stack of grids of shape (7,7,2048).
To feed the head, we flatten each 7×7 map to a single number by averaging it:
GAP(F)c=7×71∑i=17∑j=17Fi,j,c
You'll also see 3.4.7-Batch-normalization and 3.4.8-Residual-connections named in the head and inside ResNet50; those are covered in their own notes — here just know they're standard layers you can drop in.