Dilation-Matched Metropolized Dynamics
Implementation & benchmark of arXiv:2608.18365 — Posterior Convergence without Force Convergence: Resolution-Stable Sampling for Rough Bayesian Inverse Problems
Source paper: Posterior Convergence without Force Convergence: Resolution-Stable Sampling for Rough Bayesian Inverse Problems arXiv:2608.18365 ⓘ · analyzed Sep 1, 2026
AI-generated research hypothesis, automatically tested. Not peer-reviewed.
Idea description
Replace the unstable classical derivative of a discretized rough energy component with a matched dilation quotient derived from its intrinsic scale recursion. Use this field inside kick-drift-kick proposals and apply an exact Metropolis correction, allowing the proposal field to be measurable and nonconservative rather than an exact neural-energy gradient. The experiment should test whether acceptance rates and posterior samples remain stable as the rough-energy resolution increases.
Formulas
Mathematical statement
The rough component is the finite Weierstrass truncation $W_N(x)=\sum_{n=0}^{N}a^n\phi(b^n x)$, where $0<a<1$, $b>1$, and $\phi:\mathbb{R}\to\mathbb{R}$ is bounded and one-periodic. The potential is $U_N(x)=V(x)+\kappa W_N(x)$, where $V$ is a baseline potential, $\kappa\in\mathbb{R}$ is the rough amplitude, and $x>0$. Instead of the classical derivative $W_N'(x)$, which can grow geometrically with $N$, use the dilation quotient $D_{a,b}W_N(x):=[W_N(x)-aW_N(bx)]/x$. Substitution gives the exact finite-scale closure $D_{a,b}W_N(x)=[\phi(x)-a^{N+1}\phi(b^{N+1}x)]/x$, so the field does not require differentiating the increasingly oscillatory truncation. Define $G_N(x)=V'(x)+\kappa D_{a,b}W_N(x)$. A kick $p\mapsto p-(\varepsilon/2)G_N(x)$ is a triangular shear with unit Jacobian. Consequently, a reversible kick-drift-kick composition can be Metropolized even if $G_N$ is not the gradient of $U_N$. Here $p$ is momentum, $\varepsilon$ is the step size, and $M$ is a positive-definite mass matrix.
Implementation notes
Integrate the method at the sampler force-evaluation point, rather than inside the neural-network forward pass. Begin with a scalar or low-dimensional latent target so the dilation operation $x\mapsto bx$ is well defined. Let the target energy be $U_N(x)=E_\theta(x)+\kappa W_N(x)$, where $E_\theta$ is a differentiable neural energy and $W_N$ is the explicit rough feature. At each leapfrog step, use autodiff to compute $g_\theta=\nabla E_\theta(x)$. Compute the rough field outside autodiff as $d_N=[W_N(x)-aW_N(bx)]/x$, or use the finite-closure expression $d_N=[\phi(x)-a^{N+1}\phi(b^{N+1}x)]/x$. Set $G_N=g_\theta+\kappa d_N$, then apply the kick-drift-kick equations above. At the end, optionally negate momentum to make reversibility explicit, and accept using the full target energy $U_N$, not the surrogate field. Restrict the initial test to $x\geq x_{\min}>0$ to avoid the quotient singularity; separately test an additive quotient near zero. The paper determines the scale recursion and closure, while acceptance rate, integrated autocorrelation time, effective sample size, and stable step size are measured empirically. Use a 2D target with a small MLP energy and resolutions $N\in\{4,8,12,16\}$. Compare classical autodiff HMC, the matched-quotient sampler, and random-walk Metropolis at equal energy evaluations. Success means that quotient-sampler acceptance, posterior moments, and ESS per evaluation vary substantially less with $N$ than classical HMC, whose step size should need resolution-dependent shrinking.
Verification
Stage 1 · Toy mechanism gate: Passed ✓
Stage 2 · Mechanism transferred to benchmark: Confirmed ✓
Stage 2 · Practical benchmark result: Significantly worse ✗
Methodology: 8 paired seeds, permutation test (p<0.05) against a learning-rate-tuned baseline. How verification works
Stage 1 — Mechanism check agent confidence 8/10
Built a scalar dilation-matched kick-drift-kick sampler with exact Metropolis correction and numerical checks. Closure error stayed below 6.5e-9; the classical derivative grew geometrically while the quotient remained bounded, and fixed-step acceptance stayed high for the quotient but collapsed for classical dynamics at high resolution. This demonstrates a real stability signal, but not a fully validated sampling-quality improvement because short-chain quotient posterior means and ESS were unstable.
- Agent confidence
- 8/10
- Baseline
- Classical derivative max magnitude: 6.28 at N=0, 1.19e4 at N=8, and 1.31e7 at N=16; acceptance at eps=0.01: 0.743 at N=4, 0.029 at N=8, and 0 at N=12 and N=16.
- Idea
- Dilation quotient max magnitude: 7.56 at N=0, 5.36 at N=8, and 4.82 at N=16; acceptance at eps=0.01: 0.864 at N=4, 0.847 at N=8, 0.841 at N=12, and 0.841 at N=16. At N=16, acceptance remained 0.820-0.882 over eps=0.002-0.020.
Limitations: Only a one-dimensional positive-domain toy target was tested. No 2D neural energy, GPU implementation, random-walk baseline, equal-FLOP accounting, long-chain diagnostics, or independent reference posterior was included.
How to run: python3 dilation_experiment.py | tee results.txt
Stage 2 — Benchmark vs. tuned baseline (arXiv:2608.18365)
Significantly WORSE than the tuned baseline (+549.1%, p=0.0081, wins 0 / 8 paired seeds).
- Benchmark
- Custom_tracks/rough_energy_regression
- Model
- mlp_tiny
- Paired seeds
- 8
- Baseline mean
- 0.1198
- Idea mean
- 0
- Effect (Δ)
- 0.6576 (+549.1%; negative = idea better)
- Wins
- 0 / 8 paired seeds
- p-value
- 0.0081 (permutation test, 20 000 shuffles)
- Smallest detectable effect
- n/a
- Mechanism
- Confirmed ✓
- Practical effect
- Hurts
- Baseline tuning
- swept over 0 configs
The built-in tracks did not contain posterior sampling or rough-energy dynamics, so this used a custom supervised transfer track. It tests the quotient field as a parameter-space training update rather than the original Metropolized sampler; posterior acceptance, ESS, and long-chain diagnostics were not measured. The bench build required local NumPy-to-tensor conversion before calling train_model.
How to run: python3 stage2_bench.py
Verdict computed by deterministic test code from paired-seed statistics — not by the language model.
Stage 2 — Benchmark latest Failed ✗
Agent confidence: 9/10
Implemented a custom rough-energy regression track and paired 8-seed Stage-2 benchmark using the same mlp_tiny architecture, with Adam as baseline and the dilation-quotient update as intervention. The mechanism signature was confirmed at NN scale, but the idea was significantly worse: test MSE 0.7774 versus 0.1198, paired delta +0.6576, permutation p=0.0081. The stability-inspired quotient update therefore did not transfer into a beneficial neural training method.
- Baseline
- Adam, best lr=0.009 and weight_decay=0.0001; 8-seed test MSE mean 0.11978, std 0.01038.
- Idea
- Dilation-quotient update, best shared-grid lr=0.001 and weight_decay=0; 8-seed test MSE mean 0.77743, std 0.13186; paired delta +0.65765, permutation p=0.0081.
- Mechanism signature
- map[confirmed:true observed_idea_output_roughness:0.0196735095 predicted_bound:10]
Benchmark result
Significantly WORSE than the tuned baseline (+549.1%, p=0.0081, wins 0 / 8 paired seeds).
- Benchmark
- Custom_tracks/rough_energy_regression
- Model
- mlp_tiny
- Paired seeds
- 8
- Baseline mean
- 0.1198
- Idea mean
- 0
- Effect (Δ)
- 0.6576 (+549.1%; negative = idea better)
- Wins
- 0 / 8 paired seeds
- p-value
- 0.0081 (permutation test, 20 000 shuffles)
- Smallest detectable effect
- n/a
- Mechanism
- Confirmed ✓
- Practical effect
- Hurts
- Baseline tuning
- swept over 0 configs
The built-in tracks did not contain posterior sampling or rough-energy dynamics, so this used a custom supervised transfer track. It tests the quotient field as a parameter-space training update rather than the original Metropolized sampler; posterior acceptance, ESS, and long-chain diagnostics were not measured. The bench build required local NumPy-to-tensor conversion before calling train_model.
How to run: python3 stage2_bench.py
Artifacts
- bench_report.json 5.7 KB View Raw
- dilation_experiment.py 3.0 KB View Raw
- report.md 1.4 KB View
- report_bench_2026-09-01T170548.md 3.5 KB View
- rough_track.py 1.0 KB View Raw
- stage2_bench.py 5.0 KB View Raw