Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
58 changes: 58 additions & 0 deletions NeuralComposeEEG/ROADMAP.md
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,36 @@ The supporting [mathematics, physics, and methods
scope](../docs/scoping/eeg-mathematics-physics-methods-scope.md) separates the
linear-algebra, signal-processing, and evaluation foundations needed now from
later electroquasistatic, sensor-fusion, optimization, and shadow-policy work.
The [SVD decision memo](../docs/research/svd-four-channel-eeg-decision-memo_v1.md)
and [proposed SVD experiment roadmap](../docs/scoping/svd-eeg-experiment-roadmap.md)
classify singular-spectrum diagnostics and train-only feature reduction as
separate, non-runtime studies. At D0 they are foundational only: they do not
modify the fixed encoder conditions or authorize a physical-data claim.
Their contracts are [SVD diagnostics](experiments/EXP-NC-SVD-DIAG-001.md),
[M0 feature reduction](experiments/EXP-NC-SVD-M0-001.md),
[representation analysis](experiments/EXP-NC-SVD-REP-001.md), and the deferred
[synthetic inverse study](experiments/EXP-NC-SVD-INV-001.md).

The separate [`EXP-FUNC-SYN-000` decision
memo](../docs/research/function-space-foundations-decision-memo-v0.md) and
[contract](../configs/function-space-foundations-v0.json) define a
synthetic-only D0 mathematical-foundations package. Its empirical-measure,
derivative, Sobolev, convergence, operator, and mixed-integration fixtures do
not read EEG, alter preprocessing, change M0-M4, or delay physical Muse
capture. Every result remains `insufficient_evidence` and `not_eligible`.

The [JEPA decision
memo](../docs/research/jepa-four-channel-eeg-decision-memo-v0.md) and proposed
[`EXP-NC-EEG-JEPA-001`](experiments/EXP-NC-EEG-JEPA-001.md) define a separate
Pass 1.5 encoder-objective comparison. At D0 this is documentation and
deterministic diagnostic-contract work only. It does not alter M0-M4, authorize
Laya download or training, or create a live JEPA path. D2 may permit only a
separately preregistered tiny pipeline-evidence run; D3 is the first scientific
comparison and still requires an approved pretraining-data gate. The registered
[collapse diagnostics](../docs/scoping/jepa-collapse-diagnostics-v0.json)
measure representation geometry directly, but cannot support an encoder
without the existing grouped predictive, calibration, artifact, and robustness
evidence.

Gate to encoder confirmation: protocol-complete sessions on multiple days,
then M0, M1, M2, M3, and eventually M4 on the same session-grouped folds.
Expand All @@ -33,6 +63,34 @@ without the shared fixed-compute configuration hash and retains runtime evidence
separately from predictive outcomes. Core ML conversion is deferred until a
compact candidate is selected by this offline evidence.

## EXP-NC-EEG-JEPA-001

Proposed Pass 1.5 work only. It compares matched reconstruction, latent
prediction, anti-collapse, and bounded hybrid objectives after the ordinary
encoder program reaches the applicable gate. D2 can establish pipeline
execution only under a separate preregistration. A scientific comparison waits
until D3 and a separately reviewed corpus is adequate for self-supervised
learning. Short pilot captures are not enough merely because their labels can
be hidden. Every local pretraining fit remains inside its outer
training-session partition.

This is not the existing action-conditioned `WorldModel/` JEPA spike. An
encoder representation does not become a transition model, MPC objective, or
dialogue controller. Every JEPA result remains `insufficient_evidence`,
`promotion_status: not_eligible`, and `runtime_change: none`.

### Synthetic JEPA rehearsal

[`EXP-NC-EEG-JEPA-SYN-000`](experiments/EXP-NC-EEG-JEPA-SYN-000.md) is the
separate executable path for deterministic S0-S6 objective, control, collapse,
grouping, and artifact checks. Its
[generator contract](../docs/scoping/jepa-synthetic-generators-v0.json)
prohibits fallback acquisition data and physical claims. The optional
[mode-stratified extension](experiments/EXP-NC-EEG-JEPA-SYN-MODE-000.md)
treats mirror, focus, reflective, and contemplative only as externally assigned
synthetic regimes. Neither rehearsal changes the D0 status of the physical
JEPA experiment or sets physical-study thresholds.

## EXP-NC-ARC-XFER-001

