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

Reference Wang J, Zhao S, Luo Z, Zhou Y, Jiang H, Li S, Li T, Pan G. CBraMod: A Criss-Cross Brain Foundation Model for EEG Decoding. International Conference on Learning Representations (ICLR), 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

Source page: Core-matrix protocol: Motor imagery & rest · Chance level 50.0% · experiments.json

MethodConditionMetricValuePeople
CBraModRest versus right-hand imageryBalanced accuracy62.9%59.6%–66.5%10

ds003810 · Pretraining · fixed readout

Source page: Does pretraining help? · deployment-topics.json

MethodConditionMetricValuePeople
CBraModMI / rest · pretrainedBalanced accuracy62.9%10
CBraModMI / rest · random initialization (mean)Balanced accuracy56.5%10

ds003810 · Pretraining · train-selected readout

Source page: Does pretraining help? · deployment-topics.json

MethodConditionMetricValuePeople
CBraModMI / rest · pretrainedBalanced accuracy62.7%10
CBraModMI / rest · random initialization (mean)Balanced accuracy54.9%10

ds003810 · Reliable decisions · when to decline a decision (crude: ten people)

Source page: When not to act · reliable-decisions-update.json

MethodConditionMetricValuePeople
CBraModFixed threshold: calibrated confidence at least 0.8Windows accepted7 / 1,2006 of 10 people had nothing accepted.10
CBraModLearned 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

Source page: Core-matrix protocol: Arithmetic & rest · Chance level 50.0% · experiments.json

MethodConditionMetricValuePeople
CBraModSerial subtraction versus resting EEGBalanced accuracy62.3%58.1%–66.5%36

EEGMAT · Pretraining · fixed readout

Source page: Does pretraining help? · deployment-topics.json

MethodConditionMetricValuePeople
CBraModMental workload · pretrainedBalanced accuracy62.3%36
CBraModMental workload · random initialization (mean)Balanced accuracy56.4%36

EEGMAT · Pretraining · train-selected readout

Source page: Does pretraining help? · deployment-topics.json

MethodConditionMetricValuePeople
CBraModMental workload · pretrainedBalanced accuracy68.4%36
CBraModMental workload · random initialization (mean)Balanced accuracy61.7%36

BETA · Core matrix · SSVEP, 8 channels

Source page: Core-matrix protocol: SSVEP · 8 channels · Chance level 2.5% · experiments.json

MethodConditionMetricValuePeople
CBraMod40 visual targets · 8 posterior electrodesBalanced accuracy33.7%29.8%–37.6%70

BETA · Core matrix · SSVEP, 4 channels

Source page: Core-matrix protocol: SSVEP · 4 channels · Chance level 2.5% · experiments.json

MethodConditionMetricValuePeople
CBraMod40 visual targets · 4 posterior electrodesBalanced accuracy27.6%24.1%–31.3%70

BETA · Reliable decisions · when to decline a decision

Source page: When not to act · reliable-decisions-update.json

MethodConditionMetricValuePeople
CBraModFixed threshold: calibrated confidence at least 0.8Trials accepted165 / 11,20038 of 70 people had nothing accepted.70
CBraModLearned reject option minus calibrated confidence, same classifierError 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)

Source page: Questions in language · questions-in-language-update.json

MethodConditionMetricValuePeople
CBraModP1 · label template − question number (TPL − ID) · seen, 32-way · three seedsPaired 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
CBraModP1 · description − question number (DESC − ID) · seen, 32-way · three seedsPaired 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
CBraModP2 · new sentence frame − training wording (TPL(a1) − TPL(train)) · seen, reworded · three seedsPaired 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
CBraModP2 · synonym − training wording (TPL(a2) − TPL(train)) · seen, reworded, for these three synonyms · three seedsPaired 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
CBraModP2 · new description − training descriptions (DESC(a3) − DESC(train)) · seen, reworded · three seedsPaired 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
CBraModP4 · label template − CCA, no training (TPL − CCA) · unseen frequency, 8-way · three seedsPaired 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
CBraModP4 · label template − average of the two neighbouring seen frequencies (TPL − NN(TPL)) · unseen frequency, 8-way · three seedsPaired 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
CBraModP4 · label template − numeric code (TPL − NUM) · unseen frequency, 8-way · three seedsPaired 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
CBraModP4 · label template − CCA, no training (TPL − CCA) · unseen frequency, neighbour 3-way (frequency and stimulus phase) · three seedsPaired 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
CBraModP4 · label template − numeric code (TPL − NUM) · unseen frequency, neighbour 3-way (frequency and stimulus phase) · three seedsPaired 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

