Foundation model
CBraMod: results on public EEG datasets
CBraMod is an EEG foundation model from Wang et al. (Zhejiang University; ICLR 2025). Its criss-cross Transformer models spatial and temporal dependencies between EEG patches with two parallel attention branches, uses an asymmetric conditional positional encoding, and is pretrained by masked patch reconstruction on the TUEG clinical corpus (over 9,000 hours retained after preprocessing).
Measured on: ds003810; EEGMAT; BETA; ds006593; TMNRED / ds005383; EESM19 scalp subset; ds005342; Mobile BCI dataset (SSVEP and ERP paradigms); OpenBMI motor imagery (Lee et al. 2019); BOAS · Bitbrain Open Access Sleep dataset; WBCIC-SHU motor imagery dataset · Protocols: Motor imagery & rest; Arithmetic & rest; SSVEP · 8 channels; SSVEP · 4 channels; P300 target ERP; Semantic target ERP; Sleep staging; Idle & command
Also known as CBraMod · Criss-Cross Brain Foundation Model · weighting666/CBraMod · Wang et al. 2025
Directory status: Evaluated · Official code ↗ · Description sources arxiv.org · github.com · huggingface.co
Published results
Compare figures within a group only: task, cohort, chance level and electrode layout can differ between groups. One row is above another only where their 95% intervals do not overlap.
ds003810 · Core matrix · motor imagery & rest
| Method | Condition | Metric | Value | People |
|---|---|---|---|---|
| CBraMod | Rest versus right-hand imagery | Balanced accuracy | 62.9%59.6%–66.5% | 10 |
ds003810 · Pretraining · fixed readout
ds003810 · Pretraining · train-selected readout
ds003810 · Reliable decisions · when to decline a decision (crude: ten people)
| Method | Condition | Metric | Value | People |
|---|---|---|---|---|
| CBraMod | Fixed threshold: calibrated confidence at least 0.8 | Windows accepted | 7 / 1,2006 of 10 people had nothing accepted. | 10 |
| CBraMod | Learned reject option minus calibrated confidence, same classifier (a secondary contrast) | Error among the 80% most certain, difference | +0.7 pp−0.8 pp–+2.4 ppNo difference resolved: the interval includes zero. | 10 |
Limits: Ten people, two per test fold. Bootstrap intervals are crude; no person-level dispersion is published. Balanced, so no deployment rate. Its learned-reject contrasts are secondary. Calibration data are participant-disjoint inner out-of-fold scores (cross-fit). Inner models see about 3/4 of the training people, so they may be less confident than the full model whose scores are tested. This approximation is part of every calibrated figure. Rejecting likely errors on known classes is not detecting unfamiliar input. An uncertainty threshold may not flag an unseen class (https://arxiv.org/abs/2603.13324). Route 1 makes no out-of-distribution claim. A contrast is called a difference only when its paired 95% participant-bootstrap interval excludes 0 (no multiplicity correction); otherwise "no difference resolved". No ranking where intervals overlap. Descriptive entries are never called differences. Every limitation of route 1 →
EEGMAT · Core matrix · arithmetic & rest
| Method | Condition | Metric | Value | People |
|---|---|---|---|---|
| CBraMod | Serial subtraction versus resting EEG | Balanced accuracy | 62.3%58.1%–66.5% | 36 |
EEGMAT · Pretraining · fixed readout
EEGMAT · Pretraining · train-selected readout
BETA · Core matrix · SSVEP, 8 channels
| Method | Condition | Metric | Value | People |
|---|---|---|---|---|
| CBraMod | 40 visual targets · 8 posterior electrodes | Balanced accuracy | 33.7%29.8%–37.6% | 70 |
BETA · Core matrix · SSVEP, 4 channels
| Method | Condition | Metric | Value | People |
|---|---|---|---|---|
| CBraMod | 40 visual targets · 4 posterior electrodes | Balanced accuracy | 27.6%24.1%–31.3% | 70 |
BETA · Reliable decisions · when to decline a decision
| Method | Condition | Metric | Value | People |
|---|---|---|---|---|
| CBraMod | Fixed threshold: calibrated confidence at least 0.8 | Trials accepted | 165 / 11,20038 of 70 people had nothing accepted. | 70 |
| CBraMod | Learned reject option minus calibrated confidence, same classifier | Error among the 80% most certain, difference | −0.03 pp−0.8 pp–+0.6 ppNo difference resolved: the interval includes zero. | 70 |
Limits: Uniform target prior by design; cue-paced lab spelling with no idle state, so no false-activation figure of any kind. Calibration data are participant-disjoint inner out-of-fold scores (cross-fit). Inner models see about 3/4 of the training people, so they may be less confident than the full model whose scores are tested. This approximation is part of every calibrated figure. Rejecting likely errors on known classes is not detecting unfamiliar input. An uncertainty threshold may not flag an unseen class (https://arxiv.org/abs/2603.13324). Route 1 makes no out-of-distribution claim. A contrast is called a difference only when its paired 95% participant-bootstrap interval excludes 0 (no multiplicity correction); otherwise "no difference resolved". No ranking where intervals overlap. Descriptive entries are never called differences. Every limitation of route 1 →
BETA · Questions in language · SSVEP (route 3)
| Method | Condition | Metric | Value | People |
|---|---|---|---|---|
| CBraMod | P1 · label template − question number (TPL − ID) · seen, 32-way · three seeds | Paired difference, language arm minus reference (pp) | −3.49 pp−4.10–−2.93 ppID higher; 2 pp margin not met; passes the triviality canary. | 70 |
| CBraMod | P1 · description − question number (DESC − ID) · seen, 32-way · three seeds | Paired difference, language arm minus reference (pp) | −3.37 pp−3.98–−2.80 ppID higher; 2 pp margin not met; passes the triviality canary. | 70 |
| CBraMod | P2 · new sentence frame − training wording (TPL(a1) − TPL(train)) · seen, reworded · three seeds | Paired difference, language arm minus reference (pp) | −2.72 pp−4.43–−1.43 ppTPL(train) higher; 2 pp margin not met; passes the triviality canary. | 70 |
| CBraMod | P2 · synonym − training wording (TPL(a2) − TPL(train)) · seen, reworded, for these three synonyms · three seeds | Paired difference, language arm minus reference (pp) | −1.33 pp−1.53–−1.14 ppTPL(train) higher; equivalent within ±2 pp; passes the triviality canary. | 70 |
| CBraMod | P2 · new description − training descriptions (DESC(a3) − DESC(train)) · seen, reworded · three seeds | Paired difference, language arm minus reference (pp) | −2.95 pp−3.81–−2.26 ppDESC(train) higher; 2 pp margin not met; passes the triviality canary. | 70 |
| CBraMod | P4 · label template − CCA, no training (TPL − CCA) · unseen frequency, 8-way · three seeds | Paired difference, language arm minus reference (pp) | −61.94 pp−65.65–−58.06 ppUnseen question. CCA higher; 2 pp margin not met; headroom gate passed. | 70 |
| CBraMod | P4 · label template − average of the two neighbouring seen frequencies (TPL − NN(TPL)) · unseen frequency, 8-way · three seeds | Paired difference, language arm minus reference (pp) | −1.16 pp−1.97–−0.37 ppUnseen question. NN(TPL) higher; difference only: no margin; headroom gate passed. | 70 |
| CBraMod | P4 · label template − numeric code (TPL − NUM) · unseen frequency, 8-way · three seeds | Paired difference, language arm minus reference (pp) | −2.46 pp−3.23–−1.69 ppUnseen question. NUM higher; difference only: no margin; headroom gate passed. | 70 |
| CBraMod | P4 · label template − CCA, no training (TPL − CCA) · unseen frequency, neighbour 3-way (frequency and stimulus phase) · three seeds | Paired difference, language arm minus reference (pp) | −54.67 pp−57.77–−51.47 ppUnseen question. CCA higher; 2 pp margin not met; headroom gate passed. | 70 |
| CBraMod | P4 · label template − numeric code (TPL − NUM) · unseen frequency, neighbour 3-way (frequency and stimulus phase) · three seeds | Paired difference, language arm minus reference (pp) | +15.61 pp+14.25–+16.93 ppUnseen question. TPL higher; difference only: no margin; headroom gate passed. | 70 |
Limits: 'Unseen' means unseen by the EEG head; the text encoder has read these words, and every token of a held-out frequency also occurs in the training texts. Held-out SSVEP questions name a frequency, which CCA answers without training; interpolation tested, extrapolation secondary. In the neighbour 3-way the unseen frequency competes against trained detectors for its neighbours; at L1 that test also involves stimulus phase. Rewording and unseen results are separate rows and never pooled. 35 pre-declared comparisons, not corrected for multiplicity. The pre-run permutation canary failed twice (revisions 3 and 4) and was revised by the owner, who overrode revision 4's "no further revision"; revision 5 passed. Both failed records are kept and disclosed. Every limitation of route 3 →
ds006593 · Core matrix · P300 target ERP
| Method | Condition | Metric | Value | People |
|---|---|---|---|---|
| CBraMod | Visual target versus nontarget events | Balanced accuracy | 55.0%53.3%–56.7% | 21 |
TMNRED / ds005383 · Core matrix · semantic target ERP
| Method | Condition | Metric | Value | People |
|---|---|---|---|---|
| CBraMod | Reading · target versus nontarget events | Balanced accuracy | 55.8%54.2%–57.4% | 30 |
EESM19 scalp subset · Core matrix · sleep staging
| Method | Condition | Metric | Value | People |
|---|---|---|---|---|
| CBraMod | Five stages · balanced scalp-EEG sample | Balanced accuracy | 71.3%68.7%–73.7% | 20 |
ds005342 · Core matrix · idle & command
Mobile BCI dataset (SSVEP and ERP paradigms) · Movement · SSVEP, 2-second windows
BOAS · Bitbrain Open Access Sleep dataset · Questions in language · sleep (route 3)
| Method | Condition | Metric | Value | People |
|---|---|---|---|---|
| CBraMod | P1 · label template − question number (TPL − ID) · seen, 5-way · three seeds | Paired difference, language arm minus reference (pp) | −0.05 pp−0.70–+0.61 ppNo difference shown; equivalent within ±2 pp; passes the triviality canary. | 100 |
| CBraMod | P1 · description − question number (DESC − ID) · seen, 5-way · three seeds | Paired difference, language arm minus reference (pp) | +0.02 pp−0.59–+0.62 ppNo difference shown; equivalent within ±2 pp; passes the triviality canary. | 100 |
| CBraMod | P2 · new sentence frame − training wording (TPL(a1) − TPL(train)) · seen, reworded · three seeds | Paired difference, language arm minus reference (pp) | −0.46 pp−1.33–+0.16 ppNo difference shown; equivalent within ±2 pp; passes the triviality canary. | 100 |
| CBraMod | P2 · synonym − training wording (TPL(a2) − TPL(train)) · seen, reworded, for these three synonyms · three seeds | Paired difference, language arm minus reference (pp) | −12.60 pp−13.74–−11.43 ppTPL(train) higher; 2 pp margin not met; passes the triviality canary. | 100 |
| CBraMod | P2 · new description − training descriptions (DESC(a3) − DESC(train)) · seen, reworded · three seeds | Paired difference, language arm minus reference (pp) | −20.87 pp−29.49–−13.71 ppDESC(train) higher; 2 pp margin not met; passes the triviality canary. | 100 |
| CBraMod | P3 · label template against the read-off (TPL / read-off) · asleep · implicit name · three seeds | log R, the head’s remaining error over the read-off’s | +3.520+3.139–+3.967Unseen question. R 33.80; read-off leaves less error; 1.25 ratio margin not met; headroom gate passed. | 100 |
| CBraMod | P3 · label template against the read-off (TPL / read-off) · asleep · explicit name · three seeds | log R, the head’s remaining error over the read-off’s | +1.951+1.623–+2.357Unseen question. R 7.04; read-off leaves less error; 1.25 ratio margin not met; headroom gate passed. | 100 |
| CBraMod | P3 · label template against the read-off (TPL / read-off) · N1, N2 or N3 sleep · explicit name · three seeds | log R, the head’s remaining error over the read-off’s | +0.883+0.726–+1.047Unseen question. R 2.42; read-off leaves less error; 1.25 ratio margin not met; headroom gate passed. | 100 |
| CBraMod | P3 · label template against the read-off (TPL / read-off) · light sleep · implicit name · three seeds | log R, the head’s remaining error over the read-off’s | +2.267+2.072–+2.466Unseen question. R 9.65; read-off leaves less error; 1.25 ratio margin not met; headroom gate passed. | 100 |
| CBraMod | P3 · label template against the read-off (TPL / read-off) · light sleep · explicit name · three seeds | log R, the head’s remaining error over the read-off’s | +1.519+1.343–+1.698Unseen question. R 4.57; read-off leaves less error; 1.25 ratio margin not met; headroom gate passed. | 100 |
| CBraMod | P3 · description against the read-off (DESC / read-off) · asleep · new descriptions · three seeds | log R, the head’s remaining error over the read-off’s | +3.444+2.913–+3.956Unseen question. R 31.30; read-off leaves less error; 1.25 ratio margin not met; headroom gate passed. | 100 |
| CBraMod | P3 · description against the read-off (DESC / read-off) · N1, N2 or N3 sleep · new descriptions · three seeds | log R, the head’s remaining error over the read-off’s | +1.299+0.793–+1.744Unseen question. R 3.67; read-off leaves less error; 1.25 ratio margin not met; headroom gate passed. | 100 |
| CBraMod | P3 · description against the read-off (DESC / read-off) · light sleep · new descriptions · three seeds | log R, the head’s remaining error over the read-off’s | +1.417+0.903–+1.856Unseen question. R 4.12; read-off leaves less error; 1.25 ratio margin not met; headroom gate passed. | 100 |
| CBraMod | P5 · label template − shuffled templates (TPL − SHUF) · unseen questions, implicit names · three seeds | Paired difference in AUROC | −0.378−0.501–−0.253Unseen question. SHUF higher; difference only: no margin; headroom gate passed. | 100 |
| CBraMod | P5 · label template − shuffled templates (TPL − SHUF) · unseen questions, explicit names · three seeds | Paired difference in AUROC | +0.629+0.603–+0.654Unseen question. TPL higher; difference only: no margin; headroom gate passed. | 100 |
BOAS is published with three stated gaps (owner decision, 7 October 2026):
- The consent statement does not say whether participants agreed to public sharing or secondary use.
- The ethics and consent statements come from the publisher's dataset description and README. No peer-reviewed paper describes BOAS.
- The ethics reference was added to the release in version 1.1.1 (May 2025), and the release does not say when it was granted relative to the recordings.
Participants are pseudonymised in the public release. No result here evaluates Bitbrain's headband or its automatic sleep scoring; neither is used.
Credit: Eduardo López-Larraz, María Sierra-Torralba, Sergio Clemente, Galit Fierro, David Oriol, Javier Minguez, Luis Montesano and Jens G. Klinzing · The Bitbrain Open Access Sleep (BOAS) dataset, OpenNeuro ds005555, version 1.1.3 (2026), doi:10.18112/openneuro.ds005555.v1.1.3. Polysomnography EEG and the human-consensus stage labels only; the headband recordings and the publisher's automatic labels are not used.
Limits: 'Unseen' means unseen by the EEG head; the text encoder has read these words, and every token of a held-out frequency also occurs in the training texts. Held-out sleep questions are combinations of seen stages ('asleep' is the complement of one), reported as compositional beside the read-off. Rewording and unseen results are separate rows and never pooled. 35 pre-declared comparisons, not corrected for multiplicity. The pre-run permutation canary failed twice (revisions 3 and 4) and was revised by the owner, who overrode revision 4's "no further revision"; revision 5 passed. Both failed records are kept and disclosed. Every limitation of route 3 →
WBCIC-SHU motor imagery dataset · Later sessions · two-class motor imagery, session 1 to session 3
| Method | Condition | Metric | Value | People |
|---|---|---|---|---|
| CBraMod · frozen encoder, session-1 ridge readout | Session 1 → session 3 · no session-3 labels | Balanced accuracy | 67.7%64.8%–70.5% | 51 |
| CBraMod · frozen encoder, session-1 ridge readout | Minus the relative spectral ridge, the same people and trials | Paired difference | +13.8 pp+11.3 pp–+16.4 ppA comparison of two fixed pipelines on reused test trials; whether pretraining caused the gain, and whether this checkpoint saw WBCIC-SHU in pretraining, are open. | 51 |
WBCIC-SHU motor imagery dataset · Later sessions · three-class motor imagery, session 1 to session 3
| Method | Condition | Metric | Value | People |
|---|---|---|---|---|
| CBraMod · frozen encoder, session-1 ridge readout | Session 1 → session 3 · no session-3 labels | Balanced accuracy | 51.6%45.2%–58.3% | 11 |
| CBraMod · frozen encoder, session-1 ridge readout | Minus the relative spectral ridge, the same people and trials | Paired difference | +14.0 pp+7.5 pp–+20.8 ppA comparison of two fixed pipelines on reused test trials; whether pretraining caused the gain, and whether this checkpoint saw WBCIC-SHU in pretraining, are open. | 11 |
Pretraining exposure, by dataset
Whether each core dataset is in the model authors’ published pretraining list, checked on 2026-10-04 at dataset level and linked to the source; a dataset absent from the list may still overlap the pretraining data.
Cite this page
BCI Report (2026). CBraMod: results on public EEG datasets. https://bci.report/methods/cbramod/
Figures from releases questions-in-language-update-20261008 (2026-10-08), later-sessions-update-20261008 (2026-10-08), shared-representation-update-20261007 (2026-10-07), reliable-decisions-update-20261004 (2026-10-04), deployment-topics-20260920-v1 (2026-09-20), research-preview-20260920 (2026-09-20). Cite the upstream datasets as well: each dataset’s page gives its credit.
Every release is archived on Zenodo: doi:10.5281/zenodo.23123296. BibTeX for the site and its releases → · CITATION.cff ↗