Deferred until the encoder experiment selects a *fixed* shadow-only state
Expand Down
140 changes: 140 additions & 0 deletions NeuralComposeEEG/configs/jepa-synthetic-v0.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,140 @@
{
"schema_version": "nc-eeg-jepa-synthetic-config-v0",
"experiment_id": "EXP-NC-EEG-JEPA-SYN-000",
"mode_experiment_id": "EXP-NC-EEG-JEPA-SYN-MODE-000",
"seed": 42,
"device": "cpu",
"source": {
"schema_version": "nc-eeg-jepa-synthetic-source-v0",
"source_type": "deterministic_synthetic_fixture",
"device_id": "synthetic-generator",
"participant_id": null,
"physical_capture_eligible": false,
"fallback_capture_allowed": false
},
"data": {
"sample_rate_hz": 64,
"channel_count": 4,
"window_samples": 64,
"windows_per_session": 24,
"sessions_per_generator": 6,
"generator_ids": ["S0", "S1", "S2", "S3", "S4", "S5", "S6"]
},
"split": {
"unit": "complete_synthetic_session",
"outer_test_sessions": 2,
"inner_validation_sessions": 1,
"outer_fold_count": 2,
"normalization": "fit_training_sessions_only",
"adjacent_window_split_allowed": false
},
"mask": {
"fraction": 0.25,
"geometry": "contiguous_temporal_span",
"same_schedule_across_conditions": true
},
"model": {
"architecture_id": "synthetic-four-channel-jepa-v0",
"encoder_hidden_dim": 16,
"latent_dim": 8,
"predictor_hidden_dim": 24,
"mode_context_dim": 4,
"decoder_present_in_every_condition": true
},
"training": {
"optimizer": "adamw",
"learning_rate": 0.003,
"weight_decay": 0.0001,
"batch_size": 32,
"steps": 12,
"ema_tau": 0.95,
"gradient_clip_norm": 5.0,
"conditions": ["T0", "T1", "T2", "T3", "T4", "T5"],
"matched_fields": [
"encoder_architecture",
"parameter_count",
"generated_samples",
"batch_size",
"steps",
"optimizer",
"seed",
"context_target_geometry",
"mask_schedule",
"probe_budget"
]
},
"loss": {
"T0": {
"objective": "seeded_random_encoder",
"train": false
},
"T1": {
"objective": "masked_reconstruction",
"reconstruction_weight": 1.0
},
"T2": {
"objective": "latent_prediction",
"prediction_weight": 1.0
},
"T3": {
"objective": "latent_prediction_plus_sigreg",
"prediction_weight": 1.0,
"sigreg_weight": 0.2,
"regularization_scope": "projector_embedding"
},
"T4": {
"objective": "latent_prediction_plus_vicreg",
"prediction_weight": 1.0,
"vicreg_variance_weight": 0.2,
"vicreg_covariance_weight": 0.02,
"regularization_scope": "projector_embedding"
},
"T5": {
"objective": "latent_prediction_plus_bounded_reconstruction",
"prediction_weight": 1.0,
"reconstruction_weight": 0.2,
"maximum_reconstruction_fraction": 0.25
}
},
"controls": [
"temporal_target_permutation",
"different_sequence_target",
"channel_order_shuffle",
"channel_coordinate_shuffle",
"mask_location_shuffle",
"constant_embedding",
"nonfinite_input"
],
"probe": {
"type": "logistic_regression",
"regularization_c": 1.0,
"max_iterations": 200,
"fit_scope": "training_sessions_only"
},
"diagnostics": {
"variance_floor": 1e-06,
"singular_value_floor": 1e-08,
"energy_rank_threshold": 0.99,
"constant_output_tolerance": 1e-07,
"pairwise_sample_limit": 256
},
"mode_extension": {
"enabled": true,
"modes": ["mirror", "focus", "reflective", "contemplative"],
"sessions_per_mode": 4,
"controls": ["C0", "C1", "C2", "C3", "C4", "C5"],
"training_condition": "T3",
"split_unit": "complete_synthetic_session",
"leave_one_mode_out": true,
"mode_is_externally_assigned": true,
"cognitive_mode_inference_allowed": false
},
"artifact": {
"schema_version": "nc-eeg-jepa-synthetic-rehearsal-v0",
"decision": "pipeline_evidence_only",
"promotion_status": "not_eligible",
"runtime_change": "none",
"physical_eeg_used": false,
"scientific_transfer_claim_allowed": false
}
}
Loading
Loading