Source page: Core-matrix protocol: P300 target ERP · Chance level 50.0% · experiments.json

MethodConditionMetricValuePeople
CBraModVisual target versus nontarget eventsBalanced accuracy55.0%53.3%–56.7%21

TMNRED / ds005383 · Core matrix · semantic target ERP

Source page: Core-matrix protocol: Semantic target ERP · Chance level 50.0% · experiments.json

MethodConditionMetricValuePeople
CBraModReading · target versus nontarget eventsBalanced accuracy55.8%54.2%–57.4%30

EESM19 scalp subset · Core matrix · sleep staging

Source page: Core-matrix protocol: Sleep staging · Chance level 20.0% · experiments.json

MethodConditionMetricValuePeople
CBraModFive stages · balanced scalp-EEG sampleBalanced accuracy71.3%68.7%–73.7%20

ds005342 · Core matrix · idle & command

Source page: Core-matrix protocol: Idle & command · experiments.json

MethodConditionMetricValuePeople
CBraModSeated motor imagery · cue-gated replayCommand detection ≤3 s18.3%4
CBraModSeated motor imagery · cue-gated replayIdle false activation1.7%4

Mobile BCI dataset (SSVEP and ERP paradigms) · Movement · SSVEP, 2-second windows

Source page: On the move · deployment-topics.json

CBraMod · Standing · scalp · 8 ch
59.9% (54.3%–65.4%)
CBraMod · Slow walk · 0.8 m/s · scalp · 8 ch
46.2% (41.1%–51.4%)
CBraMod · Fast walk · 1.6 m/s · scalp · 8 ch
46.0% (42.2%–49.6%)
Balanced accuracy, 3 configurations. Dot: the estimate; line: 95% interval; dashed line, where drawn: chance level.
MethodConditionMetricValuePeople
CBraModStanding · scalp · 8 chBalanced accuracy59.9%54.3%–65.4%23
CBraModSlow walk · 0.8 m/s · scalp · 8 chBalanced accuracy46.2%41.1%–51.4%23
CBraModFast walk · 1.6 m/s · scalp · 8 chBalanced accuracy46.0%42.2%–49.6%23

OpenBMI motor imagery (Lee et al. 2019) · One model, several questions · motor imagery (route 2)

Source page: One model, several questions · Chance level 50.0% · shared-representation-update.json

