SAAC-JEPA / project page / preprint 2026

Source machine, latent state, target machine Animated schematic: a left panel labelled THWS source shows seventeen scrolling teal sensor traces and four amber step-shaped action traces; a violet latent bar in the middle pulses when a prediction is emitted; a right panel labelled JOANNEUM target, whose header reads 10 SHARED and 7 ABSENT for the seventeen channels, shows the same traces entering, where ten keep flowing in teal and seven fade to grey dashed flat lines. THWS SOURCE · SPINNER U5-620 17 CH · 1 Hz LATENT STATE z PREDICTION EMITTED JOANNEUM TARGET · SEALED 10 SHARED · 7 ABSENT

Scroll sideways to read the figure

Schema-Adaptive Action-Conditioned JEPA for Cross-Machine CNC Transfer under Partial Sensor Overlap

A CNC world model trained on 17 sensors, locked on source data alone, then evaluated in a single sealed pass on a machine it was never trained on, with 7 of them missing.

Ayoub Louaye BouazizUniversité de Bretagne Occidentale Matthieu OstertagMines Nancy, Université de Lorraine Anton DemaslesMines Nancy, Université de Lorraine

arXiv PDF Code Cite


01Abstract

Cross-machine deployment of industrial world models requires transfer across changes in machine dynamics, sensing interfaces, sampling regimes, and control units. This study investigates a schema-adaptive action-conditioned Joint-Embedding Predictive Architecture (SAAC-JEPA) for CNC dynamics when a source machine provides 17 canonical sensor channels and a target machine shares only 10. The evaluation protocol contains group-disjoint source splits, source-only normalization, deterministic held-out self-supervised validation, explicit unit audits, and a sealed target-machine test used only after model locking. A matched five-seed comparison shows no clean-source forecasting gain from JEPA pretraining: scratch and pretrained-body models obtain RMSE 0.811 ± 0.022 and 0.813 ± 0.022, respectively. A source-only architecture search over 20 candidates then selects a schema-consistent action-conditioned JEPA variant after stability checks across seven seeds. On the single confirmatory target-machine pass, the locked model reaches zero-shot RMSE 0.546, R² = 0.012, and NLL 0.52, improving over persistence but not over official RevIN-equipped PatchTST and iTransformer zero-shot baselines (0.503 and 0.498). A post-lock, pre-declared paired ablation attributes this gap to normalization: RevIN inside the same architecture yields 0.495 ± 0.004 over three seeds, level with the baselines, but collapses target calibration (NLL 20.6) on stationary context windows. A pre-lock adaptation sweep further suggests that small target support can reduce RMSE to 0.520. The evidence supports a narrow conclusion: source-domain forecasting accuracy alone is insufficient for evaluating industrial predictive representations, and cross-machine adaptation under partial sensor overlap is a distinct evaluation axis for action-conditioned world models.


02Same process, different machine, fewer sensors

A CNC world model should predict what the process does next under a candidate action, and it should keep working when it is moved to another machine whose sensing interface is not the one it was trained on.

We train on the THWS Spinner U5-620 five-axis machining centre — 17 canonical sensor channels, 62 NC-program sessions on a 1 Hz grid — and transfer to the FH JOANNEUM repository, where only 10 of those channels exist across 7 independent runs. Actions are the spindle speed and the commanded X/Y/Z feeds. The model takes a K = 32 s context and predicts directly at horizons {1, 2, 4, 8, 16} s rather than rolling out autoregressively.

Trained on 17 channels and locked on source data alone, with the target machine kept outside the architecture search, the model transfers to an unseen machine missing 7 of them and beats persistence on a single sealed pass. JEPA pretraining does not improve clean-source forecasting over matched scratch training. Source accuracy alone is therefore not sufficient to judge a transferred representation, and cross-machine adaptation under partial sensor overlap has to be evaluated as an axis of its own. Whether the transferred latent actually uses the control input is still to be measured on the locked model (see §08).

