Where we are — from judging a design to proposing one
Lecture 4 · Observe
Lecture 5 · Trust
Lecture 6 · Generate
the question
which experiment to run next
on what evidence to judge a design no one has measured
which designs to propose, and how to steer that toward good ones
the model
a GP of f
a performance model f^, trusted with care
a generator of plausible designs, plus a performance model
the decision
query the acquisition's arg-max
return the surrogate's arg-max, carefully
search, refit, condition or steer the generator
Lecture 5 gave the performance model grounds for trust. This lecture adds a model of where to look. A generator structures the search; it does not create evidence about performance — that still comes from the data, and from Lecture 5's tools.
Learning route — two sessions, four places to intervene
Bring: the surrogate, the decision bound and how an optimiser exploits it (Lecture 5); Bayes' rule and likelihood (Lecture 2); sampling and weighting (Lecture 3).
Session
What it does
1 · Generate, then search or refit
What surrogates leave → two models, two jobs → KL, VAE and diffusion as tools → G1: search in learned coordinates → G2: refit the generating distribution, with CbAS worked through
2 · Ask, and steer
G3: condition on the performance you want — CVAE, MINs, DDOM → a KL-regularised view of candidate distributions → G4: steer the sampling process → the four side by side, with Lecture 5's tools in each
Keep three questions apart throughout — Lecture 5 closed on them: is it good (performance), is it possible (validity), can the prediction be trusted (reliability). Each method buys one and can spend another.
Q1. Lecture 5 gave the surrogate grounds for trust. Three problems are still standing.
ACT 1What surrogates still leaveLecture 6
The problem, unchanged — and what the algorithm may use
The same problem as Lecture 5, with the valid set written in:
findx∗=x∈Xvalidargmaxf(x)with only D={(xi,yi)}i=1N,yi=f(xi)+ϵi
What the algorithm may use
The fixed dataset, and any knowledge stated up front — a known constraint can be checked directly. Strict offline:f is never called while training, choosing or tuning.
What it may not
The hidden oracle that scores the final candidates — as in Lecture 5's Design-Bench. The widgets draw the true f for the teacher's eyes only.
Source alignment: Part 1 pp. 2–3, repeated as Part 2 pp. 3–4 — the source opens Lecture 6 with Lecture 5's slide; the valid set and the information boundary are made explicit here.
Q1 What do surrogates leave?Q2 How do we model designs?Q3 Coordinates or distribution?Q4 Condition or sampler?
A huge space
The optimiser still moves one point through every coordinate of x — a protein of 237 residues has 20237 sequences. Conservatism made each move safer, not the space smaller.
Validity
Most of x is not a design at all — not a molecule, not a folded protein, not an image of a digit. Lecture 5's last slide: out of distribution and invalid are different problems, and a surrogate scores both.
One answer
The arg-max returns one design; a lab wants a batch of different good candidates. Reliable scoring alone does not provide convenient coordinates, or a distribution of diverse, plausible candidates.
The source's answer: model what plausible designs look like, and steer that model toward good ones — a distribution over designs, plus a performance signal.
Source alignment: Part 1 p. 4 — the main problem, conservatism limiting expressivity, and three promises of sampling (no optimisation, diverse designs, constraints satisfied implicitly). The first and third are softened here: several methods below still optimise, and a learned prior encourages validity without guaranteeing it.
Run the forward map backwards — from the y you need to the x that delivers it — and it is not a function: a curve in two pieces. The red mark is the midpoint of that set — what a least-squares inverse returns — stranded in the valley between the branches.
To keep several answers, make the inverse stochastic: x=fθ−1(y,z) with z∼p(z) choosing among them. That is a generative model.
The same point in one line: for y=x2 and y=4, the two answers are ±2; their average 0 scores 0. The widget's numbers: every point of the curve is worth 2.00, their midpoint 0.81. Source alignment: Part 2 p. 20 ("make the inverse mapping stochastic … cf. CVAE").
How good is this candidate? Trained on pairs (x,y). Wrong off the data, and exploited by whatever searches it — so Lecture 5 gave it grounds for trust: conservatism, uncertainty, knowledge.
The generator — this lecture
Which candidates should we look at? Trained on designs x (sometimes with y). It offers plausibility, diversity and coordinates — but alone it only samples designs like the data, mediocre ones included.
A generator is not an optimiser: every generative optimiser needs a performance signal — the dataset's labels or a performance model. Where can it enter? Four places, G1–G4 — taken up after the tools:
G1 · coordinatessearch a code, then decode
G2 · distributionrefit the generator toward good designs
Lecture 5 learned f^:x↦y and searched it. A score-conditioned inverse model — one of this lecture's four routes — learns the other direction. What makes that harder than it sounds?
Many different designs can score the same y. A model trained to regress x from y under a squared loss returns the average of those designs — very often not a valid design at all. That is why the answer has to be a generative model that samples, rather than a regressor that predicts.
Q2. Before steering a generator toward good designs, you need one that produces designs at all — and a way to say how close two distributions are.
ACT 2Generative models, compressedLecture 6
Comparing two distributions — the KL divergence
Q1 What do surrogates leave?Q2 How do we model designs?Q3 Coordinates or distribution?Q4 Condition or sampler?
DKL(a∥b)=Ex∼a[logb(x)a(x)]≥0,=0 only when a=b.
Press → twice: average with the data's eyes, then with the model's.
This lecture uses both directions: fitting a model averages over the data — cover the data; keeping a search near the generator averages over the search — stay where the generator lives.
Not met before in this course. It is finite only if b>0 wherever a>0 — the widget's last step. Fitting: DKL(pdata∥pθ) (next slide) and CbAS's fit. Staying near: DKL(q∥pgen), the tilt of Session 2. The VAE's code term, DKL(qϕ(z∣x)∥p(z)), is the second direction applied to codes. KL is not a distance: it is not symmetric and has no triangle inequality.
The first term of the KL does not depend on θ: fitting a generative model is maximum likelihood — Lecture 2's principle, for a model whose likelihood has no closed form.
What is learned is where plausible designs concentrate — not a feasibility certificate. A learned density puts low, not zero, probability away from the data, and like Lecture 5's surrogate it is unconstrained where there is no data (Backup 4). Known constraints still need a check, or a decoder that enforces them.
Source alignment: Part 1 pp. 6–10 (generative models, the KL-to-likelihood step, the latent-variable model). Four families do this — VAEs, GANs, flows, diffusion (Backup 2); design methods mostly build on two.
VAE — encode, decode, and an objective with two terms
Assert that designs come from a few simple hidden factors: p(x)=∫pθ(x∣z)p(z)dz, z∼N(0,I). A decoder pθ(x∣z) produces the design; an encoder qϕ(z∣x) approximates the posterior pθ(z∣x) — Lecture 3's hidden-state inference, done by a network.
L(x)=reconstruct the designEqϕ(z∣x)[logpθ(x∣z)]−keep codes near the priorDKL(qϕ(z∣x)∥p(z))
Generating
Draw z∼N(0,I), decode. No data, no optimiser. The reparameterisation z=μϕ+σϕ⊙ϵ lets gradients through the sample.
Which prior?
p(z) is a prior over codes, not Lecture 2's prior over parameters: the network's weights are point estimates, and drawing z does not express uncertainty about them.
The KL term makes the latent space samplable: codes from the prior decode to plausible designs. The latent space is a coordinate system for designs — G1 will search in it.
The standard ELBO has weight 1 on the KL; the β-VAE of the next slide changes that weight and is a different objective. The bound and the reparameterisation are derived in Backup 1; a one-coordinate ELBO calculation is in the appendix. Source alignment: Part 1 pp. 11–13.
An exactly solvable VAE with a weight β on the KL term. Each dot is a design's code, each halo its blur, the ring the prior. At β=1 the codes fill the prior exactly; below it they spill outside, above it they collapse to a dot.
Spread plus blur sum to exactly 1.000 at β=1, 1.565 at β=0.05 and 0.930 at β=20 (Backup 1 has the formula).
Diffusion — learn the noise, then remove it step by stepHo, Jain & Abbeel · NeurIPS 2020
A VAE stacked T times, with the encoder fixed to a Gaussian noising process and the latent the size of the data — so training needs no inference network.
Train — corrupt once, predict the noise
xt=αˉtx0+1−αˉtϵ,Lsimple=Eϵ−ϵθ(xt,t)2
Draw a clean design, corrupt it by a known amount, and predict the noise that was added — a supervised problem at every noise level.
Generate — start from noise, denoise
xt−1=αt1(xt−1−αˉtβtϵθ(xt,t))+σtz
Start from xT∼N(0,I), not from a training design; each step is a small denoising step.
Denoising steps are steps of the algorithm, not physical time — and each one is a place where the sampler could be steered: Session 2 shows two ways.
αt=1−βt, αˉt=∏j≤tαj, z∼N(0,I) at stochastic steps and none at the last. The full variational derivation and its weights are Backups 2b and 3; a one-number training step is in Backup 3. Source alignment: Part 1 pp. 15–22, 47–63.
In a β-VAE, you raise β, the weight on the KL term. What do you get?
The KL term pulls the codes toward the prior; the reconstruction term pulls them apart so that designs stay distinguishable. Raising β wins the first and loses the second: prior samples decode to plausible designs, but detail is lost. It is the same trade as Lecture 5's conservatism dial — fidelity to the data against freedom to generate.
Q3. A generator and a performance model are on the table. Where does the performance signal get in?
ACT 3Coordinates and distributionLecture 6
Four places to intervene
Q1 What do surrogates leave?Q2 How do we model designs?Q3 Coordinates or distribution?Q4 Condition or sampler?
where the performance signal enters
what changes
in depth
where Lecture 5's failure can re-enter
G1 · coordinates
the search over codes
search a code z; decode x=g(z)
latent search (2018)
the predictor on codes is a surrogate
G2 · distribution
the generator's parameters
refit p(x) toward predicted success
CbAS (2019)
the refit follows the success model's errors
G3 · condition
the generator's input
ask p(x∣y) for a high y
MINs (2020), DDOM (2023)
a requested y beyond the data
G4 · sampler
the sampling process
performance information moves the sample (a gradient) or sets the guidance strength
classifier guidance (2021), RGD (2024)
the sampler follows the performance model where it is wrong
Intervention points, not rival classes: a method can use several. For each, ask what it assumes, what it solves, what it leaves — and wherever a surrogate enters, Lecture 5's three streams still apply.
G1 — search in learned coordinatesGómez-Bombarelli et al. · ACS Central Science 2018
Lecture 4 met this paper as BO in a learned space. A VAE turns molecules (SMILES strings) into continuous codes, with a property predictor trained on the codes; search the codes — by gradient steps or Bayesian optimisation — and decode the best.
The search becomes low-dimensional and continuous, and every point it visits decodes to something. Whether that something is valid, and whether the predictor is right about it, are two separate bets.
Encode, predict, optimise in the latent space, decode. (Gómez-Bombarelli et al., 2018)
Lecture 4 used it for its dimension reduction: a 196-dimensional latent space for ZINC molecules, searched with a GP. Here the point is validity: the coordinates were learned from valid molecules. About 74% of random latent points decode to a valid molecule (Lecture 4, from the paper's Table 4).
One 2-D design problem whose valid designs form a thin curve. Press → twice: climb the surrogate in the plane, then search the code. The decoder here is the curve itself, known exactly — a teaching device; a learned decoder is only approximately valid.
Numbers behind the picture: ascent on the quadratic surrogate f^(x) (data RMSE 0.065) leaves the curve within two steps and reaches the corner, where f^ promises 4.97. The latent surrogate f^(t) picks t=2.8: f^=1.88, truth 0.39; the true best is 2.40 at t=1.8, beyond the last measured code (t≈1.05). Lecture 5's B, now on a valid design.
Move the distribution, not a point. With the generator as the prior and a success model as the likelihood — S: "meets the requested performance" — Bayes' rule gives the designs we want:
p(x∣S)=∑x′P(S∣x′)p(x′)P(S∣x)p(x)
The prior keeps it plausible
Designs the generator finds implausible keep little mass, however promising the success model says they are.
The success model is Lecture 5's
Offline, P(S∣x) is a prediction — e.g. P(y^≥γ∣x) from a surrogate. Its errors are inside the target; a pessimistic one (μ−κσ) gives a pessimistic target.
Lecture 3 conditioned a fixed model on observed evidence. Here the "evidence" is a requested outcome, judged by a model — the target is only as good as the success model.
Temperature thread — condition a distribution over heater designsshared teaching example · predict before revealing
Lecture 0's heater as a discrete design: which of two heaters to switch on, instead of how much command to apply. Exactly one may be on.
Predict: After conditioning on success, which design becomes more likely — and is the average of the two a valid design?
The left heater: conditioning multiplies the prior by the success probability. And no — the average turns both heaters half on. Press → to see both.
Numbers behind the picture: prior (0.5,0.5), P(S∣L)=0.8, P(S∣R)=0.2; products (0.4,0.1), so P(L∣S)=0.8, P(R∣S)=0.2. The average (0.5,0.5) activates both heaters and breaks the design rule.
Try it — the generator now prefers the right heaterwork independently · reveal only after deciding
The same success model; the generator now proposes the right heater four times as often.
Which design is more likely after conditioning on success?
Check your answer. Neither — the two pulls cancel, half and half. What you sample is set by the prior and the success model together, and every draw is still L or R, never their average. Press → to see it.
Numbers behind the picture: prior (0.2,0.8); products (0.2×0.8,0.8×0.2)=(0.16,0.16), so the conditional is (0.5,0.5).
CbAS — fit a generator to the conditionalConditioning by Adaptive Sampling · Brookes, Park & Listgarten · ICML 2019
The target, with the trained generator p(x∣θ(0)) as the prior, cannot be sampled directly — so fit a second generator q(x∣ϕ) to it, averaging over the target (cover it):
Weighted maximum likelihood: draw designs from the generator, weight each by how likely it is predicted to succeed, refit. Any generative model can be trained this way, and q need not be of the prior's form.
H0=−Ep(x∣S,θ(0))[logp(x∣S,θ(0))] is constant in ϕ. Source alignment: Part 2 pp. 9–11.
Why one shot fails — Lecture 3's rare cause, again
Draw from the prior and weight by P(S∣x): success is exceedingly rare, so almost every weight is near zero — Lecture 3's likelihood weighting with a rare cause, where almost no draw lands where the evidence points.
Sample from last round's model
Use the previous fit as the proposal, r(t)=q(x∣ϕ(t−1)), and correct with the importance ratio:
wi=q(xi∣ϕ(t−1))p(xi∣θ(0))P(S(t)∣xi)
Raise the bar gradually
(A) each relaxed condition S(t) is met often enough under the current proposal;
(B)S(t)⊃S(t+1)⊃S — the bar only rises, and reaches the target.
A hard conditional query, replaced by a sequence of easy ones. Unlike Lecture 3, the model is not fixed: the proposal and the condition both move.
The source sets S(t) to y≥γ(t) with γ(t) the Q-th percentile of the oracle's predictions on the current samples, capped at the target. The ratio corrects the change of proposal; it is not a validity check, and it fails if the proposal misses part of the target. Source alignment: Part 2 pp. 12–15.
Press → to ask for the target in one shot, then to climb. Here q is a Gaussian refit by weighted maximum likelihood — the pattern Lecture 4's CMA-ES also follows: sample, weight the good candidates, refit the distribution.
Target 2.65: one shot keeps 70 effective draws of 4,000; the ladder's worst round keeps 27%; the final design is worth 2.647 against the dataset's best 2.523 (true optimum 2.657). Lecture 5's objective, with 200 designs.
What CbAS does on a real design problemprotein fluorescence, 5,000 measured sequences · Brookes et al., 2019
Each round, dashed: the oracle's 80th percentile of the samples; solid: their true mean.
Methods that chase the oracle — RWR, DbAS, and CEM-PI, a distribution search like Lecture 4's — climb on the dashed line while the solid line falls: they have found where the oracle is wrong. CbAS keeps the two together.
Lecture 5's failure, now in a distribution: a generator refit to a surrogate's favourites drifts to where the surrogate is wrong, unless the prior holds it. The ratio p/q is that hold — a partial one.
80th percentile of oracle predictions (dashed) and mean ground truth of the same samples (solid). (Brookes et al., 2019, Fig. 2b)
The paper's caption: high dashed and low solid values mark methods "led astray into pathological regions of the oracle". DbAS is CbAS without the prior ratio. Source alignment: Part 2 p. 16.
Build a design step by step — an atom, a fragment, a residue — and train the steps so that a finished design is drawn in proportion to its reward, P(x)∝R(x): a flow-consistency loss, not a refit to weighted samples.
It needs reward calls: online if they query the real objective; offline, a proxy — Lecture 5's surrogate. Our lab's Genetic-guided GFlowNets (NeurIPS 2024) adds a genetic search under a small budget of real oracle calls — online.
Train pθ(x∣y) with weights by rank of y; sample at a high y†, let a proxy label the samples, add the top K, retrain; pool several such generators.
G2 — it refits the training distribution toward its own best samples, as CbAS does — and G3 — it is conditioned on y. The added samples are proxy-labelled synthetic samples — no new performance measurements.
Both shift probability toward good designs, by objectives different from CbAS's — and both rely on a proxy wherever the real objective is not called.
Source alignment: Part 2 pp. 35–41 (BootGen). Rank weights w∝(k∣D∣+rank(y,D))−1; the loop figure, Algorithm 1 and the results table are on the appendix slides.
A latent-space search returns a code whose decoded molecule is chemically invalid; the property predictor rates it the best ever seen. Before any evaluation, what has been established?
Invalidity is observed directly: the decoder left the valid set — a problem of the coordinates, which JT-VAE addresses by construction. The predicted value is not a measurement: for an invalid design the property is not even defined, and for valid ones the predictor's reliability is Lecture 5's question, settled only by evaluating designs. CbAS keeps samples where the prior has mass, which helps, but a learned prior has tails: nothing here guarantees validity.
Session 1 — what generation fixed, and what it left
Mitigated
Plausibility and diversity: candidates come from a model of plausible designs. G1 searched its coordinates; G2 moved its distribution toward predicted success.
Left
the performance signal still comes from a surrogate, exploited by the search (G1) or the refit (G2);
G2 needed a bar γ, a success model and many refits.
Session 2 moves the signal closer to the generator: ask for the performance directly (G3), or use it to steer the sampling process (G4) — and a KL-regularised view connects several of them.
Q4. Instead of refitting the generator, tell it what you want — or steer it at every step.
ACT 4Condition and samplerLecture 6
Session 2 — which distribution is this?
Q1 What do surrogates leave?Q2 How do we model designs?Q3 Coordinates or distribution?Q4 Condition or sampler?
distribution
the question it answers
where we met it
pθ(x)
which designs to propose
Session 1: the generator
pθ(x∣y)
which designs for a requested y
today: G3
f^(x), P(S∣x), μ±κσ
how good a design is predicted to be
Lecture 5: the performance model
p(z)
how to draw a code
the VAE's latent prior
p(w∣D)
which model weights are credible, given the data — a Bayesian posterior
Lecture 2
ensemble disagreement
how much independently trained models differ — a non-Bayesian uncertainty signal
Lecture 5 (Deep Ensembles)
The diversity of pθ(x) is not uncertainty about performance, and a requested y is not a measured y. Today: the condition (G3), the sampler (G4), and a KL-regularised view of both.
Feed the condition y into both networks. Trained on street-number photographs, each row is the digit asked for and each column a style: the condition fixed, the rest of the freedom sampled.
And the source says the quiet part: y can be the desired property, and x the corresponding design — with the warning that a requested y is not a measured one.
Samples from a CVAE trained on SVHN: row = requested digit. (source deck, Part 1 p. 14)
G3 — ask the inverse map for a scoreModel Inversion Networks · Kumar & Levine · NeurIPS 2020
Training — which y to learn on?
Accuracy at high y matters most, but the best few points alone are too noisy. So reweight:
wi=pD(yi)p(yi),p(y)∝Ny+KNyey−y∗
Up-weight high scores — provided enough data share that score.
Querying — how far past the data to ask?
An optimisation over (y,z): the largest y that an independently trained forward model still confirms:
y~,z~=y,zargmaxfθ(fθ−1(y,z))
s.t.y−fθ(fθ−1(y,z))2≤ϵ1,p(z)≥ϵ2
Even the inverse route keeps a forward model — as a consistency check on how far to ask, Lecture 1's trust region in a new costume.
Ny is the number of points with score y; y∗ the best score in D. The weight comes from a bias–variance bound (Backup 5). Source alignment: Part 2 pp. 17–24.
An inverse map returns designs; the forward map's arg-max did not
"The thickest 3 that is still recognisable": MIN and its ablations (left) against the forward map's arg-max (F), and the scores. (Kumar & Levine, 2020)
On two of these tasks the forward map's answer is not a wrong design but no design at all — an array of pixels that is not a digit. Lecture 5's failure, reported as a table entry: Invalid.
Source alignment: Part 2 pp. 25–28; the full table, including faces and controllers, is the appendix slide "What MINs does on real design problems".
The same two hundred designs and oracle, driven by the bar γ alone. Raise it and the samples move toward the good region, then thin out and decay. The red marker is Lecture 5's answer on the identical problem.
A requested score beyond the data is extrapolation moved from x to y. An exact conditional puts no mass where the prior has none; learned generators have tails, so over-asking still produces poor or invalid designs.
Mean true value of the samples: 2.13 at γ=2.00, 2.550 at 2.65 (best, above the dataset's 2.523), then 2.537, 2.427, 2.163 at 2.80, 3.00, 3.80 — while the effective sample count falls from 3,750 to 1.5. Gradient ascent on the same oracle returns a design it rates 4.18 and the world rates −0.14.
Classifier-free guidance — push a conditional model toward its conditionHo & Salimans · NeurIPS 2021 workshop
Train one diffusion model with the condition and without it — drop y at random — and combine its two noise predictions at sampling:
ϵ^=(1+w)ϵθ(xt,t,y)−wϵθ(xt,t)
What it amounts to
Adding (1+w)∇logpt(y∣xt) for an implicit classifier, p(y∣x)∝p(x∣y)/p(x). The strength w trades diversity for agreement with the condition.
Why it is G3, not G4
There is no separate model of performance: the only signal is the labels the model was trained on. Its risk is G3's — asking for a y the data cannot vouch for.
The derivation is the appendix slide "Backup — guidance, with and without a classifier". Classifier guidance — the G4 form — comes after the tilt.
DDOM — a diffusion model as the inverse mapKrishnamoorthy, Mashkaria & Grover · ICML 2023
ReweightMINs' weights: favour high scores with enough support
Traina conditional diffusion model of x given y, dropping y at random
Generatecondition on the dataset's best y, with strong classifier-free guidance
A three-mode toy problem: the reverse trajectory splits into all three modes; the samples' mean value climbs to the optimum. (Krishnamoorthy et al., 2023)
The one-to-many inverse, represented properly, and no surrogate anywhere. It asks only for the best label it has seen — whether samples exceed it is for the evaluation to say.
Source alignment: Part 2 pp. 30–34. Benchmark numbers (rank 2.8 against COMs' 3.7 on six Design-Bench tasks) are on the appendix slide.
GTG — ask for an improvement, not a pointYun, Yun, Lee & Park · NeurIPS 2024 · our lab
Buildsynthetic trajectories through the data toward higher scores, with a locality bias
Traina diffusion model that generates whole trajectories, conditioned on their score
Sampleclassifier-free guidance toward a high score, with a context taken from the data filled in; a proxy keeps the best final designs
The condition
A trajectory carries a direction — from where the data are toward where they are not. Its steps are steps of improvement, not time and not denoising steps.
The proxy
It only filters the final candidates; it never steers the sampler. Still G3.
From the paper: the model is trained on logpθ(τ∣y(τ)) with y(τ) the sum of the trajectory's scores; at sampling, "inpainting the C context data points of the trajectory with τctx, a subtrajectory sampled from Dtraj", with guidance weight ω=1.2; "we select top-Q samples in terms of the predicted score from the proxy".
Traina conditional diffusion model of layouts, with a graph-network denoiser
Sampleat high annual energy production, for the wind scenario at hand
Repairlocal search fixes layouts that break the site's constraints
Evaluatescore the new layouts
G3 on a real design problem — with Lecture 4's loop closed: every round is measured and added to the data. Not strictly offline: the condition asks, the evaluation answers.
The generator generalises to the score you ask for — usually the best in the data, or beyond it.
What it solves
Many modes and diverse candidates from one model. MINs searches over (y,z) through the generator and a forward model; DDOM generates without a separate forward surrogate.
What it leaves
Asking past the data is extrapolation in y. MINs bounds it with a forward model and an optimisation over (y,z); DDOM asks only for the best label seen; the wind-farm loop measures every round.
Derivation.Eq[f^]−β1DKL(q∥p)=β1Eq[logqpeβf^]=β1[logZβ−DKL(q∥q⋆)], largest — uniquely — at q=q⋆. ■
The two ends of β
β→0: q⋆ is the generator itself. As β grows, q⋆ concentrates — under suitable conditions — near the maximisers of f^ on the generator's support. That is a statement about the target distribution, not about what a search algorithm returns.
What it regularises
Where we search, not what we believe: Lecture 5's COMs changed the predictor; this KL limits how far the candidate distribution moves from the generator.
For this optimisation problem the exponential tilt is the exact optimum. Next: which methods it helps to read — and which it does not.
its target is exactly q⋆ with f^=logP(S∣x) and β=1 — fitted with the other KL direction
guidance (G3, G4)
each noise level's score is that of a tilted pt; the full run need not sample the final tilted distribution, even with exact scores
DiBO (ICML 2025, our lab)
p⋅eβUCB, sampled by a fine-tuned diffusion model — online, Lecture 4
MINs, GFlowNet, BootGen
not this problem: a constrained query over (y,z); a reward-proportional sampler with no generator prior; rank weights and bootstrapping
A useful lens for some methods, not a common objective for all. And deriving q⋆ exactly does not mean a sampler draws from it exactly. Tilting by a conservative or pessimistic estimate combines this view with Lecture 5.
Lecture 5's fifteen designs and hidden f; the generator is a smoothed copy of the data with a thin tail. Drag β; press → to tilt by Lecture 5's pessimistic μ−2σ instead.
The KL is an average, not a leash: it does not bound how far any one design moves. Where the generator has a thin tail and the estimate is wrong, a hard tilt moves the mass there.
By the surrogate: average true value 1.52 at β=0 (the data's average), 1.90 at β=2, 1.49 at β=3 when the mode jumps to x=10, 0.15 at β=5. By μ−2σ: 2.00 at β=2 and 2.43 at β=8 — the best design in the data — with under 1% of the mass past x=6 at every β; the price is that it cannot go past the data either. The generator: a Gaussian kernel density of the designs (bandwidth 0.5) with 0.5% of its mass spread uniformly.
G4 — use performance information to steer the samplerclassifier guidance · Dhariwal & Nichol · NeurIPS 2021
Classifier guidance — Bayes' rule for density scores (gradients of log-densities, not performance scores), with a classifier pϕ trained on noisy inputs and its term scaled by s:
A score at each noise level — not a guarantee that the whole denoising run samples the final tilted distribution.
This direct form is gradient ascent on the surrogate, interleaved with denoising — Lecture 5's optimiser inside the sampler. RGD, later, is G4's other form: the proxy sets only the guidance strength.
Classifier guidance on one class, scale 1 (left) and 10 (right). (Dhariwal & Nichol, 2021)
Source alignment: Part 1 pp. 38–39 (controllable generation; the paper's Figure 3, FID 33.0 at scale 1 and 12.0 at scale 10). The surrogate f^t must be trained on noisy designs xt. Defining qt directly avoids treating ef^ as a normalised p(y∣x). Even with exact scores, the guided run need not sample the final tilted distribution (Bradley & Nakkiran, 2024). G4 in general: performance information modifies the sampling process — by a gradient on the sample (classifier or energy guidance) or by setting the guidance strength (RGD).
The thin-curve problem of Session 1, now sampled with direct guidance. Drag s: on the valid samples prediction and truth stay close — the failure here is validity: the surrogate's gradient off the curve, where it has no data, pulls samples out.
Numbers behind the picture (150 samples; averages over the valid samples only, predicted / true): s=0: 87% valid, 0.68/0.68 — the data's; s=1: 83%, 0.91/0.90; s=1.5: 74%, 0.97/0.96; s=2: 63%, 1.00/0.99; s=3: 37%, 0.95/0.98; s=4: 19%, 0.83/0.98. In this example the surrogate is accurate on the curve near the data; what grows with s is the share of samples that are not designs. The sampler stands in for a diffusion model: annealed Langevin dynamics on a kernel density of the data, whose noise-conditional score is exact, plus s∇f^.
RGD — give the proxy one knobRobust Guided Diffusion · Chen, Beckham, Liu, Liu & Pal · TMLR 2024
Proxy-enhanced sampling
Sample with classifier-free guidance — no proxy gradient on x — and let the proxy choose only the guidance strengthω, adjusted so the denoised sample scores higher.
Diffusion-based proxy refinement
Refine the proxy toward the diffusion model's own p(y∣x), so that the proxy and the generator agree where the proxy would otherwise over-promise.
G4's second mechanism. Lecture 5 says the proxy is unreliable off the data; RGD shrinks what it controls — one scalar per step instead of every coordinate of x — and corrects it with the generator. That reduces the exposure; it does not make the proxy right.
The strength update is the paper's Eq. 8: ω is optimised by gradient ascent on the proxy's score of the predicted clean sample. It builds on proxy-free conditional diffusion of the DDOM kind. RGD reports state-of-the-art results across Design-Bench tasks.
Protein sequences have no gradient in x, so NOS guides the denoiser's continuous hidden states. LaMBO-2 uses it inside a Bayesian-optimisation procedure with laboratory rounds — an application, not offline MBO.
Road-network layouts (Yun et al., WSDM 2026 · our lab)
A city's road layout is a discrete structure; a guided discrete diffusion model generates layouts for a given traffic pattern.
G4 travels to sequences and graphs: the same intervention point, wherever there is a continuous place to put the gradient.
The performance information is right where the sampler goes — a gradient at every noise level, or a proxy's ranking for the strength.
What it solves
One trained generator, any objective at sampling time, and a dial for how hard to push.
What it leaves
Exploitation and invalid samples that grow with the strength. Limiting the proxy (RGD) or guiding by a pessimistic estimate (Lecture 5) can reduce the exposure; neither removes it, and both depend on their own estimates.
DDOM samples a conditional diffusion model with classifier-free guidance at the dataset's best score. RGD lets a proxy choose the guidance strength. Which statement is right?
Classifier-free guidance strengthens a condition the model learned from labels — a G3 intervention. G4 means a separate model of performance steers the sampler; RGD lets the proxy set only the strength ω, far less than a gradient on every coordinate of x. DDOM's samples still need evaluation: strong guidance toward the best label it has seen can still leave the data.
Performance, validity, reliability — the two lectures together
Lecture 5 closed on these three questions; here is where each lecture stands.
Performance
Is the design good? — the objective, in both lectures
Validity
Is it possible at all? — this lecture: plausibility from the generator; feasibility from a decoder that enforces it, or a check
Reliability
Can the prediction be trusted? — Lecture 5: conservatism, uncertainty, knowledge — wherever a surrogate enters
Generate to stay plausible, score with care, measure to settle: a generator proposes, a conservative or uncertainty-aware model ranks, and only an evaluation decides. Two settings: BootGen selects with a proxy and is evaluated afterwards; the wind-farm loop adds evaluations to the data while it optimises.
Diffusion Policy — generate a sequence of actionsChi et al. · RSS 2023 · from design generation to robot behaviour
Replace a static design with an action sequence, conditioned on the robot's recent observations; train on demonstrations with the diffusion noise-prediction loss. Execute a few actions, observe again, generate anew.
The observation-conditioned generate-and-execute loop. Denoising steps happen inside one decision; they are not physical time steps.
A sequence keeps different demonstrated ways around an obstacle as different modes. This is imitation, not reward-based RL: the objective is the demonstrator's actions. Executing a little and re-planning anticipates feedback and MPC (Lectures 9–11). Paper
Where we are — a performance model and a generator
Lecture 5
Lecture 6
the model
a performance model f^(x)
a generator p(x) or p(x∣y), plus a performance model
the decision
search f^ — carefully
search, refit, condition or steer the generator
what it secures
grounds for trusting a prediction
plausible, diverse candidates
A model of how good — value
Lectures 7–8 learn how good each decision is, Q(s,a), and act by maximising it — and meet Lecture 5's hazard: the policy exploits Q where Q is wrong.
A model of what to propose — policy
Lecture 10 learns a distribution over actions, πθ(a∣s), and samples it. A comparison worth keeping, not the same algorithm: the two are usually trained together.
So far: static design choices, experiments that buy information, and inference over time (Lectures 3–4). From Lecture 7 on, the current action changes the next state and the future reward — and the decision is optimised over that sequence.
A generator decides where to look; a performance model decides what to trust.
The signal can enter at four places — and wherever a surrogate enters, Lecture 5 comes with it. A measurement still has the last word.
Questions?
Two things to carry out of here. A generator buys plausibility, not evidence — the performance signal still has to be trusted, as in Lecture 5. And ask where the signal enters — coordinates, distribution, condition or sampler — because that is where it can be exploited.
APPENDIX
Backup slides
Complete derivations and reported numbers, kept out of the narrative.
APPENDIXBackup slidesLecture 6
Reading guide — Session 1 papers: generative models and G1
The KL is non-negative, so the ELBO is a lower bound — not generally the exact evidence; it is tight only when qϕ equals the true posterior. Expanding pθ(x,z)=pθ(x∣z)p(z) gives the working form
Reparameterisation. Write z=μϕ(x)+σϕ(x)⊙ϵ with ϵ∼N(0,I): the randomness moves off the parameters and the gradient flows.
Why the KL term is the samplability term. With a linear-Gaussian decoder the β-optimal encoder is μ=(W⊤W+βσ2I)−1W⊤(x−b) and Σ=βσ2(W⊤W+βσ2I)−1. Along an eigendirection of W⊤W with eigenvalue w the aggregate posterior variance is Var(μ)+Σ=(w2+σ2w+βσ2w+β2σ4)/(w+βσ2)2, whose difference from 1 is σ2w(1−β)/(w+βσ2)2 — zero at β=1. The Turning the dial widget is that formula, plotted.
Any of the four can serve as the prior p(x) of a generative design pipeline. The training objective of an inverse map can likewise be any divergence: Lp(D)=Ey∼p(y)[Div(pD(x∣y),pfθ−1(x∣y))] — KL gives maximum likelihood, JS a GAN objective (Part 2 p. 21).
Why Gaussian. The kernel is chosen so that q(xt∣x0) and q(xt−1∣xt,x0) have closed forms and q(xT∣x0) forgets x0. With q(xt∣xt−1)=N(1−βtxt−1,βtI), αt=1−βt and αˉt=∏i≤tαi:
Dropping the weight — which the authors found works better — gives Lsimple=Et,x0,ϵ[∥ϵ−ϵθ(αˉtx0+1−αˉtϵ,t)∥2], a reweighted objective rather than the exact bound.
One training step, in numbers.x0=2, αˉt=0.64, ϵ=1 give xt=0.8(2)+0.6(1)=2.2; predicting ϵ^=0.5 costs (1−0.5)2=0.25. (Ho, Jain & Abbeel, 2020)
Backup 4 — score matching, Langevin dynamics, and the SDE that unifies them
The estimator. Fit sθ(x)≈∇xlogp(x) by the Fisher divergence, computable as Ep[tr(∇xsθ)+21∥sθ∥2](Hyvärinen, 2005) or in the denoising form 21Eqσ(x~∣x)p(x)[∥∇x~logqσ(x~∣x)−sθ(x~)∥2](Vincent, 2011). For an energy model the partition function drops out of the score: ∇xlogpθ(x)=−∇xεθ(x).
The blind spot. The Fisher divergence weights the error by the data density, Ep(x)∥∇xlogp(x)−sθ(x)∥2=∫p(x)∥⋅∥2dx, so the score is learned badly where data is thin — a learned object is unconstrained where there is no evidence, as Lecture 5's surrogate was. Its cure. Train on data perturbed at L noise scales, pσi(x)=∫p(y)N(x;y,σi2I)dy, with a noise-conditional model sθ(x,i) and loss ∑iσi2Epσi∥∇logpσi−sθ(x,i)∥2; sample by annealed Langevin dynamics, x~t=x~t−1+2ϵ∇xlogp(x~t−1)+ϵzt, for i=L,…,1.
The continuous limit. The perturbation becomes dx=f(x,t)dt+g(t)dw, whose reverse is
dx=[f(x,t)−g2(t)∇xlogpt(x)]dt+g(t)dwˉ
NCSN is the variance-exploding SDE; DDPM the variance-preserving one, dx=−21β(t)xdt+β(t)dw.
Train ϵθ(xt,t,y) and, by dropping y at random, ϵθ(xt,t). Since ϵθ≈−1−αˉt∇logpt, the guided prediction ϵ^=(1+w)ϵθ(xt,t,y)−wϵθ(xt,t) corresponds to the score
because p(y∣x)∝p(x∣y)/p(x). Classifier guidance adds s∇logpϕ(y∣xt) with a separately trained pϕ instead. In both, each noise level's guided score is the score of a tilted distribution, pt(x)pt(y∣x)strength — but the full sampler need not draw from the final tilted distribution, even with exact scores: Bradley & Nakkiran (2024, "Classifier-Free Guidance is a Predictor-Corrector") show that CFG with DDPM or DDIM does not generate the γ-powered distribution.
Backup — the inverse map, as the source motivates it
fθ:X→Y⟹fθ−1:Y→X
The forward model answers "given x, what is y?". We wanted "given the y I need, which x delivers it?" — a map whose input is one number.
What the reversal fixes
The inverse map is not asked to search X; it is asked to emit a point of it.
What it does not fix
The output is still high-dimensional and still confined to a thin valid set. Reversing the arrow moves the difficulty; it does not remove it.
Source alignment: Part 2 p. 18 (MINs' motivation): "we can exploit various techniques from deep generative models to model high-dimensional data distribution" — the inverse map's output head has to be a generative model.
Train.Lp(D)=Ey∼p(y)[Div(pD(x∣y),pfθ−1(x∣y))], reweighted by wi=p(y)/pD(y), p(y)∝Ny+KNyey−y∗.
The weight comes from a bias–variance bound with three terms: variance from thin dataEy[1/Ny], distribution shiftd2(p∥pD)/∣D∣, and bias from the targetDTV(p∗,p)2.
Query.x=fθ−1(z,ytarget), with ytarget from Approx-Infer. Ablation on CIFAR-10 (uniform): MIN 77.12, without Approx-Infer 76.31, without reweighting 74.87 — both components matter.
CbAS — the adaptive ladder
θ⁰ ← fit the prior p(x|θ⁰) to D
q ← p(·|θ⁰)
repeat:
x₁..x_M ~ q ← propose
γ ← min(target, Q-th pct of
f̂(x₁..x_M)) ← relax
wᵢ ← p(xᵢ|θ⁰)/q(xᵢ) · P(y≥γ|xᵢ)
q ← weighted MLE on {xᵢ, wᵢ} ← refit
The ratio uses the previous iterate as the proposal; finite variance additionally needs the proposal to cover the target. γ rises only as fast as the model can follow — condition (B).
The subtlety both share. Querying above the observed range is extrapolation — Lecture 5's hazard, moved from x into y. Practical systems temper ytarget and re-rank samples with a (conservative) forward model: generate to stay valid, score to select.
What MINs does on real design problemsMINs, three task families · note the forward-map column
task
dimension
dataset avg
dataset best
forward map
MIN
MNIST, thickest recognisable "3"
1,024
149.0
265.0
Invalid
276.3
MNIST, variant (b)
1,024
149.0
163.0
Invalid
234.3
Faces, youngest (≥15)
12,288
38.7
−15.0
Invalid
−12.2
Faces, youngest (≥25)
12,288
41.5
−25.0
Invalid
−23.9
HopperController reward
3,843
442.9
1915.5
93.1
1960.1
Pendulum reward
1,537
14.7
344.5
3.4
1000.0
The forward map is Lecture 5's naive route: on four of six tasks its answer is not a design at all; on Hopper it scores 93 where the dataset already held 1915. MIN beats the dataset's best on five of six. (Kumar & Levine, 2020)
DDOM and BootGen — the reported numbersas the source deck reports them
DDOM (ICML 2023)
Reweighting ablation (normalised): D'Kitty 0.926→0.930, Ant 0.888→0.960, TFBind8 0.957→0.971 — improvements are task dependent.
Six Design-Bench tasks, budget 256: best mean rank 2.8, against COMs' 3.7 and gradient ascent's 3.5.
BootGen (NeurIPS 2023, our lab)
Six biological-sequence tasks, 100th percentile: average 0.895 against the dataset's 0.365 and the best baseline's 0.792 — with the highest diversity and novelty of the methods compared.
Benchmark results on the papers' tasks, not guarantees for a new dataset: every returned design still needs evaluation.
BootGen — generated labels do not become new measurementsrank weighting and iterative augmentation
Step A, rank-weighted training of a score-conditioned generator; Step B, bootstrapping: sample at a high score, label with a proxy, keep the top K, retrain. (Kim et al., 2023, Fig. 2.1)
Weights ∝[k∣D∣+rank(y,D)]−1, normalised: higher-ranked designs weigh more, and the scale of y does not matter.
The training pool grows without new oracle evaluations: it gains proxy-labelled synthetic samples, not new performance measurements, so proxy errors can be reinforced as the loop repeats. This is pseudo-labelling and augmentation — not resampling the data to build a bootstrap ensemble.