The diffusion chapter's denoiser always undid noise the same way, regardless of what it was denoising toward. A real image generator starts from the same random noise every time and still needs to draw something different for "a cat" than for "a dog" — so what changes?
The exact same starting noise, run through the exact same reverse-diffusion formula from the earlier chapter — the only thing that changes between runs is which caption's predicted-noise sequence gets used at each step.
Nothing about the reverse step changes:
- — the noisy value at diffusion step .
- — the slightly-less-noisy value this reverse step produces.
- — the current diffusion timestep.
- , — the same noise-schedule coefficients from the earlier diffusion chapter, controlling how much signal versus noise remains at step .
- — the denoiser's predicted noise, now taking the caption embedding as an extra input.
- — the text embedding of the caption being generated toward — the one new ingredient this chapter adds.
- One new input: the caption embedding
The only addition is — a text embedding fed into the denoiser alongside and . Nothing else about the reverse step's math changes.
- Same state, different prediction, different image
A denoiser trained on captioned images learns to predict different noise, at the same , depending on — which means the same starting noise unrolls into a different final image for every different caption.
One shared starting point, three trajectories. The unconditional path (no caption at all) takes a middle course; "a cat" and "a dog" each pull the same starting noise toward a different final value, in opposite directions.
Shared starting noise , same noise schedule as the earlier chapter, three different predicted-noise sequences:
- No conditioning: a generic middle-ground result
Predicting zero noise at every step reduces the reverse formula to just . Unrolling from with , from down to :
A plain, unconditioned denoising.
- 'A cat': the same starting noise, steered higher
Swapping in the cat-conditioned noise sequence (read at each step from down to ) — otherwise identical math. Just the first step already diverges from the unconditional case: , compared to with no conditioning. Carrying the same three remaining steps forward reverses the same to instead.
- 'A dog': the same starting noise, steered lower
The dog-conditioned sequence is . Its first step: — barely moved from , unlike the cat case's big jump. Carrying the same three remaining steps forward pulls that same down to — on the opposite side of the unconditional baseline from the cat result.
Same schedule, same formula, same starting noise. Three different captions, three different destinations.
Find the caption that steers the final value above the unconditional baseline (3.637).
Text-conditioned diffusion isn't a different algorithm from plain diffusion — it's the identical reverse process with one extra input threaded through the noise predictor. That single addition is what turns a denoiser into a generator you can actually direct: same random seed, same math, a different picture for every different prompt. The next chapter turns to a modality with its own extra structure that neither images nor audio have on their own: time unfolding across a whole sequence of frames.