Source
17 sensors · 62 sessions
Target
10 shared · 7 runs
Context
32 s @ 1 Hz
Horizons
1 2 4 8 16 s
Zero-shot (target)
RMSE 0.546
Persistence (target)
RMSE 0.654

03The architecture

FIG. 1 SAAC-JEPA training graph
SAAC-JEPA training graph Animated schematic of the SAAC-JEPA training graph. Sensors pass through a schema mask and enter the context encoder together with the presence mask and past actions, producing a context latent. Future actions and that latent enter the predictor, which emits predicted latents at horizons of 1, 2, 4, 8 and 16 seconds. The future observation window passes through an EMA target encoder to give target latents, compared to the predictions through a stop-gradient by the latent loss. Two partial schema views drive the schema-consistency loss, a variance-covariance term regularises both latent sets, and an action-recovery head reconstructs the applied action. In the post-lock RevIN variant, shown as dashed green blocks, both windows are first normalised with per-channel statistics of the context window and the physical head output is de-normalised before any loss or metric; the locked model does not include this step. SENSORS x t−K:t · 17 ch PAST ACTIONS a t−K:t SCHEMA MASK m presence bits RevIN variant view A view B L schema two partial views must agree CONTEXT ENCODER f θ EMA τ z c context latent PREDICTOR g φ · direct multi-horizon FUTURE ACTIONS mean of a t:t+h−1 ẑ h = 1 s ẑ h = 2 s ẑ h = 4 s ẑ h = 8 s ẑ h = 16 s FUTURE WINDOW x t+1:t+H RevIN same (c, s) TARGET ENCODER f θ̄ · EMA, stop-grad z̄ t+h target latent sg[ · ] L lat L VICReg variance–covariance, anti-collapse L act â = head( z c , z̄ t+h )

Scroll sideways to read the figure

Sensors are masked to a partial schema and encoded together with the presence mask and past actions into a context latent; future actions condition a direct multi-horizon predictor whose five predicted latents are matched, through a stop-gradient, to an EMA target encoder — with variance–covariance, schema-consistency and action-recovery terms holding the representation in place. Dashed green: the post-lock RevIN variant (paper App. H) — per-window normalisation of both inputs with context-window statistics, inverted on the physical head; not part of the locked model.

The dashed green RevIN blocks mark the post-lock variant of the paper’s Sec. 4.4 / App. H: a per-channel centre and scale (c, s) computed from the context rows only, held at the identity for channels never observed, applied to both windows before encoding and inverted on the physical head before any loss or metric. The locked model uses a fixed source-train z-score instead; the RevIN numbers in §04 are diagnostic, not the locked result.


04Results at a glance

One sealed pass on a machine never seen in training, 7 of 17 sensors missing: RMSE 0.546 against 0.654 for persistence. Two official baselines still do better: PatchTST 0.503 and iTransformer 0.498 (lower is better). A post-lock ablation shows why: give the same model their instance normalization (RevIN) and it reaches 0.495 ± 0.004 over three seeds, at the price of its calibration.

RMSE in z units, lower is better. Source column: the official baselines are scored on the source test split (5,189 windows, 17 sensors); SAAC-JEPA is the seven-seed mean ± SD on source validation, and the scratch/pretrained rows are five-seed source validation — the source column therefore does not compare like with like. Target column: the 10 shared JOANNEUM channels (2,457 windows); the locked row is the single confirmatory pass, the RevIN row a second, declared read of three seeds with no selection on the target.
SettingSource RMSETarget zero-shot RMSENotes
Does pretraining help on the source machine?
Scratch0.811 ± 0.022five matched seeds
Pretrained body + fresh head0.813 ± 0.022p = 0.76 vs scratch
Complete pretrained checkpoint0.812 ± 0.012third matched control
Does it transfer to an unseen machine?
Persistence1.1350.654trivial floor; 1.135 on source validation, 1.128 on the source test split
Linear drift0.928trivial reference
PatchTST (official, RevIN)0.8040.503deterministic
iTransformer (official, RevIN)0.8220.498deterministic
SAAC-JEPA (locked)0.822 ± 0.0090.546probabilistic (mean and log-variance head); NLL 0.52; single declared pass
SAAC-JEPA + RevIN (post-lock)0.766 ± 0.0010.495 ± 0.004same model, instance normalization on; NLL 20.6; three seeds, diagnostic

