I saved this one for last because it is the shape most finished models actually end in. One input, one trunk, and then the network splits: two small weights hanging off the same representation, each answering a different question.
The trunk does the work, and the heads are almost nothing. Two layers build a 32-wide representation of the input, then Head A turns those 32 numbers into 10 and Head B turns the same 32 into 4. A head is usually a single weight, sometimes with an activation after it, and that is the whole of it.
What makes this worth drawing is the sharing. Both heads read the same numbers, so whatever the trunk learns has to be useful for both questions at once. That is a constraint and a bargain: the trunk cannot specialise for either task, and in exchange each task gets a representation shaped by evidence from the other. Object detectors do this with a class head and a box head, and language models do it when one backbone serves several objectives.
It is the mirror of the two-tower network. There, two inputs travelled up separate towers and met at one output. Here, one input travels up one trunk and separates into several outputs. Merge at the end, or split at the end, from the same layer either way.
That is the last of the twelve. Every one of them was the same layer, multiply by a weight matrix and apply an activation, and every one of them did something different with it. The wiring was the whole lesson.
Congratulations. With these basic patterns in hand ✍️, the next time you open an advanced architecture you will start recognising them inside it, and you will understand why they are there.



This was a fascinating overview, thank you! I really appreciated the detailed breakdown and the insights at each step.