Joint latent-actuator identification
Implementation & benchmark of arXiv:2607.25739 — Joint identification of permanent magnet synchronous machine and inverter
Source paper: Joint identification of permanent magnet synchronous machine and inverter arXiv:2607.25739 ⓘ · analyzed Aug 31, 2026
AI-generated research hypothesis, automatically tested. Not peer-reviewed.
Idea description
Add a low-dimensional actuator-distortion model alongside a neural state-transition model instead of assuming that commanded control is the realized control. For a transition $x_{t+1}=F_\theta(x_t,u_t^{\mathrm{cmd}}+d_\phi(x_t,u_t^{\mathrm{cmd}}))$, jointly fit the intrinsic dynamics parameters $\theta$ and disturbance parameters $\phi$, with a strong simplicity prior on $d_\phi$. This should prevent the dynamics network from absorbing systematic actuator errors and improve cross-regime rollouts.
Formulas
Mathematical statement
The paper models the realized input as $\bar{u}=u+\tilde{u}$ and approximates the actuator disturbance by a one-parameter saturating nonlinearity $\tilde{u}=u_e\tanh(i)$, where $u$ is commanded input, $i$ is measured current, and $u_e$ is an unknown voltage-error scale. In the neural adaptation, $x_t$ is the observed state, $u_t$ is the commanded action, $d_\phi(x_t,u_t)$ is a low-dimensional actuator-error model, and $F_\theta$ is the intrinsic transition model. The observed transition is $x_{t+1}=F_\theta(x_t,u_t+d_\phi(x_t,u_t))+\epsilon_t$. If the disturbance is omitted, the regression error contains the correlated term $J_uF_\theta d_\phi$, producing omitted-variable bias in the learned dynamics. Joint estimation is useful only when the disturbance branch is constrained: use $d_\phi(u)=\alpha\tanh(u/\tau)$ or a low-rank variant, penalize disturbance energy, and constrain its input Jacobian. Here $\alpha$ is the disturbance amplitude, $\tau$ is the saturation scale, $J_uF_\theta$ is the transition Jacobian with respect to input, and $\epsilon_t$ is measurement and process noise.
Implementation notes
1. Integration point: use this in a model-based RL world model, neural state-space model, or recurrent predictor where logged actions are commands rather than guaranteed realized forces. Keep the main transition network $F_\theta$ unchanged and insert a differentiable actuator layer before its action input. Start with one scalar distortion scale per action dimension, $d_\phi(u)=\alpha\tanh(u/\tau)$; optionally let $\alpha$ depend on a slowly varying operating-condition embedding. 2. Pseudocode: initialize $\theta,\alpha$; for each minibatch $(x_t,u_t,x_{t+1})$, compute $d=\alpha\tanh(u/\tau)$, $\hat{x}_{t+1}=F_\theta(x_t,u+d)$, and update $\theta,\alpha$ using $\|\hat{x}_{t+1}-x_{t+1}\|^2+\lambda_d\|d\|^2$. Clip or spectrally normalize the actuator branch so its input Jacobian is at most $L_d$. 3. Computed from the paper: the additive realized-input decomposition and saturating disturbance parameterization. Estimated empirically: $\alpha$, $\tau$, $L_d$, and $\lambda_d$; estimate $L_d$ by automatic differentiation on minibatches. Include a $d=0$ baseline and an oracle model given realized actions. 4. First cheap experiment: train one-step and 20-step predictors on MuJoCo Pendulum or CartPole data generated with a hidden actuator dead-zone or multiplicative saturation, while exposing only commanded actions. Compare the standard model, joint model, and oracle. The predicted signature is that baseline residuals remain correlated with action magnitude and saturation state, whereas joint-model residual correlation approaches zero and rollout error approaches the oracle. Sweep $\alpha$; the joint model should become clearly superior when the omitted-variable contribution exceeds roughly 10% of intrinsic transition variation. With insufficient action excitation, $\alpha$ and $F_\theta$ should be poorly separated, producing high bootstrap variance in $\alpha$ and no consistent improvement.
Verification
Stage 1 · Toy mechanism gate: Passed ✓
Stage 2 · Mechanism transferred to benchmark: Confirmed ✓
Stage 2 · Practical benchmark result: Significant win ✓
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 deterministic scalar joint latent-actuator identification MVP using a constrained saturating disturbance d(u)=alpha*tanh(u/tau), plus a commanded-input linear baseline. The mechanism manifested: the derivative maximum matched the predicted |alpha|/tau within 5.4e-7 relative error, and small-alpha omitted-variable bias scaled with observed/predicted slope ratio 0.9986. Cross-regime MSE improved substantially for nonzero distortion, while at alpha=0 the joint model was effectively neutral/slightly worse, as predicted.
- Agent confidence
- 9/10
- Baseline
- Cross-regime MSE by alpha [0, .05, .1, .2, .4, .8] = [1.019e-4, 4.393e-4, 1.425e-3, 5.747e-3, 2.308e-2, 9.097e-2]; zero-disturbance mean MSE=9.856e-5.
- Idea
- Cross-regime MSE by alpha [0, .05, .1, .2, .4, .8] = [1.019e-4, 1.002e-4, 9.844e-5, 1.010e-4, 1.003e-4, 9.934e-5]; zero-disturbance mean MSE=9.902e-5. Derivative bound relative error=5.37e-7; observed/predicted bias slope=0.9986.
Limitations: This is a scalar synthetic one-step regression rather than a neural world model or MuJoCo rollout. It does not test multistep stability, operating-condition-dependent disturbances, explicit disturbance-energy regularization, input-Jacobian clipping, GPU behavior, or uncertainty/bootstrap identifiability under weak excitation.
How to run: python3 experiment.py
Stage 2 — Benchmark vs. tuned baseline (arXiv:2607.25739)
Beats the tuned baseline by 0.6% (p=0.0224, wins 7 / 8 paired seeds; metric: lower is better).
- Benchmark
- Dynamics forecasting
- Model
- rnn_small
- Paired seeds
- 8
- Baseline mean
- 0.0001
- Idea mean
- 0.0001
- Effect (Δ)
- -0 (−0.6%; negative = idea better)
- Wins
- 7 / 8 paired seeds
- p-value
- 0.0224 (permutation test, 20 000 shuffles)
- Smallest detectable effect
- ±0.5%
- Mechanism
- Confirmed ✓
- Practical effect
- Helps
- Baseline tuning
- swept over 3 configs
The standard dynamics track has commanded controls but no hidden actuator distortion and no separate realized-action evaluation, so the intended cross-regime generalization claim was not directly tested. The mechanism signature uses trained models but its near-unit residual correlation is degenerate because the learned disturbance signal is nearly zero; no custom hidden-actuator track, multistep rollout comparison, tau sweep, explicit Jacobian clipping, or oracle-realized-action baseline was run.
How to run: python3 bench_experiment.py
Verdict computed by deterministic test code from paired-seed statistics — not by the language model.
Stage 2 — Benchmark latest Worked ✓
Agent confidence: 8/10
Built and ran a matched rnn_small dynamics benchmark with a constrained differentiable actuator layer d(u)=alpha*tanh(u/tau). Across 8 paired seeds, the idea improved mean test MSE from 0.0001449627 to 0.0001440687, with 7/8 wins and permutation p=0.0224; the registered built-in dynamics track therefore reports a significant win. The improvement is small (0.62%), and because this standard track has no hidden actuator distortion, the intended cross-regime identification benefit remains untested.
- Baseline
- Best lr=0.006; mean MSE=0.00014496273979602847.
- Idea
- Best lr=0.006; mean MSE=0.00014406874470296316; delta=-8.93995093065314e-07; p=0.0224.
Benchmark result
Beats the tuned baseline by 0.6% (p=0.0224, wins 7 / 8 paired seeds; metric: lower is better).
- Benchmark
- Dynamics forecasting
- Model
- rnn_small
- Paired seeds
- 8
- Baseline mean
- 0.0001
- Idea mean
- 0.0001
- Effect (Δ)
- -0 (−0.6%; negative = idea better)
- Wins
- 7 / 8 paired seeds
- p-value
- 0.0224 (permutation test, 20 000 shuffles)
- Smallest detectable effect
- ±0.5%
- Mechanism
- Confirmed ✓
- Practical effect
- Helps
- Baseline tuning
- swept over 3 configs
The standard dynamics track has commanded controls but no hidden actuator distortion and no separate realized-action evaluation, so the intended cross-regime generalization claim was not directly tested. The mechanism signature uses trained models but its near-unit residual correlation is degenerate because the learned disturbance signal is nearly zero; no custom hidden-actuator track, multistep rollout comparison, tau sweep, explicit Jacobian clipping, or oracle-realized-action baseline was run.
How to run: python3 bench_experiment.py
Artifacts
- bench_experiment.py 5.6 KB View Raw
- bench_report.json 2.5 KB View Raw
- experiment.py 5.2 KB View Raw
- report.md 1.5 KB View
- report_bench_2026-08-31T174311.md 4.4 KB View
- results.json 4.4 KB View Raw