CBraMod · fixed heads (B-lin-fz-sgd) · imagery or rest (MI-A) · heads on frozen features, three seeds
69.2% (67.0%–71.5%)
CBraMod · shared hidden layer (B-sh-fz) · imagery or rest (MI-A) · heads on frozen features, three seeds
70.9% (68.4%–73.4%)
CBraMod · question-conditioned head (C1-fz) · imagery or rest (MI-A) · heads on frozen features, three seeds
70.8% (68.4%–73.2%)
CBraMod · fixed heads (B-lin-fz-sgd) · which hand (MI-B) · heads on frozen features, three seeds
56.1% (54.8%–57.4%)
CBraMod · shared hidden layer (B-sh-fz) · which hand (MI-B) · heads on frozen features, three seeds
56.7% (55.4%–58.2%)
CBraMod · question-conditioned head (C1-fz) · which hand (MI-B) · heads on frozen features, three seeds
57.2% (55.8%–58.6%)
Balanced accuracy, 6 configurations. Dot: the estimate; line: 95% interval; dashed line, where drawn: chance level.
MethodConditionMetricValuePeople
CBraModfixed heads (B-lin-fz-sgd) · imagery or rest (MI-A) · heads on frozen features, three seedsBalanced accuracy69.2%67.0%–71.5%51
CBraModshared hidden layer (B-sh-fz) · imagery or rest (MI-A) · heads on frozen features, three seedsBalanced accuracy70.9%68.4%–73.4%51
CBraModquestion-conditioned head (C1-fz) · imagery or rest (MI-A) · heads on frozen features, three seedsBalanced accuracy70.8%68.4%–73.2%51
CBraModimagery or rest (MI-A) · conditioned head minus fixed heads, on frozen CBraMod features (C1-fz − B-lin-fz-sgd)Paired difference, balanced accuracy+1.54 pp+0.86–+2.30 ppC1-fz higher; 2 pp margin not met; gate passed.51
CBraModfixed heads (B-lin-fz-sgd) · which hand (MI-B) · heads on frozen features, three seedsBalanced accuracy56.1%54.8%–57.4%51
CBraModshared hidden layer (B-sh-fz) · which hand (MI-B) · heads on frozen features, three seedsBalanced accuracy56.7%55.4%–58.2%51
CBraModquestion-conditioned head (C1-fz) · which hand (MI-B) · heads on frozen features, three seedsBalanced accuracy57.2%55.8%–58.6%51
CBraModwhich hand (MI-B) · conditioned head minus fixed heads, on frozen CBraMod features (C1-fz − B-lin-fz-sgd)Paired difference, balanced accuracy+1.09 pp+0.08–+2.12 ppC1-fz higher; 2 pp margin not met (not read: at floor); at floor: reported, not counted.51

Limits: The questions are label-backed classification targets from one dataset each, asked by identifier. They are not language prompts and say nothing about unseen questions (route 3). Per-person balanced accuracy averages people equally; it compares arms and is not a deployment error rate. The OpenBMI numbers here use route 2's own 2-s windows, label-free high-pass and person-disjoint folds; they are not comparable with the site's OpenBMI cross-session calibration figures. A contrast shows a difference when its paired 95% interval excludes zero; it is equivalent when the whole interval lies within ±2 pp, the margin fixed before any result, and an arm is non-inferior when the interval rules out its being 2 pp or more behind. No multiplicity correction: across route 2’s 21 primary comparisons and its secondary ones, about one in 20 comparisons with no true difference may show one by chance. Every limitation of route 2 →

BOAS · Bitbrain Open Access Sleep dataset · One model, several questions · sleep (route 2)

Source page: One model, several questions · shared-representation-update.json