Said plainly: official RevIN-equipped forecasters remain stronger than the locked SAAC-JEPA in raw zero-shot RMSE. That margin is a normalization effect: a post-lock paired ablation that adds presence-aware RevIN inside the same architecture reaches 0.495 ± 0.004 on three seeds, level with PatchTST and iTransformer, but its target NLL rises from 0.9 to 20.6 because a stationary context window shrinks the instance scale to √ε and crushes the predicted variance. The locked model stays the reference result, and the target windows have now been read twice (locked pass, then this declared ablation). On the source machine ordinary supervised baselines are stronger too (RSSM 0.759 and MLP 0.771 on source validation, against 0.822 for the locked candidate). The claim is narrower: the locked model beats persistence on a machine it has never seen while losing 7 of 17 channels, and its configuration was selected on source data alone. Per horizon it explains variance only at short horizons — target R² is 0.035, 0.055, 0.052, −0.023 and −0.059 at h = 1, 2, 4, 8, 16 s, i.e. below the pooled target-mean predictor at 8 and 16 s.


05The lock: how the target machine was kept out of model selection

Twenty candidate architectures were written down before any of them ran. Ranking used a composite source-validation score — 0.30 clean RMSE, 0.25 schema-drop RMSE, 0.15 masked RMSE, 0.10 long-horizon RMSE, 0.10 calibration penalty, 0.10 SSL validation loss — each component z-scored within the candidate pool, lower is better — plus penalties of 3.0 per collapsed seed and 1.0 for weak action usage. When the provisional winner changed under confirmation, locking was refused and more seeds were added. Two candidates collapsed outright — the plain JEPA control without anti-collapse regularization on all four seeds, and the largest model (d = 512, eight layers) on three of four. Moving the regularizers to the right latents raised target-encoder effective rank from roughly 5 % to 58 % of the latent dimensionality.

FIG. 4 Leakage-safe selection pipeline
Leakage-safe selection pipeline Animated schematic of the model-selection pipeline: twenty candidate chips are each run with four seeds, ranked by a composite source-validation score; the top five receive a fifth seed, at which point the provisional winner changes — per-horizon VICReg drops from first place and the schema-consistency plus action-recovery variant rises to first. Seven seeds confirm it, the configuration is locked with a SHA-256 hash, and a single arrow leads to the sealed JOANNEUM target test. Target data enters no arrow before the lock. 20 CANDIDATES × 4 seeds each · source only 2 collapsed — plain control 4/4 seeds, d = 512 3/4 COMPOSITE SCORE .30 clean · .25 schema-drop .15 masked · .10 long-h .10 calib penalty · .10 SSL collapse +3 · weak action +1 TOP-5 + a 5th seed confirmation stage LEADER CHANGES lock refused extra seeds added to the leaders RANK AFTER 7 SEEDS composite score (z-normalized, lower is better) #1 #2 schema + action recovery −0.83 per-horizon VICReg +0.09 the four-seed discovery leader is not the winner 7 SEEDS stability confirmed 0.822 ± 0.009 RMSE source validation LOCK · SHA-256 config · code normalizer · ckpt JOANNEUM · ONE PASS 0.546 zero-shot RMSE R² = 0.012 · NLL = 0.52 Selection runs on THWS source validation only — the target machine enters no arrow before the lock.

Scroll sideways to read the figure

