From 640e55025550df6d44b8945e2b71a43e328310d2 Mon Sep 17 00:00:00 2001 From: David Date: Thu, 20 Aug 2026 17:06:20 +0200 Subject: [PATCH 1/4] Add EnsembleEnergy + ensemble_disagreement EnsembleEnergy pools members into a MEAN energy (the geometric-mean density, distinct from MixtureEnergy's logsumexp), with member_energies and a per-sample disagreement (variance across members). eval.ensemble_disagreement exposes that variance batched as an epistemic OOD score. Co-Authored-By: Claude Opus 4.8 (1M context) --- src/ebm/__init__.py | 3 ++- src/ebm/compose.py | 30 +++++++++++++++++++++++++++ src/ebm/eval/__init__.py | 4 ++++ src/ebm/eval/diagnostics.py | 41 +++++++++++++++++++++++++++++++++++++ 4 files changed, 77 insertions(+), 1 deletion(-) diff --git a/src/ebm/__init__.py b/src/ebm/__init__.py index c910478..af45d6f 100644 --- a/src/ebm/__init__.py +++ b/src/ebm/__init__.py @@ -7,7 +7,7 @@ from ebm import datasets, eval, nets, viz from ebm.ais import AISResult, ais_log_z, log_likelihood, reverse_ais_log_z from ebm.buffer import ReplayBuffer -from ebm.compose import MixtureEnergy, SumEnergy, TemperedEnergy +from ebm.compose import EnsembleEnergy, MixtureEnergy, SumEnergy, TemperedEnergy from ebm.diffusion import DDPMAncestralSampler, VPDenoisingScoreMatching, VPSchedule from ebm.energy import ConditionalEnergyFn, EnergyFn, EnergyModel, score from ebm.jem import ClassifierEnergy, ConditionalEnergy, GuidedEnergy, JEMLoss @@ -70,6 +70,7 @@ "EnergyDiscrepancy", "EnergyFn", "EnergyModel", + "EnsembleEnergy", "ExactScoreMatching", "GibbsSampler", "GibbsWithGradients", diff --git a/src/ebm/compose.py b/src/ebm/compose.py index ca2ab47..6941428 100644 --- a/src/ebm/compose.py +++ b/src/ebm/compose.py @@ -82,6 +82,36 @@ def forward(self, x: Tensor) -> Tensor: return -torch.logsumexp(stacked, dim=0) +class EnsembleEnergy(_Composite): + """Deep ensemble as a **mean energy**: ``E(x) = (1/N) Σ_i E_i(x)``. + + Averaging energies is the *geometric* mean of the members' densities + (``p ∝ Π p_i^{1/N}``) — the variance-reduced log-density estimate you want + from a deep ensemble, and equivalent to ``SumEnergy`` with weights ``1/N``. + This is deliberately distinct from `MixtureEnergy`, which mixes densities + with a ``logsumexp`` (an *arithmetic* mean). + + Beyond the pooled energy, the spread of the members carries epistemic + uncertainty: `member_energies(x)` returns the ``(B, N)`` per-member energies + and `disagreement(x)` their per-sample variance — low where the members agree + (seen data), high off-distribution. See `eval.ensemble_disagreement`. + """ + + def __init__(self, *energies: EnergyFn): + super().__init__(energies) + + def member_energies(self, x: Tensor) -> Tensor: + """Per-member energies, stacked as ``(B, N)``.""" + return torch.stack([e(x) for e in self.energies], dim=1) + + def forward(self, x: Tensor) -> Tensor: + return self.member_energies(x).mean(dim=1) + + def disagreement(self, x: Tensor) -> Tensor: + """Per-sample variance across members ``(B,)`` — an epistemic OOD signal.""" + return self.member_energies(x).var(dim=1, unbiased=False) + + class TemperedEnergy(nn.Module): """``E(x) / T``: temperature ``T > 1`` flattens ``p``, ``T < 1`` sharpens it. diff --git a/src/ebm/eval/__init__.py b/src/ebm/eval/__init__.py index 5ae16d0..e5d365e 100644 --- a/src/ebm/eval/__init__.py +++ b/src/ebm/eval/__init__.py @@ -12,8 +12,10 @@ temperature_scale, ) from ebm.eval.diagnostics import ( + autocorrelation, effective_sample_size, energies, + ensemble_disagreement, ood_auroc, split_rhat, ) @@ -34,10 +36,12 @@ __all__ = [ "AISResult", "ais_log_z", + "autocorrelation", "bits_per_dim", "classifier_two_sample_test", "effective_sample_size", "energies", + "ensemble_disagreement", "expected_calibration_error", "fisher_divergence", "frechet_distance", diff --git a/src/ebm/eval/diagnostics.py b/src/ebm/eval/diagnostics.py index 46301c9..5edc095 100644 --- a/src/ebm/eval/diagnostics.py +++ b/src/ebm/eval/diagnostics.py @@ -2,11 +2,16 @@ from __future__ import annotations +from typing import TYPE_CHECKING + import torch from torch import Tensor from ebm.energy import EnergyFn +if TYPE_CHECKING: + from ebm.compose import EnsembleEnergy + def _as_chains(samples: Tensor) -> Tensor: """Coerce MCMC output to ``(n_chains, n_samples, dim)`` in float64.""" @@ -104,6 +109,28 @@ def effective_sample_size(samples: Tensor) -> Tensor: return ess +@torch.no_grad() +def autocorrelation(samples: Tensor, max_lag: int = 40) -> Tensor: + """Mean per-chain autocorrelation ``ρ̂_t`` for lags ``0..max_lag``, per dimension. + + Input is ``(n_chains, n_samples[, dim])``. Returns ``(max_lag+1, dim)`` (lag 0 + is ``1``). Computed by FFT (zero-padded past ``2N``) and averaged over chains — + the same autocovariance used by `effective_sample_size`. A chain that mixes + well decays toward zero within a few lags; slow decay flags autocorrelation. + """ + x = _as_chains(samples) + _, n, _ = x.shape + max_lag = min(max_lag, n - 1) + centered = x - x.mean(dim=1, keepdim=True) + n_fft = 1 + while n_fft < 2 * n: + n_fft <<= 1 + spec = torch.fft.rfft(centered, n=n_fft, dim=1) + acov = torch.fft.irfft(spec.abs().pow(2), n=n_fft, dim=1)[:, :n, :] # (M, N, d) + acf = acov / acov[:, :1, :] # normalize by lag-0 per chain/dim + return acf.mean(dim=0)[: max_lag + 1] + + @torch.no_grad() def energies(energy: EnergyFn, x: Tensor, batch_size: int = 1024) -> Tensor: """Energies of ``x`` computed in batches, returned on CPU.""" @@ -111,6 +138,20 @@ def energies(energy: EnergyFn, x: Tensor, batch_size: int = 1024) -> Tensor: return torch.cat(out) +@torch.no_grad() +def ensemble_disagreement(ensemble: EnsembleEnergy, x: Tensor, batch_size: int = 1024) -> Tensor: + """Per-sample ensemble disagreement (variance of member energies), batched. + + The spread of an ensemble's member energies is an *epistemic* uncertainty + signal: members trained on the same data agree where they saw data and + diverge off-distribution, so `ensemble_disagreement` tends to be much larger + on OOD inputs — feed it to `ood_auroc` as a detector. Returns a ``(B,)`` tensor + on CPU. + """ + out = [ensemble.disagreement(chunk).detach().cpu() for chunk in x.split(batch_size)] + return torch.cat(out) + + @torch.no_grad() def ood_auroc(energy: EnergyFn, x_in: Tensor, x_out: Tensor) -> float: """AUROC for separating in-distribution from OOD data by energy. From 3c686f838d0c33527b1655a17da003923d5e1b9a Mon Sep 17 00:00:00 2001 From: David Date: Thu, 20 Aug 2026 17:06:20 +0200 Subject: [PATCH 2/4] Add MCMC diagnostic plots: autocorrelation, rank, trace viz.autocorrelation_plot (with a +/-1.96/sqrt(N) band), rank_plot (Vehtari rank histograms), and trace_plot, backed by the numeric eval.autocorrelation. Reuse the ESS FFT-autocovariance and _as_chains coercion. Co-Authored-By: Claude Opus 4.8 (1M context) --- src/ebm/viz.py | 90 +++++++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 89 insertions(+), 1 deletion(-) diff --git a/src/ebm/viz.py b/src/ebm/viz.py index b2cc9b2..569d441 100644 --- a/src/ebm/viz.py +++ b/src/ebm/viz.py @@ -9,7 +9,15 @@ from ebm.energy import EnergyFn -__all__ = ["energy_contour", "energy_histogram", "plot_samples", "show_images"] +__all__ = [ + "autocorrelation_plot", + "energy_contour", + "energy_histogram", + "plot_samples", + "rank_plot", + "show_images", + "trace_plot", +] def _require_matplotlib(): @@ -114,6 +122,86 @@ def show_images( return ax +@torch.no_grad() +def _chain_ranks(samples: Tensor, dim: int = 0) -> Tensor: + """Rank each draw among the pooled draws of all chains; returns ``(n_chains, n_samples)``.""" + from ebm.eval.diagnostics import _as_chains + + x = _as_chains(samples)[..., dim] # (M, N) + m, n = x.shape + order = x.reshape(-1).argsort() + ranks = torch.empty(m * n, dtype=torch.float64) + ranks[order] = torch.arange(1, m * n + 1, dtype=torch.float64) + return ranks.reshape(m, n) + + +@torch.no_grad() +def autocorrelation_plot(samples: Tensor, max_lag: int = 40, dim: int = 0, ax=None): + """Autocorrelation ``ρ̂_t`` vs lag for MCMC output, with a ``±1.96/√N`` band. Returns the axes. + + Input is ``(n_chains, n_samples[, dim])``. Bars decaying to inside the band + within a few lags indicate good mixing; a slow decay flags autocorrelation. + """ + from ebm.eval.diagnostics import autocorrelation + + plt = _require_matplotlib() + acf = autocorrelation(samples, max_lag)[:, dim] + n = samples.shape[1] + if ax is None: + _, ax = plt.subplots(figsize=(6, 4)) + ax.bar(range(len(acf)), acf.numpy(), width=0.8, color="#5c50c9") + band = 1.96 / (n**0.5) + for y in (band, -band): + ax.axhline(y, ls="--", color="gray", lw=1) + ax.axhline(0.0, color="black", lw=0.8) + ax.set_xlabel("lag") + ax.set_ylabel("autocorrelation") + return ax + + +@torch.no_grad() +def rank_plot(samples: Tensor, dim: int = 0, bins: int = 20, ax=None): + """Vehtari rank histogram per chain (uniform under good mixing). Returns the axes. + + Ranks every draw among the pooled draws of all chains, then histograms each + chain's ranks. Well-mixed chains give flat, overlapping histograms near the + dashed uniform line; a chain offset from the others shows a sloped or skewed + histogram. Reference: Vehtari et al. (2021). + """ + plt = _require_matplotlib() + ranks = _chain_ranks(samples, dim) + m, n = ranks.shape + edges = torch.linspace(1, m * n, bins + 1).numpy() + if ax is None: + _, ax = plt.subplots(figsize=(6, 4)) + for i in range(m): + ax.hist(ranks[i].numpy(), bins=edges, histtype="step", alpha=0.7) + ax.axhline(n / bins, ls="--", color="gray", lw=1) # uniform expectation per bin + ax.set_xlabel("rank") + ax.set_ylabel("count") + return ax + + +@torch.no_grad() +def trace_plot(samples: Tensor, dim: int = 0, max_chains: int = 8, ax=None): + """Trace of each chain's value over iterations (mixing at a glance). Returns the axes. + + Input is ``(n_chains, n_samples[, dim])``. Chains that overlap and wander + across the same range have mixed; a chain stuck at a different level has not. + """ + from ebm.eval.diagnostics import _as_chains + + plt = _require_matplotlib() + x = _as_chains(samples)[..., dim] + if ax is None: + _, ax = plt.subplots(figsize=(8, 4)) + for i in range(min(x.shape[0], max_chains)): + ax.plot(x[i].numpy(), alpha=0.7, lw=0.8) + ax.set_xlabel("iteration") + ax.set_ylabel(f"dim {dim}") + return ax + + def energy_histogram(energy: EnergyFn, batches: dict[str, Tensor], ax=None, bins: int = 60): """Overlaid energy histograms, e.g. ``{"data": x, "samples": x_neg}``. From 6f267bff8abea2b5de0f9e2508e14ebc674715a6 Mon Sep 17 00:00:00 2001 From: David Date: Thu, 20 Aug 2026 17:06:20 +0200 Subject: [PATCH 3/4] Test ensemble energy + MCMC diagnostics Ensemble reproduces the closed-form combined Gaussian variance and its disagreement separates OOD at AUROC ~1; the ACF estimator matches an AR(1)'s rho^t; rank-plot uniformity for matched chains and skew for an offset chain. Co-Authored-By: Claude Opus 4.8 (1M context) --- tests/test_compose.py | 29 +++++++++++++++++++++++++++++ tests/test_datasets_eval.py | 10 ++++++++++ tests/test_viz.py | 28 ++++++++++++++++++++++++++++ 3 files changed, 67 insertions(+) diff --git a/tests/test_compose.py b/tests/test_compose.py index 091a3bf..10b9255 100644 --- a/tests/test_compose.py +++ b/tests/test_compose.py @@ -77,3 +77,32 @@ def test_compositions_nest(): ebm.SumEnergy(quadratic_energy, ebm.MixtureEnergy(quadratic_energy)), 2.0 ) assert nested(torch.randn(8, 2)).shape == (8,) + + +def test_ensemble_energy_is_geometric_mean_gaussian(): + # Members N(0, σ_i²) → mean energy is N(0, 1/precision), precision = mean(1/σ_i²). + sigmas = [1.0, 0.5, 2.0] + members = [gaussian_energy(0.0, s**2) for s in sigmas] + ens = ebm.EnsembleEnergy(*members) + precision = sum(1 / s**2 for s in sigmas) / len(sigmas) + samples = ebm.MALA(step_size=0.1, steps=800).sample(ens, torch.randn(6000, 2)) + assert (samples.var(0) - 1 / precision).abs().max().item() < 0.05 + # member_energies stacks per-member; forward is their mean. + x = torch.randn(16, 2) + me = ens.member_energies(x) + assert me.shape == (16, 3) + assert torch.allclose(ens(x), me.mean(dim=1)) + + +def test_ensemble_disagreement_flags_ood(): + sigmas = [1.0, 0.5, 2.0] + ens = ebm.EnsembleEnergy(*[gaussian_energy(0.0, s**2) for s in sigmas]) + x_in = torch.randn(2000, 2) + x_out = 6.0 + torch.randn(2000, 2) + d_in = ebm.eval.ensemble_disagreement(ens, x_in) + d_out = ebm.eval.ensemble_disagreement(ens, x_out) + assert d_in.shape == (2000,) + assert d_out.mean() > 50 * d_in.mean() # members diverge off-distribution + # As an OOD score it separates the two sets almost perfectly. + auroc = ebm.eval.ood_auroc(lambda z: ebm.eval.ensemble_disagreement(ens, z), x_in, x_out) + assert auroc > 0.99 diff --git a/tests/test_datasets_eval.py b/tests/test_datasets_eval.py index e3625e6..037cacd 100644 --- a/tests/test_datasets_eval.py +++ b/tests/test_datasets_eval.py @@ -47,6 +47,16 @@ def test_ess_matches_ar1_closed_form(rho): assert abs(ess - predicted) / predicted < 0.2 +def test_autocorrelation_matches_ar1(): + # A stationary AR(1) has ρ̂_t = ρ^t; check the estimator recovers it. + m, n, rho = 16, 4000, 0.7 + acf = ebm.eval.autocorrelation(_ar1(m, n, rho), max_lag=8) + assert acf.shape == (9, 1) + theory = torch.tensor([rho**k for k in range(9)]) + assert (acf[:, 0] - theory).abs().max().item() < 0.03 + assert acf[0, 0].item() == pytest.approx(1.0) + + def test_diagnostics_reject_too_short(): with pytest.raises(ValueError): ebm.eval.effective_sample_size(torch.randn(4, 3, 2)) diff --git a/tests/test_viz.py b/tests/test_viz.py index ca48f49..aa8d6c6 100644 --- a/tests/test_viz.py +++ b/tests/test_viz.py @@ -54,3 +54,31 @@ def test_energy_contour_plot_samples_and_histogram(): ) assert ax3.get_xlabel() == "energy" assert len(ax3.get_legend().get_texts()) == 2 + + +def test_mcmc_diagnostic_plots_smoke_and_rank_uniformity(): + import matplotlib + + matplotlib.use("Agg") + + # Well-mixed chains: N(0,1) i.i.d.; one offset chain to skew the rank plot. + good = torch.randn(6, 500, 2) + ax = ebm.viz.autocorrelation_plot(good, max_lag=20, dim=0) + assert len(ax.patches) == 21 # one bar per lag 0..20 + + ax2 = ebm.viz.trace_plot(good, dim=1, max_chains=4) + assert len(ax2.lines) == 4 # capped at max_chains + + # Rank uniformity: matched chains give ~flat per-chain rank histograms; an + # offset chain concentrates in the top ranks. + ranks = ebm.viz._chain_ranks(good, dim=0) + m, n = ranks.shape + counts = torch.histc(ranks[0], bins=10, min=1, max=m * n) + assert counts.std().item() < 0.5 * (n / 10) # roughly uniform + + offset = torch.cat([torch.randn(5, 500, 2), 5.0 + torch.randn(1, 500, 2)], dim=0) + off_ranks = ebm.viz._chain_ranks(offset, dim=0) + top = (off_ranks[-1] > 0.9 * off_ranks.numel()).float().mean().item() + assert top > 0.5 # the shifted chain owns the top ranks + ax3 = ebm.viz.rank_plot(offset, dim=0, bins=10) + assert len(ax3.patches) > 0 From 992d975e9fea1452ca7c2d68c0f5d8d49e81af2c Mon Sep 17 00:00:00 2001 From: David Date: Thu, 20 Aug 2026 17:06:20 +0200 Subject: [PATCH 4/4] Add ensemble_ood example + document diagnostics & ensemble A 3-member deep-ensemble EBM whose member disagreement flags OOD (two-moons vs a Gaussian blob, AUROC ~1). README eval/composition/viz rows + examples list and the unreleased CHANGELOG updated. Co-Authored-By: Claude Opus 4.8 (1M context) --- CHANGELOG.md | 8 ++++ README.md | 7 +-- examples/ensemble_ood.py | 76 +++++++++++++++++++++++++++++++ examples/ensemble_ood_result.png | Bin 0 -> 144815 bytes 4 files changed, 88 insertions(+), 3 deletions(-) create mode 100644 examples/ensemble_ood.py create mode 100644 examples/ensemble_ood_result.png diff --git a/CHANGELOG.md b/CHANGELOG.md index e64ae77..5910252 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -5,6 +5,14 @@ Internal cleanup plus a diffusion track, exact-likelihood flows, and conditional-generation / calibration tools. +- **Diagnostics & ensemble uncertainty.** `viz.autocorrelation_plot` / + `rank_plot` / `trace_plot` and a numeric `eval.autocorrelation` for judging MCMC + mixing; `EnsembleEnergy` (a deep-ensemble *mean* energy — the geometric-mean + density, distinct from `MixtureEnergy`'s logsumexp) with `member_energies` / + `disagreement`, plus `eval.ensemble_disagreement` as an epistemic OOD score. + Validated: the ACF estimator matches an AR(1)'s `ρ^t`; the ensemble reproduces + the closed-form combined Gaussian; disagreement separates in-distribution from + OOD at AUROC ≈ 1. Example `ensemble_ood.py`. - **`nets.NeuralSplineCouplingFlow`** — a rational-quadratic neural spline flow (Durkan et al. 2019): monotonic-spline coupling layers dropped into the affine-flow scaffold, strictly more expressive per layer, so it fits sharp diff --git a/README.md b/README.md index b355e3c..5e925e9 100644 --- a/README.md +++ b/README.md @@ -47,10 +47,10 @@ returns `LossOutput(loss, metrics, x_neg)`; call `out.loss.backward()`). | **Energies** | any callable `(B, *shape) -> (B,)`; `nets.MLPEnergy` / `ConvEnergy` / `ResNetEnergy` / `ConvClassifier` (SiLU, optional spectral norm, no batch norm), `nets.RBM` (Bernoulli RBM with exact `log_z`), `GuidedEnergy` (classifier-free guidance), `nets.IsingEnergy` / `PottsEnergy` (discrete lattices), `nets.FunnelEnergy` / `GaussianMixtureEnergy` / `BananaEnergy` (closed-form targets), `nets.AffineCouplingFlow` (RealNVP) / `nets.NeuralSplineCouplingFlow` (rational-quadratic spline) / `nets.ContinuousNormalizingFlow` (FFJORD — trainable exact-likelihood flows / self-normalized energies), noise-conditional variants for NCSN; `EnergyModel`, `ebm.score` | | **Samplers** | `LangevinDynamics` (ULA/SGLD), `MALA`, `AdaptiveMALA` (dual-averaging step-size warmup + diagonal metric), `HMC`, `UnderdampedLangevin` (SGHMC), `PreconditionedLangevin`, `ParallelTempering` (replica exchange), `TemperedTransitions`, `SVGD` (Stein variational), `GibbsSampler` (block Gibbs), `GibbsWithGradients` + `CategoricalGibbsWithGradients`, `AnnealedLangevinDynamics`, `ProbabilityFlowODE` / `PredictorCorrector` (score-SDE), `DDPMAncestralSampler` (VP diffusion) | | **Losses** | `ContrastiveDivergence` (CD-k / persistent CD), `DiffusionRecoveryLikelihood` + `drl_sample`, `DenoisingScoreMatching` / `MultiSigmaDenoisingScoreMatching` (NCSN), `VPDenoisingScoreMatching` (DDPM), `SlicedScoreMatching`, `ExactScoreMatching`, `EnergyDiscrepancy` (MCMC-free), `PseudoLikelihood` / `RatioMatching` / `ConcreteScoreMatching` (MCMC-free, discrete), `NoiseContrastiveEstimation`, `JEMLoss` | -| **Composition** | `SumEnergy` (product of experts), `MixtureEnergy`, `TemperedEnergy` — energies compose like densities and nest | +| **Composition** | `SumEnergy` (product of experts), `MixtureEnergy`, `EnsembleEnergy` (deep-ensemble mean energy + member disagreement), `TemperedEnergy` — energies compose like densities and nest | | **Training** | thin `Trainer` (device, EMA, supervised batches, `save`/`load` checkpointing), `ReplayBuffer`, `EMA` | -| **Eval** | `ais_log_z` / `reverse_ais_log_z` (bracket `log Z`), `pf_ode_log_likelihood` (exact likelihood via the probability-flow ODE), `bits_per_dim`, `frechet_distance` (FID), `mmd`, `precision_recall`, `inception_score`, `kernel_stein_discrepancy` / `classifier_two_sample_test` / `fisher_divergence` (goodness-of-fit), `mutual_information` (MINE), `expected_calibration_error` / `reliability_curve` / `temperature_scale` (calibration), `ood_auroc`, `effective_sample_size` / `split_rhat` (MCMC diagnostics) | -| **Data & viz** | 2D toys (`two_moons`, `eight_gaussians`, `checkerboard`, `rings`, `spirals`) and torchvision-free image loaders (`mnist`, `fashion_mnist`, `cifar10`, `cifar100`); `viz.energy_contour` / `plot_samples` / `energy_histogram` / `show_images` | +| **Eval** | `ais_log_z` / `reverse_ais_log_z` (bracket `log Z`), `pf_ode_log_likelihood` (exact likelihood via the probability-flow ODE), `bits_per_dim`, `frechet_distance` (FID), `mmd`, `precision_recall`, `inception_score`, `kernel_stein_discrepancy` / `classifier_two_sample_test` / `fisher_divergence` (goodness-of-fit), `mutual_information` (MINE), `expected_calibration_error` / `reliability_curve` / `temperature_scale` (calibration), `ood_auroc`, `ensemble_disagreement` (epistemic OOD), `effective_sample_size` / `split_rhat` / `autocorrelation` (MCMC diagnostics) | +| **Data & viz** | 2D toys (`two_moons`, `eight_gaussians`, `checkerboard`, `rings`, `spirals`) and torchvision-free image loaders (`mnist`, `fashion_mnist`, `cifar10`, `cifar100`); `viz.energy_contour` / `plot_samples` / `energy_histogram` / `show_images` / `autocorrelation_plot` / `rank_plot` / `trace_plot` | ## Examples @@ -77,6 +77,7 @@ Runnable scripts in [`examples/`](https://github.com/davidkhjo/ebmkit/tree/main/ - `sampling_hard_targets.py` — parallel tempering escapes a trapped mode; ESS / R̂ diagnostics - `adaptive_mala.py` — a self-tuning MALA: dual-averaging step size + a learned diagonal metric - `goodness_of_fit.py` — KSD for model selection; classifier two-sample test +- `ensemble_ood.py` — a deep-ensemble EBM whose member disagreement flags OOD - `mine_mutual_information.py` — estimate mutual information with MINE vs the Gaussian closed form - `benchmark_samplers.py` — rank samplers on the banana against exact draws (ESS, R̂, MMD) - `checkpoint_resume.py` — save a run and resume it in a fresh process diff --git a/examples/ensemble_ood.py b/examples/ensemble_ood.py new file mode 100644 index 0000000..a38dee5 --- /dev/null +++ b/examples/ensemble_ood.py @@ -0,0 +1,76 @@ +"""Deep-ensemble EBM: member disagreement as an epistemic OOD signal. + +A single energy can be confidently wrong off-distribution. An ensemble of energy +networks trained on the same data agrees where it saw data and *disagrees* where +it didn't — so the variance of the member energies is an epistemic-uncertainty +score that flags OOD inputs. `EnsembleEnergy` pools the members into a mean energy +(a geometric-mean density) for sampling/scoring, and `ensemble_disagreement` +returns the per-sample variance; here it separates two-moons (in-distribution) +from a Gaussian blob (OOD) at AUROC ≈ 1. + +Run: python examples/ensemble_ood.py +Outputs ensemble_ood_result.png next to this script (needs the [viz] extra). +""" + +from __future__ import annotations + +from pathlib import Path + +import torch + +import ebm + + +def _train_member(data: torch.Tensor, seed: int) -> torch.nn.Module: + torch.manual_seed(seed) + net = ebm.nets.MLPEnergy(dim=2, hidden=(128, 128)) + sampler = ebm.LangevinDynamics(step_size=0.01, steps=60) + loss_fn = ebm.ContrastiveDivergence( + sampler, buffer=ebm.ReplayBuffer(8192, (2,)), energy_reg=0.1 + ) + trainer = ebm.Trainer(net, loss_fn, lr=1e-3, ema_decay=0.999, device="cpu") + trainer.fit(data, steps=3000, batch_size=256) + return net + + +def main() -> None: + torch.manual_seed(0) + data = ebm.datasets.two_moons(8192) + ensemble = ebm.EnsembleEnergy(*[_train_member(data, seed) for seed in range(3)]) + + x_in = ebm.datasets.two_moons(2000) + x_out = torch.randn(2000, 2) * 0.6 + torch.tensor([0.0, 3.0]) # off-manifold blob + d_in = ebm.eval.ensemble_disagreement(ensemble, x_in) + d_out = ebm.eval.ensemble_disagreement(ensemble, x_out) + auroc = ebm.eval.ood_auroc(lambda z: ebm.eval.ensemble_disagreement(ensemble, z), x_in, x_out) + print(f"mean disagreement in-dist {d_in.mean():.3f} OOD {d_out.mean():.3f}") + print(f"OOD AUROC (disagreement) = {auroc:.3f}") + + import matplotlib + + matplotlib.use("Agg") + import matplotlib.pyplot as plt + + fig, axes = plt.subplots(1, 2, figsize=(12, 5)) + grid = torch.linspace(-3, 4, 200) + gy, gx = torch.meshgrid(grid, grid, indexing="ij") + pts = torch.stack([gx.reshape(-1), gy.reshape(-1)], dim=1) + dis = ebm.eval.ensemble_disagreement(ensemble, pts).reshape(200, 200) + im = axes[0].imshow(dis, extent=(-3, 4, -3, 4), origin="lower", vmax=float(dis.quantile(0.98))) + axes[0].scatter(x_in[:, 0], x_in[:, 1], s=3, color="white", alpha=0.3) + axes[0].set_title("member disagreement (bright = uncertain / OOD)") + fig.colorbar(im, ax=axes[0], fraction=0.046) + + axes[1].hist(d_in.numpy(), bins=50, alpha=0.6, label="two-moons (in)", density=True) + axes[1].hist(d_out.numpy(), bins=50, alpha=0.6, label="Gaussian blob (OOD)", density=True) + axes[1].set_xlabel("ensemble disagreement") + axes[1].set_title(f"OOD AUROC = {auroc:.3f}") + axes[1].legend() + + out = Path(__file__).parent / "ensemble_ood_result.png" + fig.savefig(out, dpi=120, bbox_inches="tight") + print(f"saved {out}") + + +if __name__ == "__main__": + main() diff --git a/examples/ensemble_ood_result.png b/examples/ensemble_ood_result.png new file mode 100644 index 0000000000000000000000000000000000000000..5459e7b9f0ff0a4ef3b5ed7454278f7e92b8f155 GIT binary patch literal 144815 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

-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