CBraMod · fixed heads (B-lin-fz-sgd) · sleep stage, five stages (SL-A) · heads on frozen features, three seeds
70.7% (68.5%–72.7%)
CBraMod · shared hidden layer (B-sh-fz) · sleep stage, five stages (SL-A) · heads on frozen features, three seeds
71.4% (69.1%–73.6%)
CBraMod · question-conditioned head (C1-fz) · sleep stage, five stages (SL-A) · heads on frozen features, three seeds
70.9% (68.6%–73.0%)
CBraMod · fixed heads (B-lin-fz-sgd) · next epoch’s stage differs (SL-E) · heads on frozen features, three seeds
63.5% (62.3%–64.7%)
CBraMod · shared hidden layer (B-sh-fz) · next epoch’s stage differs (SL-E) · heads on frozen features, three seeds
65.5% (64.1%–66.7%)
CBraMod · question-conditioned head (C1-fz) · next epoch’s stage differs (SL-E) · heads on frozen features, three seeds
65.2% (63.9%–66.5%)
CBraMod · fixed heads (B-lin-fz-sgd) · first or second half of the night (SL-F) · heads on frozen features, three seeds
64.5% (62.8%–66.1%)
CBraMod · shared hidden layer (B-sh-fz) · first or second half of the night (SL-F) · heads on frozen features, three seeds
65.2% (63.6%–66.9%)
CBraMod · question-conditioned head (C1-fz) · first or second half of the night (SL-F) · heads on frozen features, three seeds
65.2% (63.6%–66.9%)
Balanced accuracy, 9 configurations. Dot: the estimate; line: 95% interval; dashed line, where drawn: chance level.
MethodConditionMetricValuePeople
CBraModfixed heads (B-lin-fz-sgd) · sleep stage, five stages (SL-A) · heads on frozen features, three seedsBalanced accuracy70.7%68.5%–72.7%100
CBraModshared hidden layer (B-sh-fz) · sleep stage, five stages (SL-A) · heads on frozen features, three seedsBalanced accuracy71.4%69.1%–73.6%100
CBraModquestion-conditioned head (C1-fz) · sleep stage, five stages (SL-A) · heads on frozen features, three seedsBalanced accuracy70.9%68.6%–73.0%100
CBraModsleep stage, five stages (SL-A) · conditioned head minus fixed heads, on frozen CBraMod features (C1-fz − B-lin-fz-sgd)Paired difference, balanced accuracy+0.19 pp−0.74–+1.14 ppNo difference shown; equivalent within ±2 pp; gate passed.100
CBraModfixed heads (B-lin-fz-sgd) · next epoch’s stage differs (SL-E) · heads on frozen features, three seedsBalanced accuracy63.5%62.3%–64.7%100
CBraModshared hidden layer (B-sh-fz) · next epoch’s stage differs (SL-E) · heads on frozen features, three seedsBalanced accuracy65.5%64.1%–66.7%100
CBraModquestion-conditioned head (C1-fz) · next epoch’s stage differs (SL-E) · heads on frozen features, three seedsBalanced accuracy65.2%63.9%–66.5%100
CBraModnext epoch’s stage differs (SL-E) · conditioned head minus fixed heads, on frozen CBraMod features (C1-fz − B-lin-fz-sgd)Paired difference, balanced accuracy+1.75 pp+0.92–+2.63 ppC1-fz higher; 2 pp margin not met; gate passed.100
CBraModfixed heads (B-lin-fz-sgd) · first or second half of the night (SL-F) · heads on frozen features, three seedsBalanced accuracy64.5%62.8%–66.1%100
CBraModshared hidden layer (B-sh-fz) · first or second half of the night (SL-F) · heads on frozen features, three seedsBalanced accuracy65.2%63.6%–66.9%100
CBraModquestion-conditioned head (C1-fz) · first or second half of the night (SL-F) · heads on frozen features, three seedsBalanced accuracy65.2%63.6%–66.9%100
CBraModfirst or second half of the night (SL-F) · conditioned head minus fixed heads, on frozen CBraMod features (C1-fz − B-lin-fz-sgd)Paired difference, balanced accuracy+0.77 pp−0.14–+1.67 ppNo difference shown; equivalent within ±2 pp; gate passed.100

BOAS is published with three stated gaps (owner decision, 7 October 2026):

  1. The consent statement does not say whether participants agreed to public sharing or secondary use.
  2. The ethics and consent statements come from the publisher's dataset description and README. No peer-reviewed paper describes BOAS.
  3. 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: The questions are label-backed classification targets from one dataset each, asked by identifier. They are not language prompts and say nothing about unseen questions (route 3). Per-person balanced accuracy averages people equally; it compares arms and is not a deployment error rate. SL-E and SL-F are largely predictable from the current stage: read off the true current stage alone, they reach 61.9% and 59.2% balanced accuracy (100 people; descriptive). A contrast shows a difference when its paired 95% interval excludes zero; it is equivalent when the whole interval lies within ±2 pp, the margin fixed before any result, and an arm is non-inferior when the interval rules out its being 2 pp or more behind. No multiplicity correction: across route 2’s 21 primary comparisons and its secondary ones, about one in 20 comparisons with no true difference may show one by chance. Every limitation of route 2 →

BOAS · Bitbrain Open Access Sleep dataset · Questions in language · sleep (route 3)

Source page: Questions in language · questions-in-language-update.json

