Dual Information-Demand Curiosity
Implementation & benchmark of arXiv:2608.17167 — Expected free energy as an information constraint on the Bethe Lagrangian
Source paper: Expected free energy as an information constraint on the Bethe Lagrangian arXiv:2608.17167 ⓘ · analyzed Sep 1, 2026
AI-generated research hypothesis, automatically tested. Not peer-reviewed.
Idea description
Train a latent world model with a conditional-mutual-information lower-bound constraint instead of using a fixed curiosity or information-gain coefficient. The dual multiplier increases only when predicted observations contain less information about latent states and model parameters than the goal prior demands, and decreases when the target is exceeded; this produces an adaptive epistemic-pressure schedule with explicit inactive and saturated regimes.
Formulas
Mathematical statement
The paper represents the predictive model by the factorization q(y_{ au},x_{ au},u_{ au},A,B)=q(y_{ au}\mid x_{ au},A)q(x_{ au},u_{ au},A,B), where y_{ au} are future observations, x_{ au} future latent states, u_{ au} actions, and A,B emission and transition parameters. Its key constraint is the information requirement I_q(y_{ au};x_{ au},A,B\mid u_{ au})\ge H(p_*), where I_q is conditional mutual information and H(p_*)=-\sum_y p_*(y)\log p_*(y) is the entropy of the goal-prior distribution p_*. For a Bethe objective F_B(q), use the constrained Lagrangian \mathcal{L}(q,\lambda)=F_B(q)+\lambda[H(p_*)-I_q(y_{ au};x_{ au},A,B\mid u_{ au})], with dual variable \lambda\ge0. The KKT conditions are I_q\ge H(p_*), \lambda\ge0, and \lambda[I_q-H(p_*)]=0. Thus \lambda=0 when the information demand is inactive, \lambda>0 when it is binding, and a large clipped \lambda produces the saturated regime. For a factor graph with factors f and variables i, a usable Bethe surrogate is F_B(q)=\sum_f\mathbb{E}_{q_f}[\log q_f(z_f)-\log f(z_f)]-\sum_i(d_i-1)H(q_i), where q_f and q_i are locally consistent factor and variable beliefs, z_f is the tuple of variables in factor f, d_i is the number of factors incident to variable i, and H(q_i)=-\mathbb{E}_{q_i}[\log q_i]. In a neural implementation, estimate I_q by I_q(Y;Z\mid U)=\mathbb{E}_{q(y,z,u)}[\log q_\phi(y\mid z,u)-\log q_\psi(y\mid u)] with Z=(X,A,B), using a learned conditional decoder q_\phi and action-conditional marginal q_\psi.
Implementation notes
(1) Integration point: modify the loss of a probabilistic latent world model used by model-based RL. Let an encoder produce z_t, a recurrent transition model produce z_{t+1:t+K} and predicted parameter embeddings theta=(A,B), and a decoder produce future-observation likelihood q_phi(y_{t+1:t+K}|z_{t+1:t+K},theta). Keep the policy/action distribution q(u_{t+1:t+K}) unchanged initially. Replace a fixed curiosity coefficient with the dual term lambda*(H_goal-I_hat).
(2) Pseudocode: sample N trajectory starts and imagined action sequences u. Unroll the transition model to obtain z and theta, then sample or reparameterize predicted observations y. Compute the usual Bethe/ELBO world-model loss F_B, including local transition/emission factor terms and entropy corrections. Train q_phi(y|z,theta,u) and a separate q_psi(y|u) marginal decoder. Compute I_hat = mean(log q_phi(y|z,theta,u)-log q_psi(y|u)); detach I_hat for the dual update but not for the primal loss. Minimize F_B + lambda*(H_goal-I_hat) with respect to model parameters. Update lambda after each batch as lambda=max(0,lambda+eta_lambda*(H_goal-EMA(I_hat))); optionally clip lambda to lambda_max.
(3) Computed from the mathematics: the sign of the Lagrangian term, the nonnegative dual update, complementary-slackness behavior, and the Bethe entropy-counting correction. Estimated empirically: I_hat, the EMA used for its constraint, and H_goal when the goal prior is learned. For stability, use stop-gradient on q_psi targets, a slowly updated EMA of I_hat, gradient clipping, and warm-start lambda=0 for the first few thousand updates. Test three regimes by setting H_goal below, near, and above the model's attainable mutual information; the expected behavior is respectively lambda approximately zero, an interior adaptive lambda, and lambda approaching its clip.
(4) First experiment: use a small RSSM or transformer world model on MiniGrid or DMControl with sparse visual observations, comparing standard ELBO plus fixed curiosity, unconstrained mutual-information regularization, and the dual-constrained objective. Use identical models, imagined horizon K, replay data, and environment steps. Measure task return, observation-prediction negative log-likelihood, calibration of latent uncertainty, empirical I_hat, lambda trajectory, and wall-clock/FLOPs. Success is higher return or faster attainment of a fixed return at equal environment interactions, while I_hat tracks H_goal without collapse; a failure signal is lambda saturation together with degraded reconstruction or policy performance.
Verification
Stage 1 · Toy mechanism gate: Passed ✓
Stage 2 · Mechanism transferred to benchmark: Not reproduced ✗
Stage 2 · Practical benchmark result: Inconclusive
Methodology: 8 paired seeds, permutation test (p<0.05) against a learning-rate-tuned baseline. How verification works
Stage 1 — Mechanism check agent confidence 9/10
Built a convex information-coordinate toy implementing the dual update, bounded attainable information, inactive/binding/saturated regimes, and a fixed-coefficient baseline. The mechanism manifested exactly: inactive demand produced lambda=0 and I=I0; five feasible targets tracked with absolute error below 1.3e-15; unattainable demand reached Imax with lambda=8; and fixed-information dual drift matched eta*(H-I) to floating-point precision. This validates the KKT/dual mechanism, but not its usefulness in a neural world model or RL task.
- Agent confidence
- 9/10
- Baseline
- Fixed lambda=1 gives I=0.505008 nats regardless of target.
- Idea
- I0=0.005008, Imax=0.661668; inactive I=0.005008/lambda=0; binding target H=0.234839 gives I=0.234839/lambda=0.459662; saturated H=0.761668 gives I=0.661668/lambda=8; feasible-sweep max |I-H|=1.22e-15; fixed-I drift errors are numerical zero.
Limitations: This is an analytically controlled scalar-information toy, not a learned latent world model. It uses exact mutual information and an exact inner primal solve rather than sampled neural decoders, and does not test reconstruction quality, RL return, wall-clock speed, stochastic estimator variance, or Bethe-factor-graph training.
How to run: python3 dual_information_toy.py
Stage 2 — Benchmark vs. tuned baseline (arXiv:2608.17167)
Ahead of the baseline (−10.0%) but not statistically significant (p=0.365, wins 6 / 8 paired seeds).
- Benchmark
- Dynamics forecasting
- Model
- rnn_small
- Paired seeds
- 8
- Baseline mean
- 0.0012
- Idea mean
- 0.0011
- Effect (Δ)
- -0.0001 (−10.0%; negative = idea better)
- Wins
- 6 / 8 paired seeds
- p-value
- 0.365 (permutation test, 20 000 shuffles)
- Smallest detectable effect
- n/a
- Mechanism
- Not confirmed ✗
- Practical effect
- Inconclusive
- Baseline tuning
- swept over 9 configs
Only registered dynamics was tested; no full RSSM, RL return, imagined rollout, Bethe objective, calibration, or FLOP study.
How to run: python3 bench_dual_dynamics.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
The idea was tested on registered dynamics with shared rnn_small models and eight paired seeds. It improved mean MSE from 0.0011755236 to 0.0010581258, but p=0.365, so there was no significant win. The mechanism signature was not confirmed because measured information exceeded H_goal and lambda was often inactive.
- Baseline
- MSE mean 0.0011755235827877186; best lr=0.01, pressure=0.2
- Idea
- MSE mean 0.0010581257738522254; best eta_lambda=0.08, H_goal=0.55; delta=-0.00011739780893549323; p=0.365
Benchmark result
Ahead of the baseline (−10.0%) but not statistically significant (p=0.365, wins 6 / 8 paired seeds).
- Benchmark
- Dynamics forecasting
- Model
- rnn_small
- Paired seeds
- 8
- Baseline mean
- 0.0012
- Idea mean
- 0.0011
- Effect (Δ)
- -0.0001 (−10.0%; negative = idea better)
- Wins
- 6 / 8 paired seeds
- p-value
- 0.365 (permutation test, 20 000 shuffles)
- Smallest detectable effect
- n/a
- Mechanism
- Not confirmed ✗
- Practical effect
- Inconclusive
- Baseline tuning
- swept over 9 configs
Only registered dynamics was tested; no full RSSM, RL return, imagined rollout, Bethe objective, calibration, or FLOP study.
How to run: python3 bench_dual_dynamics.py
Artifacts
- bench_dual_dynamics.py 6.4 KB View Raw
- bench_report.json 5.2 KB View Raw
- dual_information_toy.py 2.6 KB View Raw
- report.md 1.5 KB View
- report_bench_2026-09-01T164225.md 4.4 KB View
- results.json 2.3 KB View Raw