KRIGING-CONDITIONED RECONSTRUCTION — PRESENTER SCRIPT Bayes-Greedy Sensor Placement and Learned Residual Decoding for Sparse Flow Fields Bilal Zahid Hussain · Jian Tao · Texas A&M University How to use this --------------- - One block per section of the site, in scroll order, from basic to advanced. - [SCROLL] says where to be. [DO] is an action on screen. [NOTE] is for you, not the audience. Everything else is what to say. - A full walkthrough is about 35–40 minutes. For a 15-minute version, do only the sections marked (*). - Every number below is from the current draft (Sep 28). - Figures marked "computed live" run on a small SYNTHETIC channel-like field in the browser (40 × 15 grid, 320 training snapshots). The maths — kriging, the rank-one updates, the teacher, the variance rule — is exact; the data is a stand-in, not the DNS or ocean data. No neural network is trained in the browser. Say so when you use them. - The channel headline (38–50%) is under the benchmark's IN-SAMPLE protocol. Always pair it with the held-out result (section 12). The ocean result is held-out by construction. - The menu (top right, "Sections") jumps to any section. ===================================================================== HERO (*) ~1 min ===================================================================== [SCROLL] Top of the page. "This is Kriging-Conditioned Reconstruction, KCR. Reconstructing a flow field from a few sensors means two decisions: where the sensors go, and how to turn their readings into the whole field. Our observation is that kriging — the classical best linear estimate, computed from the measured covariance of past snapshots — answers the linear part of both in closed form. So we only use learning for what kriging misses. Four numbers. On the turbulent-channel benchmark we're 38 to 50% below the best published errors, under that benchmark's in-sample protocol. On the global ocean we're 18% below the best published model at 100 sensors, with the kriging decoder alone, on held-out weeks. A learned adaptive placer changed the error by less than 2% against our closed-form rule. And 30 sensors see only half a percent of the channel grid." ===================================================================== 00 — START HERE (*) ~2 min ===================================================================== [SCROLL] The six picture cards. "Six ideas. A field has a value everywhere — here, velocity in a turbulent channel, or the ocean's surface temperature. A sensor reads it at one point. A decoder fills in the rest, and the relative error is the score. Where the sensors go bounds how good the guess can be. Idea five: kriging gives the best linear guess from any layout and how unsure it is everywhere — put the next sensor where the most uncertainty goes away. Idea six: a network sees kriging's guess and its uncertainty and adds only the correction kriging can't make." ===================================================================== 01 — TWO DECISIONS (*) ~2 min ===================================================================== [SCROLL] The three panels. "The true field; what 30 sensors give you — 30 numbers; and kriging's best linear guess back. The large streaks come back; the fine detail is smoothed away. These maps are a synthetic stand-in computed live." [SCROLL] The three cards. "Recent work learns both decisions. The strongest, PhySense, optimises the layout by gradient descent through its flow-matching decoder. That makes both decisions expensive, has the model rediscover the field's linear correlation from data, and ties the layout to one decoder. And whether adaptive placement — choosing each sensor from the previous readings — helps had not been measured on these benchmarks." [DO] In "your turn", place a few sensors; point at the uncertainty map. "The right-hand map is the uncertainty that remains. It collapses around each sensor, and the KCR rule — computed once from the training snapshots — beats random layouts without ever looking at this field." ===================================================================== 02 — KRIGING (*) ~3 min ===================================================================== [SCROLL] Covariance explorer. [DO] Click near a wall, then mid-channel. "Kriging uses the empirical covariance Σ of the training snapshots. Click a point: its correlation with the rest stretches along the flow and is cut off at the walls. A hand- designed round kernel knows neither. Because Σ is measured rather than modelled, kriging handles anisotropy and walls for free." [SCROLL] Eq. (1). "µ_S = Σ_{:,S} (Σ_SS + λI)⁻¹ y_S — the best linear estimate for fields with this covariance — and the posterior covariance R_S = Σ − Σ_{:,S}(Σ_SS + λI)⁻¹Σ_{S,:}, whose diagonal is the uncertainty σ². λ is a small nugget tuned on validation data." [SCROLL] The posterior demo. [DO] Add/remove sensors; try a big nugget. "Both maps come from one formula: the guess, and how far to trust it. σ is zero at a sensor and grows faster across the flow than along it." ===================================================================== 03 — ONE SENSOR AT A TIME ~2 min ===================================================================== [SCROLL] The rank-one demo. [DO] Pick a few candidates; "add it". "Adding a sensor doesn't need a new solve. The mean gains one shape, r_a times α — zero at the existing sensors — and the covariance loses r_a r_aᵀ / s_a. That's Eq. (2), from the Sherman–Morrison identity; the readout shows it matches solving from scratch to machine precision. A K-sensor layout costs O(KN²)." [SCROLL] The ocean card. "For the global ocean, N is 44,219 and a dense covariance is infeasible, so we use a low-rank form with 300 POD modes: every quantity is an N × m matrix and one step for all candidates costs O(Nm) instead of O(N²)." ===================================================================== 04 — THE CLAIRVOYANT TEACHER (*) ~2 min ===================================================================== [SCROLL] The three maps. [DO] Switch "sensors so far"; "new field". "If you knew the true field — and for training snapshots you do — the rank-one update gives the exact error drop of adding any candidate: Proposition 1. One product and one pass of column norms labels every grid point; we verified it against direct solves to 10⁻¹⁰. The middle map chases where this particular field is badly guessed. The right map needs no field at all. The rule that uses only readings and is optimal in expectation is the Bayes-greedy rule — pick the largest expected error drop given the readings." ===================================================================== 05 — THE GAUSSIAN LIMIT (*) ~3 min ===================================================================== [SCROLL] Proposition 2. "For a Gaussian field with λ → 0, that expectation has a closed form: ‖r_j‖² / (N s_j) — the total variance a sensor at j removes. It doesn't depend on the readings. So the Bayes-greedy rule is static: greedy reduction of the total posterior variance, which is A-optimal design. That is KCR's placement rule." [SCROLL] The Monte-Carlo demo. Let it run to ~800; then click "use readings from a different field". "Here we draw fields from the Gaussian model that agree with the readings, label each with the teacher, and average. The average converges onto the variance score — correlation near one. And with readings from a different field, the same random draws give the same averaged labels to machine precision: the readings cancel out." [SCROLL] The greedy slider. "And because each step extends the previous layout, one run gives nested layouts for every budget. No decoder, no gradient, no readings." ===================================================================== 06 — TESTING ADAPTIVITY ~3 min ===================================================================== "Real fields aren't Gaussian, so maybe a placer that reads the readings can do better. To test it, we distil the teacher into a student — clairvoyant gain distillation, CGD. The student regresses the teacher's exact gains over a shortlist, normalised by the remaining uncertainty v_t, because late gains are about 50× smaller than early ones. Lemma 1: if the histories come from an observation-only policy, the best regressor is the Bayes-expected gain. We write the student as the Gaussian score plus a learned correction Δθ with a zero- initialised output, so the untrained student is exactly the KCR rule. It's a set transformer over the selected sensors and the top-P candidates, trained with DAgger. We regress gains rather than copying the teacher's choice, because that choice exploits error the student can't see." ===================================================================== 07 — DOES ADAPTIVE PLACEMENT PAY? (*) ~3 min ===================================================================== [SCROLL] The four stat cards, then the bars. "No. On held-out channel frames the adaptive student is within 1.7% of the KCR layout and of QR pivots at every budget; the only significant difference is 1.7% at 100 sensors, p = 0.024, and nothing against QR. On the ocean it's 0.3 to 1.5% worse at 25–100 sensors and 1% better at 200." [SCROLL] Headroom chart. "The headroom is real for someone who can see the field: 8 to 11% within the shortlist and 25% on the full grid at 30 sensors. But it relies on the unobserved error, so it can't be predicted from readings. On the ocean, the greedy clairvoyant isn't even an upper bound past about 25 sensors — 0.324 against our 0.287 at 100 — because greedy gains ignore how a sensor constrains future ones." [SCROLL] Table 5. "Without the Gaussian term the student is 3–7% worse than the rule it should contain. The practical consequence is good news: the best layout is a closed-form, decoder-free rule computed once." ===================================================================== 08 — HOW TO DECODE (*) ~3 min ===================================================================== [SCROLL] The four input maps. [DO] Toggle KCR/random and the budget. "For decoding, the network gets four images: the kriging mean, the kriging standard deviation, the sensor mask, and the readings at the sensor pixels. It predicts a correction added to the kriging mean — Eq. (6). The orange map is what it must learn: truth minus kriging, zero at sensors and largest where σ is large. We don't train a network in the browser; these are exactly its inputs and target." [SCROLL] U-Net diagram. "A four-level U-Net, widths 64 to 512, 7.8M parameters. The output layer starts at zero, so the untrained decoder is kriging and every gradient step starts from the best linear reconstruction. The σ map is what generic decoders lack: it says where a correction is needed." ===================================================================== 09 — TRAINING THE DECODER ~2 min ===================================================================== [DO] "draw another" a few times. "One shared decoder is trained over randomised layouts: K uniform between 25 and 300, and each field gets a random layout 40% of the time, a KCR layout with up to 30% of sensors replaced 30%, and QR pivots 30%. Then, since installed sensors don't move, we fine-tune per budget on the KCR layout — layout specialisation. Shared training is 3 hours on one 24 GB GPU; each specialisation 1.2 to 1.5 hours. On frame 5000 at 30 sensors — a training frame — kriging scores 0.553, the shared decoder 0.289, the specialised decoder 0.106." ===================================================================== 10 — BENCHMARKS ~2 min ===================================================================== [DO] Toggle the channel timeline between in-sample and chronological. "Channel: 128 × 48 streamwise velocity from a Re_τ 180 DNS, 10,000 frames, PhySense's protocol at 30–200 sensors. That protocol fits on all frames and tests every 80th frame of the same set — so we also use a chronological split: train 0–7499, validate 7600–7999, test 119 frames from 8100–9999, with 100-frame gaps. Ocean: NOAA weekly SST 1990–2023, first 1,670 weeks train, last 57 test, 44,219 ocean points, exactly as in the released S-DEIM code. We reproduced one published row on each: SSPOR within its QR instability, and Q-DEIM exactly at 0.8108." ===================================================================== 11 — RESULTS (*) ~3 min ===================================================================== [SCROLL] Channel chart. [DO] Step through 30 / 50 / 100 / 200. "Under the channel protocol, the specialised decoder is lowest at every budget: 0.127, 0.097, 0.072 and 0.056 against PhySense-optimised at 0.216, 0.156, 0.126 and 0.111 — 41, 38, 43 and 50% lower. Kriging alone beats every published method except PhySense at 30 sensors but not the best ones at 100–200, so at high budgets it's the learned correction that wins." [SCROLL] Ocean chart. "On the ocean, KCR's layout with plain kriging reaches 0.287 at 100 sensors — 17.6% below S-DEIM + LSTM — from a single snapshot, where S-DEIM uses the sensor history. This split is chronological, so there's no in-sample caveat." ===================================================================== 12 — HELD-OUT EVALUATION (*) ~3 min ===================================================================== [SCROLL] Slope chart. [DO] Step through the budgets. "This is the honest part. On frames no model has seen, kriging barely moves — the linear stage generalises. The learned correction doesn't: the shared decoder improves on kriging by only 1.7 to 4.8%, against 1.7 to 2.8× in-sample. It's consistent — it wins on 91 to 117 of 119 frames, p below 10⁻¹¹ — but small. And specialisation makes held-out error 1 to 3% worse. The 2.6× in-sample gain from specialisation at 30 sensors is what memorisation looks like. Table 1 still follows the benchmark's own protocol, which PhySense's released code also uses. We read the channel margin as fitting the benchmark's frames more precisely, and the ocean margin as evidence of generalisation. A held-out comparison against PhySense needs it retrained on the chronological split; that's for the final version." ===================================================================== 13 — DECODER × LAYOUT ~2 min ===================================================================== [DO] Toggle the budget on the matrix. "Separating the two decisions: with kriging, the informed layouts — QR, CGD, KCR — are within 2% of each other and 19–30% better than random. The decoder axis is much bigger: at 30 sensors 0.548 → 0.330 → 0.127 in-sample. The decoder-aware layout, which optimises the trained decoder directly, is 10% worse at 30 sensors — it overfits the 64 frames it was chosen on, while the variance rule depends only on Σ." ===================================================================== 14 — DISCUSSION AND LIMITS (*) ~2 min ===================================================================== "Why conditioning helps: the network doesn't relearn interpolation, and σ tells it where to work, so its capacity goes to fine-scale structure. At 200 sensors kriging alone trails the attention and generative decoders, but the same posterior plus a correction leads them. Limits: the learned correction generalises much less than the linear stage; specialisation needs one decoder per budget; kriging needs the covariance — O(N²) memory, or a POD basis in low-rank form; both benchmarks are 2D snapshots, and 'adaptivity doesn't pay' may not hold for strongly non-Gaussian fields; and the held-out PhySense comparison is still to come." ===================================================================== REFERENCE, GLOSSARY and CLOSING (*) ~1 min ===================================================================== "Every table is in the reference, every term in the glossary. To close: KCR organises sparse reconstruction around the kriging posterior of the empirical covariance. Placement is greedy variance reduction — the Bayes-greedy rule of an exact clairvoyant teacher, which a learned adaptive student doesn't improve on. Decoding is a U-Net that corrects the kriging mean given its uncertainty. We get the lowest published errors on both benchmarks, and the held-out evaluation identifies generalisation of the residual decoder as the main open problem. Thank you." ===================================================================== LIKELY QUESTIONS — short answers from the paper ===================================================================== Q: Isn't the 38–50% just memorisation? A: Partly, and we say so. The channel protocol tests on training frames — for every method, including PhySense. On a chronological split the learned correction's gain over kriging is 1.7–4.8%, consistent but small, and specialisation hurts. The ocean result (18%) is held-out by construction. A held-out PhySense comparison needs PhySense retrained. Q: Why does adaptive placement not help? A: For Gaussian fields the Bayes-greedy rule provably doesn't depend on the readings, and both benchmarks behave nearly Gaussian. The clairvoyant headroom exists but relies on unobserved error; the distilled student, started exactly at the rule, stays within ~2%. Q: Why kriging and not a learned decoder end to end? A: Kriging gives the best linear estimate exactly and its uncertainty for free. A network that relearns interpolation wastes capacity; ours starts at kriging and learns a residual. Q: What does it cost? A: Placement needs only Σ — a rank-one update per step. The shared decoder trains in 3 h on one 24 GB GPU; each specialisation 1.2–1.5 h. The ocean uses no learned decoder. Q: Does it scale? A: The low-rank form makes each placement step O(Nm); it runs on 44,219 ocean candidates with 300 POD modes. Dense kriging costs O(N²) memory. Q: Why is QR pivoting nearly as good? A: With a kriging decoder, the informed layouts (QR, CGD, KCR) are within 2%. KCR's advantage is that it's derived as the Bayes-greedy rule, is nested across budgets, and is best with the shared decoder in-sample (0.5–3% below QR).