MethodConditionMetricValuePeople
CBraModP1 · label template − question number (TPL − ID) · seen, 5-way · three seedsPaired 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
CBraModP1 · description − question number (DESC − ID) · seen, 5-way · three seedsPaired 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
CBraModP2 · new sentence frame − training wording (TPL(a1) − TPL(train)) · seen, reworded · three seedsPaired 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
CBraModP2 · synonym − training wording (TPL(a2) − TPL(train)) · seen, reworded, for these three synonyms · three seedsPaired 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
CBraModP2 · new description − training descriptions (DESC(a3) − DESC(train)) · seen, reworded · three seedsPaired 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
CBraModP3 · label template against the read-off (TPL / read-off) · asleep · implicit name · three seedslog 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
CBraModP3 · label template against the read-off (TPL / read-off) · asleep · explicit name · three seedslog 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
CBraModP3 · label template against the read-off (TPL / read-off) · N1, N2 or N3 sleep · explicit name · three seedslog 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
CBraModP3 · label template against the read-off (TPL / read-off) · light sleep · implicit name · three seedslog 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
CBraModP3 · label template against the read-off (TPL / read-off) · light sleep · explicit name · three seedslog 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
CBraModP3 · description against the read-off (DESC / read-off) · asleep · new descriptions · three seedslog 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
CBraModP3 · description against the read-off (DESC / read-off) · N1, N2 or N3 sleep · new descriptions · three seedslog 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
CBraModP3 · description against the read-off (DESC / read-off) · light sleep · new descriptions · three seedslog 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
CBraModP5 · label template − shuffled templates (TPL − SHUF) · unseen questions, implicit names · three seedsPaired difference in AUROC−0.378−0.501–−0.253Unseen question. SHUF higher; difference only: no margin; headroom gate passed.100
CBraModP5 · label template − shuffled templates (TPL − SHUF) · unseen questions, explicit names · three seedsPaired 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):

  1. The consent statement does not say whether participants agreed to public sharing or secondary use.
  2. The ethics and consent statements come from the publisher's dataset description and README. No peer-reviewed paper describes BOAS.
  3. 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

Source page: Later sessions · Chance level 50.0% · later-sessions-update.json

MethodConditionMetricValuePeople
CBraMod · frozen encoder, session-1 ridge readoutSession 1 → session 3 · no session-3 labelsBalanced accuracy67.7%64.8%–70.5%51
CBraMod · frozen encoder, session-1 ridge readoutMinus the relative spectral ridge, the same people and trialsPaired 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

Source page: Later sessions · Chance level 33.3% · later-sessions-update.json

MethodConditionMetricValuePeople
CBraMod · frozen encoder, session-1 ridge readoutSession 1 → session 3 · no session-3 labelsBalanced accuracy51.6%45.2%–58.3%11
CBraMod · frozen encoder, session-1 ridge readoutMinus the relative spectral ridge, the same people and trialsPaired 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

All methods → · All datasets →

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.

DatasetProtocolsStatementSource
ds003810 Motor Imagery vs Rest (low-cost EEG; Peterson et al.)Motor imagery & restnot in the authors' published pretraining list (checked 2026-10-04)source ↗
EEGMAT (PhysioNet EEG During Mental Arithmetic Tasks; Zyma et al. 2019)Arithmetic & restnot in the authors' published pretraining list (checked 2026-10-04)source ↗
ds006593 cBCI Matrix Multimodal Dataset (Celik et al.)P300 target ERPnot in the authors' published pretraining list (checked 2026-10-04)source ↗
ds005383 TMNRED (Bai et al. 2025, Sci. Data 12:701)Semantic target ERPnot in the authors' published pretraining list (checked 2026-10-04)source ↗
EESM19 Ear-EEG Sleep Monitoring 2019 (OpenNeuro ds005185; Mikkelsen et al.)Sleep stagingnot in the authors' published pretraining list (checked 2026-10-04)source ↗
BETA 40-target SSVEP (Liu et al. 2020, Front. Neurosci. 14:627)SSVEP · 8 channels · SSVEP · 4 channelsnot in the authors' published pretraining list (checked 2026-10-04)source ↗
ds005342 EEG offline/online MI for standing and sitting (Triana-Guzman et al.)Idle & commandnot in the authors' published pretraining list (checked 2026-10-04)source ↗

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 ↗