From 605fd2157b28459ea93b1878ae4ac3a1d71fd3a1 Mon Sep 17 00:00:00 2001 From: David Date: Thu, 20 Aug 2026 16:50:08 +0200 Subject: [PATCH 1/3] Add NeuralSplineCouplingFlow: rational-quadratic spline flow A monotonic rational-quadratic spline coupling (Durkan et al. 2019) dropped into the affine-flow scaffold: strictly more expressive per layer while keeping the same self-normalized contract (exact log_prob, one-pass sampling, forward = -log_prob). Slope-1 linear tails outside [-bound, bound], numerically stable inverse root, zero-init conditioner head for a near-identity start. Co-Authored-By: Claude Opus 4.8 (1M context) --- src/ebm/nets/__init__.py | 2 + src/ebm/nets/spline_flow.py | 209 ++++++++++++++++++++++++++++++++++++ 2 files changed, 211 insertions(+) create mode 100644 src/ebm/nets/spline_flow.py diff --git a/src/ebm/nets/__init__.py b/src/ebm/nets/__init__.py index 0dd8491..095ad01 100644 --- a/src/ebm/nets/__init__.py +++ b/src/ebm/nets/__init__.py @@ -22,6 +22,7 @@ from ebm.nets.noise_conditional import ( _GaussianFourierFeatures as _GaussianFourierFeatures, # re-export for tests ) +from ebm.nets.spline_flow import NeuralSplineCouplingFlow from ebm.nets.targets import BananaEnergy, FunnelEnergy, GaussianMixtureEnergy __all__ = [ @@ -35,6 +36,7 @@ "GaussianMixtureEnergy", "IsingEnergy", "MLPEnergy", + "NeuralSplineCouplingFlow", "NoiseConditionalConvEnergy", "NoiseConditionalMLPEnergy", "PottsEnergy", diff --git a/src/ebm/nets/spline_flow.py b/src/ebm/nets/spline_flow.py new file mode 100644 index 0000000..c8d0bd5 --- /dev/null +++ b/src/ebm/nets/spline_flow.py @@ -0,0 +1,209 @@ +"""Rational-quadratic neural spline flow (Durkan et al. 2019).""" + +from __future__ import annotations + +import torch +import torch.nn.functional as F +from torch import Tensor, nn + +from ebm._functional import standard_normal_logprob + + +def _searchsorted(sorted_seq: Tensor, values: Tensor) -> Tensor: + """Per-row bin index ``k`` with ``sorted_seq[k] <= values < sorted_seq[k+1]``.""" + return torch.searchsorted(sorted_seq, values[..., None], right=True)[..., 0] - 1 + + +def _monotonic_rq_spline( + inputs: Tensor, + unnorm_widths: Tensor, + unnorm_heights: Tensor, + unnorm_derivs: Tensor, + *, + inverse: bool, + bound: float, + min_bin: float, + min_deriv: float, +) -> tuple[Tensor, Tensor]: + """Elementwise rational-quadratic transform on ``[-bound, bound]`` (identity tails). + + ``inputs`` is ``(N,)``; ``unnorm_widths``/``unnorm_heights`` are ``(N, K)`` and + ``unnorm_derivs`` is ``(N, K-1)``. Returns ``(outputs, log|dy/dx|)``. Outside the + interval the map is the identity (slope-1 linear tails, boundary derivatives 1), + so this is the *unconstrained* variant (Durkan et al. 2019, eqs. 4–5). + """ + k = unnorm_widths.shape[-1] + inside = (inputs >= -bound) & (inputs <= bound) + outputs = torch.where(inside, torch.zeros_like(inputs), inputs) # identity tails + logabsdet = torch.zeros_like(inputs) + if not bool(inside.any()): + return outputs, logabsdet + + inp = inputs[inside] + uw, uh, ud = unnorm_widths[inside], unnorm_heights[inside], unnorm_derivs[inside] + + widths = min_bin + (1 - min_bin * k) * F.softmax(uw, dim=-1) + cumwidths = F.pad(torch.cumsum(2 * bound * widths, dim=-1), (1, 0)) + cumwidths = cumwidths - bound + cumwidths[..., 0], cumwidths[..., -1] = -bound, bound + widths = cumwidths[..., 1:] - cumwidths[..., :-1] + + heights = min_bin + (1 - min_bin * k) * F.softmax(uh, dim=-1) + cumheights = F.pad(torch.cumsum(2 * bound * heights, dim=-1), (1, 0)) + cumheights = cumheights - bound + cumheights[..., 0], cumheights[..., -1] = -bound, bound + heights = cumheights[..., 1:] - cumheights[..., :-1] + + derivs = F.pad(min_deriv + F.softplus(ud), (1, 1), value=1.0) # slope-1 tails + delta = heights / widths # per-bin secant slope s_k + + knots = cumheights if inverse else cumwidths + idx = _searchsorted(knots, inp).clamp(0, k - 1)[..., None] + x_k = cumwidths.gather(-1, idx)[..., 0] + w_k = widths.gather(-1, idx)[..., 0] + y_k = cumheights.gather(-1, idx)[..., 0] + h_k = heights.gather(-1, idx)[..., 0] + s_k = delta.gather(-1, idx)[..., 0] + d_k = derivs.gather(-1, idx)[..., 0] + d_k1 = derivs.gather(-1, idx + 1)[..., 0] + + if inverse: + dy = inp - y_k + a = dy * (d_k1 + d_k - 2 * s_k) + h_k * (s_k - d_k) + b = h_k * d_k - dy * (d_k1 + d_k - 2 * s_k) + c = -s_k * dy + disc = b.pow(2) - 4 * a * c + theta = 2 * c / (-b - torch.sqrt(disc)) # numerically stable root + out = theta * w_k + x_k + else: + theta = (inp - x_k) / w_k + + one_m = 1 - theta + denom = s_k + (d_k1 + d_k - 2 * s_k) * theta * one_m + if not inverse: + out = y_k + h_k * (s_k * theta.pow(2) + d_k * theta * one_m) / denom + deriv_num = s_k.pow(2) * (d_k1 * theta.pow(2) + 2 * s_k * theta * one_m + d_k * one_m.pow(2)) + log_deriv = torch.log(deriv_num) - 2 * torch.log(denom) + + outputs[inside] = out + logabsdet[inside] = -log_deriv if inverse else log_deriv + return outputs, logabsdet + + +class _SplineCouplingLayer(nn.Module): + """One RQ-spline coupling: splines the ``1-mask`` half conditioned on the ``mask`` half.""" + + mask: Tensor + + def __init__(self, dim: int, hidden: int, mask: Tensor, num_bins: int, bound: float): + super().__init__() + self.register_buffer("mask", mask) + self.dim = dim + self.num_bins = num_bins + self.bound = bound + self.min_bin = 1e-3 + self.min_deriv = 1e-3 + head = nn.Linear(hidden, dim * (3 * num_bins - 1)) + nn.init.zeros_(head.weight) # zero last layer → near-identity spline at init + nn.init.zeros_(head.bias) + self.net = nn.Sequential( + nn.Linear(dim, hidden), + nn.SiLU(), + nn.Linear(hidden, hidden), + nn.SiLU(), + head, + ) + + def _params(self, conditioned: Tensor) -> tuple[Tensor, Tensor, Tensor]: + p = self.net(conditioned).reshape(-1, self.dim, 3 * self.num_bins - 1) + k = self.num_bins + return p[..., :k], p[..., k : 2 * k], p[..., 2 * k :] + + def _apply_spline(self, x: Tensor, inverse: bool) -> tuple[Tensor, Tensor]: + uw, uh, ud = self._params(x * self.mask) + out, lad = _monotonic_rq_spline( + x.reshape(-1), + uw.reshape(-1, self.num_bins), + uh.reshape(-1, self.num_bins), + ud.reshape(-1, self.num_bins - 1), + inverse=inverse, + bound=self.bound, + min_bin=self.min_bin, + min_deriv=self.min_deriv, + ) + out = out.reshape_as(x) + active = 1 - self.mask + y = self.mask * x + active * out + logdet = (lad.reshape_as(x) * active).sum(dim=-1) + return y, logdet + + def forward(self, x: Tensor) -> tuple[Tensor, Tensor]: + return self._apply_spline(x, inverse=False) + + def inverse(self, y: Tensor) -> Tensor: + return self._apply_spline(y, inverse=True)[0] + + +class NeuralSplineCouplingFlow(nn.Module): + """Rational-quadratic neural spline flow, exposed as an exact-likelihood energy. + + Coupling layers whose transform is a monotonic **rational-quadratic spline** + (Durkan et al. 2019) rather than an affine map — strictly more expressive per + layer than `AffineCouplingFlow`, so it fits sharp, multi-modal 2D densities + with fewer layers. Same contract as the affine flow: exact + ``log p(x) = log N(f(x); 0, I) + log|det ∂f/∂x|`` (no partition function), so + ``forward(x) = -log_prob(x)`` is a valid self-normalized `EnergyFn` with + ``log Z = 0``. Operates on vector data ``(B, dim)``. + + Each spline acts on ``[-bound, bound]`` with ``num_bins`` bins and slope-1 + linear tails outside it; the conditioner MLP is zero-initialized so training + starts from ≈identity. The spline only reshapes mass *inside* ``bound``, so + scale the data to sit within it (or widen ``bound``). Args mirror + `AffineCouplingFlow` plus ``num_bins`` / ``bound``. + """ + + def __init__( + self, + dim: int, + n_layers: int = 6, + hidden: int = 64, + *, + num_bins: int = 8, + bound: float = 3.0, + ): + super().__init__() + if dim < 2: + raise ValueError("NeuralSplineCouplingFlow needs dim >= 2 to split coordinates") + self.dim = dim + layers = [] + for i in range(n_layers): + mask = torch.zeros(dim) + mask[i % 2 :: 2] = 1.0 # alternate which half is conditioned + layers.append(_SplineCouplingLayer(dim, hidden, mask, num_bins, bound)) + self.layers = nn.ModuleList(layers) + + def transform(self, x: Tensor) -> tuple[Tensor, Tensor]: + """Map data ``x`` to the base space, returning ``(z, log|det ∂z/∂x|)``.""" + logdet = x.new_zeros(x.shape[0]) + for layer in self.layers: + x, ld = layer(x) + logdet = logdet + ld + return x, logdet + + def inverse(self, z: Tensor) -> Tensor: + """Map base samples ``z`` back to data space.""" + for layer in reversed(self.layers): + assert isinstance(layer, _SplineCouplingLayer) + z = layer.inverse(z) + return z + + def log_prob(self, x: Tensor) -> Tensor: + z, logdet = self.transform(x) + return standard_normal_logprob(z) + logdet + + def sample(self, n: int) -> Tensor: + z = torch.randn(n, self.dim, device=next(self.parameters()).device) + return self.inverse(z) + + def forward(self, x: Tensor) -> Tensor: + return -self.log_prob(x) # energy = -log p, so log Z = 0 exactly From 1a58d1ed9f3ec3d3847c5e990c883566dcbd5da7 Mon Sep 17 00:00:00 2001 From: David Date: Thu, 20 Aug 2026 16:50:08 +0200 Subject: [PATCH 2/3] Test NeuralSplineCouplingFlow: exact invertibility, logdet, density fits Double-precision checks pin the math: exact roundtrip including the linear tails and analytic log|det| vs the autograd Jacobian to 1e-8. Float32 distributional fits: recovers a Gaussian's log-density (vs analytic) and the two-moons manifold (MMD, both crescents covered), plus practical float32 invertibility. Co-Authored-By: Claude Opus 4.8 (1M context) --- tests/test_nets.py | 78 ++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 78 insertions(+) diff --git a/tests/test_nets.py b/tests/test_nets.py index dae495b..4cfffb5 100644 --- a/tests/test_nets.py +++ b/tests/test_nets.py @@ -189,3 +189,81 @@ def test_affine_coupling_flow_fits_a_gaussian(): samples = flow.sample(8000) assert (samples.mean(0) - mu).abs().max().item() < 0.2 assert (torch.cov(samples.T) - cov).abs().max().item() < 0.3 + + +def test_spline_flow_invertible_and_logdet_across_domain(): + # Run in double precision: the rational-quadratic map is *exactly* invertible, + # so this pins the math (float32 loses a few digits per layer, as all RQ-spline + # flows do). Perturb the zero-init net so the spline is genuinely nonlinear. + flow = ebm.nets.NeuralSplineCouplingFlow(dim=3, n_layers=4, num_bins=8, bound=3.0).double() + with torch.no_grad(): + for p in flow.parameters(): + p.add_(0.4 * torch.randn_like(p)) + x = (6 * torch.randn(6, 3)).double() # spans well past the [-3, 3] bound into the tails + z, logdet = flow.transform(x) + assert torch.allclose(flow.inverse(z), x, atol=1e-8) # exact roundtrip incl. tails + for i in range(len(x)): + jac = torch.autograd.functional.jacobian( + lambda v: flow.transform(v.unsqueeze(0))[0].squeeze(0), x[i] + ) + assert abs(logdet[i].item() - torch.linalg.slogdet(jac)[1].item()) < 1e-8 + assert torch.allclose(flow(x), -flow.log_prob(x)) + with pytest.raises(ValueError): + ebm.nets.NeuralSplineCouplingFlow(dim=1) + + +def test_spline_flow_fits_a_gaussian(): + import math + + d = 2 + # The spline reshapes only within [-bound, bound] (identity tails), so the + # target's mass must sit inside it — here a zero-centred Gaussian well within ±3. + mu = torch.zeros(d) + cov = torch.tensor([[0.7, 0.3], [0.3, 0.6]]) + chol = torch.linalg.cholesky(cov) + data = torch.randn(8000, d) @ chol.t() + mu + + flow = ebm.nets.NeuralSplineCouplingFlow(dim=d, n_layers=6, num_bins=8, bound=3.0) + opt = torch.optim.Adam(flow.parameters(), lr=5e-3) + for _ in range(2000): + batch = data[torch.randint(0, len(data), (256,))] + loss = -flow.log_prob(batch).mean() + opt.zero_grad() + loss.backward() + opt.step() + + test = torch.randn(4000, d) @ chol.t() + mu + prec = torch.linalg.inv(cov) + c = test - mu + analytic = ( + -0.5 * ((c @ prec) * c).sum(dim=1) + - 0.5 * d * math.log(2 * math.pi) + - 0.5 * torch.linalg.slogdet(cov)[1] + ) + assert (flow.log_prob(test) - analytic).abs().mean().item() < 0.2 + # It is practically invertible in float32 after training. + z, _ = flow.transform(test) + assert torch.allclose(flow.inverse(z), test, atol=1e-2) + + +def test_spline_flow_fits_two_moons(): + data = ebm.datasets.two_moons(8000) + flow = ebm.nets.NeuralSplineCouplingFlow(dim=2, n_layers=6, num_bins=8, bound=3.0) + opt = torch.optim.Adam(flow.parameters(), lr=5e-3) + for _ in range(2000): + batch = data[torch.randint(0, len(data), (256,))] + loss = -flow.log_prob(batch).mean() + opt.zero_grad() + loss.backward() + opt.step() + + samples = flow.sample(8000) + # Samples land on the data manifold (both crescents), far closer than a Gaussian. + to_data = ebm.eval.mmd(samples, data) + to_normal = ebm.eval.mmd(torch.randn(8000, 2), data) + assert to_data < 0.01 + assert to_data < 0.2 * to_normal + # Both arcs are covered (the moons split above/below the x-axis near the centre). + upper = ((samples[:, 0].abs() < 0.5) & (samples[:, 1] > 0.3)).float().mean() + lower = ((samples[:, 0].abs() < 0.5) & (samples[:, 1] < -0.0)).float().mean() + assert upper > 0.02 and lower > 0.02 From 6607f440539a3a996c3f23ec5c88b58cde85f4c5 Mon Sep 17 00:00:00 2001 From: David Date: Thu, 20 Aug 2026 16:50:08 +0200 Subject: [PATCH 3/3] Add train_spline_flow example + document the spline flow Trains an affine and a spline flow on two-moons at equal depth and prints both held-out NLLs (spline wins). README energies row + examples list and the unreleased CHANGELOG updated. Co-Authored-By: Claude Opus 4.8 (1M context) --- CHANGELOG.md | 8 ++++ README.md | 3 +- examples/spline_flow_result.png | Bin 0 -> 183655 bytes examples/train_spline_flow.py | 74 ++++++++++++++++++++++++++++++++ 4 files changed, 84 insertions(+), 1 deletion(-) create mode 100644 examples/spline_flow_result.png create mode 100644 examples/train_spline_flow.py diff --git a/CHANGELOG.md b/CHANGELOG.md index 5130c4b..e64ae77 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. +- **`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 + multi-modal 2D densities at a lower NLL than the affine flow for the same + depth. Same self-normalized contract (exact `log_prob`, one-pass sampling, + `forward = -log_prob`). Validated: exact invertibility incl. the linear tails + and analytic `log|det|` vs the autograd Jacobian (to 1e-8 in double precision); + fits a Gaussian and two-moons. Example `train_spline_flow.py`. - **Self-tuning sampler.** `AdaptiveMALA` — a MALA that tunes its own `step_size` by Nesterov dual averaging (Hoffman & Gelman 2014) to the MALA-optimal 0.574 acceptance during a warmup, then freezes and samples diff --git a/README.md b/README.md index e2fde61..b355e3c 100644 --- a/README.md +++ b/README.md @@ -44,7 +44,7 @@ returns `LossOutput(loss, metrics, x_neg)`; call `out.loss.backward()`). | Piece | Contents | |---|---| -| **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.ContinuousNormalizingFlow` (FFJORD — trainable exact-likelihood flows / self-normalized energies), noise-conditional variants for NCSN; `EnergyModel`, `ebm.score` | +| **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 | @@ -67,6 +67,7 @@ Runnable scripts in [`examples/`](https://github.com/davidkhjo/ebmkit/tree/main/ - `train_diffusion.py` — a variance-preserving (DDPM) diffusion, energy-parameterized - `exact_likelihood_ode.py` — exact bits/dim for a score model via the probability-flow ODE - `train_flow.py` — a RealNVP normalizing flow with exact density and sampling +- `train_spline_flow.py` — a rational-quadratic spline flow: sharper fit than affine at equal depth - `train_cnf.py` — a continuous normalizing flow (FFJORD): exact likelihood by ODE - `train_cifar_ood.py` — energy-based OOD at color scale (CIFAR-10 vs CIFAR-100) - `train_rbm.py` — a Bernoulli RBM on binary bars via CD-1, with the exact `log Z` diff --git a/examples/spline_flow_result.png b/examples/spline_flow_result.png new file mode 100644 index 0000000000000000000000000000000000000000..ebdb610aa71fa9ef434c9b80473adb01f89529a0 GIT binary patch literal 183655 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Μ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 torch.nn.Module: + opt = torch.optim.Adam(flow.parameters(), lr=3e-3) + for _ in range(steps): + batch = data[torch.randint(0, len(data), (256,))] + loss = -flow.log_prob(batch).mean() # exact negative log-likelihood + opt.zero_grad() + loss.backward() + opt.step() + return flow + + +def main() -> None: + torch.manual_seed(0) + data = ebm.datasets.two_moons(8192) + test = ebm.datasets.two_moons(4000, generator=torch.Generator().manual_seed(1)) + + affine = _train(ebm.nets.AffineCouplingFlow(dim=2, n_layers=6, hidden=64), data) + spline = _train( + ebm.nets.NeuralSplineCouplingFlow(dim=2, n_layers=6, num_bins=8, bound=3.0), data + ) + + for name, flow in (("affine", affine), ("spline", spline)): + print(f"{name:7s} held-out NLL = {-flow.log_prob(test).mean().item():.3f} nats") + + import matplotlib + + matplotlib.use("Agg") + import matplotlib.pyplot as plt + + lin = torch.linspace(-2.5, 2.5, 200) + gy, gx = torch.meshgrid(lin, lin, indexing="ij") + grid = torch.stack([gx.reshape(-1), gy.reshape(-1)], dim=1) + + fig, axes = plt.subplots(1, 3, figsize=(15, 5)) + ebm.viz.plot_samples(data[:2000], ax=axes[0]) + axes[0].set_title("data") + for ax, (name, flow) in zip(axes[1:], (("affine", affine), ("spline", spline)), strict=True): + with torch.no_grad(): + dens = flow.log_prob(grid).exp().reshape(200, 200) + ax.imshow( + dens, extent=(-2.5, 2.5, -2.5, 2.5), origin="lower", vmax=float(dens.quantile(0.98)) + ) + ax.set_title(f"{name} flow density (exact)") + fig.suptitle("Affine vs rational-quadratic spline coupling — same 6-layer budget") + out = Path(__file__).parent / "spline_flow_result.png" + fig.savefig(out, dpi=120, bbox_inches="tight") + print(f"saved {out}") + + +if __name__ == "__main__": + main()