Twenty candidates, four seeds each, ranked on a composite source-validation score; the top five get a fifth seed, the leader changes, locking is refused, seven seeds settle it — and only then does one arrow reach the sealed target machine.


06What a world model buys you

A forecaster answers “what happens next”. A world model answers “what happens next if I do this”. On highly autocorrelated industrial streams the two are easy to confuse: a model can score well at short horizons while effectively ignoring the control input.

FIG. 2 Action-conditioned simulation of candidate futures
Action-conditioned simulation of candidate futures Animated schematic: a 32-second context window of observed sensor traces is encoded into a latent state; two candidate action sequences, spindle up and spindle down, then produce two diverging multi-horizon predictions with widening uncertainty bands at 1, 2, 4, 8 and 16 seconds. Conceptual, not a closed-loop result.

Scroll sideways to read the figure

Conceptual schematic, not a measured result. The same 32 s context and latent state are predicted forward at each horizon — directly, not autoregressively — under two candidate spindle commands; the head emits a mean and a log-variance per channel. The divergence between the two branches and the width of the bands are drawn to illustrate the mechanism, not taken from data. Action sensitivity under transfer and calibration have not been re-measured on the locked model (see §08).


07Adaptation with 10–20 % target support

FIG. 6(b) THWS → JOANNEUM few-shot adaptation (pre-lock model)
THWS to JOANNEUM few-shot adaptation curve Animated line chart. Horizontal axis: target support fraction of 0, 5, 10 and 20 percent. Vertical axis: RMSE on the JOANNEUM target in z units. The line runs 0.612 at zero support, 0.611 at five percent, 0.540 at ten percent and 0.520 at twenty percent. A dashed reference line marks persistence at 0.654. The curve was measured on the pre-lock model and is diagnostic, not confirmatory. 0.50 0.54 0.58 0.62 0.66 0 5% 10% 20% target support RMSE on JOANNEUM (z units) persistence, sealed pass — 0.654 0.612 0.611 0.540 0.520 no complete 48-step support window at 5% — this point is effectively zero-shot, not an adaptation failure Pre-lock model, evaluated on the query windows left after the support fraction is removed. Diagnostic, not confirmatory. The persistence reference comes from the separate sealed 2,457-window pass.

Scroll sideways to read the figure

On the pre-lock model, zero-shot transfer gives RMSE 0.612 (MAE 0.401, R² = −0.244); 10 % support brings it to 0.540 with R² = 0.046, and 20 % to 0.520 (MAE 0.299, R² = 0.167).


08Scope of the evidence

What the numbers support today.

  • One transfer, measured cleanly. The results cover one source machine and one target machine with seven independent runs. They establish cross-machine transfer for this pair under partial sensor overlap; broader invariance claims wait for more machines.
  • The locked result is a single checkpoint. The target number comes from the configuration frozen on source data alone, evaluated once. The few-shot curve was measured before the lock and is shown as a diagnostic; re-running it on the locked model is the next step.
  • Baselines and ablations are single-seed at repository defaults. On the pre-lock model, shuffling future actions moved target RMSE by less than 0.005 and predictive intervals covered 67 % at a nominal 90 %; neither has been re-measured on the locked model, and run-level confidence intervals are pending. The full list is in the paper’s Limitations section.

09Cite

BibTeX
@article{bouaziz2026saacjepa,
  title   = {Schema-Adaptive Action-Conditioned JEPA for Cross-Machine CNC
             Transfer under Partial Sensor Overlap},
  author  = {Bouaziz, Ayoub Louaye and Ostertag, Matthieu
             and Demasles, Anton},
  journal = {arXiv preprint},
  year    = {2026},
  eprint  = {2609.16071},
  archivePrefix = {arXiv},
  primaryClass  = {cs.LG},
  url     = {https://arxiv.org/abs/2609.16071}
}

https://arxiv.org/abs/2609.16071