Shared encoders · route 2 of the decision-research plan

Can one EEG model answer several questions about the same data as well as separate models, and at what cost?

One encoder answering several questions about the same windows, against a separate model per question and against a head told which question it is answering, at matched data and compute. Motor imagery on OpenBMI and sleep on BOAS, with EESM19 as a crude replication.

Measured on: EESM19 scalp subset; OpenBMI motor imagery (Lee et al. 2019); BOAS · Bitbrain Open Access Sleep dataset · Methods: EEGNet; CBraMod

Short answer

The cheaper set-up was not shown to do as well, on these data. A shared EEGNet with a fixed linear output per question cost less than a head told which question it was answering (3,060 against 20,116 trainable parameters on motor imagery), but it was not shown to come within 2 pp of that head, the margin fixed before the run. On imagery against rest, in 51 people (OpenBMI), that head scored +1.48 pp higher (+0.09 to +2.89 pp); on five-stage sleep scoring (BOAS) its whole interval lay above 2 pp. Naming the question added nothing measurable: the same hidden layer, not told the question, was equivalent to that head within ±2 pp on both motor-imagery questions and non-inferior at 2 pp on sleep. Against a separate EEGNet per question, the small shared EEGNet trunk scored −1.43 pp on which hand (−2.57 to −0.39 pp): a difference, and a loss of 2 pp or more cannot be ruled out; on imagery or rest and on the sleep stage the comparison was inconclusive.

How the comparison works

Four set-ups, the same questions

Every question is a label the dataset already has, asked by its identifier: the model is told which question it is answering, never given it in words. The four set-ups answer the same questions from the same windows.

B-lin, B-sh and C1 start from the same weights, see the same batches in the same order and train for the same number of steps. Two primary levels, three seeds each: EEGNet trained from scratch (E1), and heads trained on frozen CBraMod features (L1; the same set-ups, marked -fz). CBraMod adapted by LoRA (E2) ran with one seed, as a secondary level.

Three comparisons answer the question. P1, C1 − B-lin: do fixed heads do as well? P5, C1 − B-sh: does telling the head the question add anything? P2, B-lin − A: does sharing one encoder cost accuracy? P4 is P1 on frozen CBraMod features.

Each comparison is a paired difference in balanced accuracy, in percentage points (pp), with a 95% interval from resampling people (and, with three seeds, training runs). It gets two readings. A difference is shown when the interval excludes zero. And against a margin of ±2 pp, fixed by the owner before any result, it is equivalent when the whole interval lies inside the margin, non-inferior when the bound that matters does, and otherwise the margin is not met. “Fixed heads do as well for less” is said of a domain only if every counted question meets the margin on P1 and the fixed heads cost less. A question whose fixed-head accuracy is not clearly above chance + 5 pp is at floor: reported, never counted.

There are 21 primary comparisons and no multiplicity correction, so about one in 20 comparisons with no true difference may show one by chance. Balanced accuracy is averaged per person, then over people: it compares set-ups and is not a deployment error rate. This is route 2 of the research plan on When not to act.

Primary · OpenBMI · EEGNet and CBraMod

Motor imagery: imagery or rest, and which hand

Two questions about each 2-second window of OpenBMI’s motor-imagery runs and rest recordings: is the person imagining a hand movement or resting (MI-A), and which hand (MI-B, offline trials only)? 31,653 windows from 51 people; each person’s two sessions sit in one fold, so every test is on new people. Both questions passed the canary and the gate, so both count.

+1.48 ppC1 − B-lin on MI-A, EEGNet from scratch, three seeds

Fixed heads did as well for less: not supported

On imagery or rest the conditioned head scored +1.48 pp above the fixed heads (+0.09 to +2.89 pp): a gap of 2 pp or more cannot be ruled out. On which hand the two were equivalent within ±2 pp (−0.09 pp, −1.24 to +1.04 pp). The fixed heads were the cheaper set-up: 3,060 against 20,116 trainable parameters, and 960 against 15,744 head multiply-accumulates per window.

Paired differences in balanced accuracy, in pp, with 95% intervals; 51 people, three seeds.
ComparisonQuestionDifference, ppDifference shown?Margin, ±2 ppGate
EEGNet trained from scratch (E1)
P1 · Conditioned head − fixed headsC1 − B-linMI-Aimagery or rest+1.48 pp95% interval +0.09 to +2.89 ppC1 higher2 pp margin not metGate passed
P1 · Conditioned head − fixed headsC1 − B-linMI-Bwhich hand−0.09 pp95% interval −1.24 to +1.04 ppNo difference shownEquivalent within ±2 ppGate passed
P5 · Conditioned head − the same layer, not told the questionC1 − B-shMI-Aimagery or rest+0.31 pp95% interval −0.91 to +1.54 ppNo difference shownEquivalent within ±2 ppGate passed
P5 · Conditioned head − the same layer, not told the questionC1 − B-shMI-Bwhich hand+0.45 pp95% interval −0.60 to +1.34 ppNo difference shownEquivalent within ±2 ppGate passed
P2 · Fixed heads on one small-CNN trunk − separate modelsB-lin − A(MI-A)MI-Aimagery or rest−1.00 pp95% interval −2.21 to +0.19 ppNo difference shown2 pp margin not metinconclusive at this sample sizeGate passed
P2 · Fixed heads on one small-CNN trunk − separate modelsB-lin − A(MI-B)MI-Bwhich hand−1.43 pp95% interval −2.57 to −0.39 ppA(MI-B) higher2 pp margin not metGate passed
Heads on frozen CBraMod features (L1)
P4 · Conditioned head − fixed headsC1-fz − B-lin-fz-sgdMI-Aimagery or rest+1.54 pp95% interval +0.86 to +2.30 ppC1-fz higher2 pp margin not metGate passed
P4 · Conditioned head − fixed headsC1-fz − B-lin-fz-sgdMI-Bwhich hand+1.09 pp95% interval +0.08 to +2.12 ppC1-fz higher2 pp margin not metnot read: at floorAt floor: reported, not counted
S1 · Conditioned head − the same layer, not told the question · secondaryC1-fz − B-sh-fzMI-Aimagery or rest−0.12 pp95% interval −0.64 to +0.33 ppNo difference shownEquivalent within ±2 ppGate passed
S1 · Conditioned head − the same layer, not told the question · secondaryC1-fz − B-sh-fzMI-Bwhich hand+0.43 pp95% interval −0.39 to +1.21 ppNo difference shownEquivalent within ±2 ppnot read: at floorAt floor: reported, not counted

Telling the head the question added nothing measurable: C1 − B-sh was equivalent within ±2 pp on both questions from scratch, and on imagery or rest on frozen features. That does not show where the conditioned head’s lift over the fixed heads comes from: the same layer not told the question, against the fixed heads (B-sh − B-lin, secondary S2), was +1.17 pp on imagery or rest (−0.09 to +2.54 pp), inconclusive at this sample size. Against a separate EEGNet per question, sharing one small trunk (2,096 parameters) scored −1.43 pp on which hand (−2.57 to −0.39 pp): a difference, and a cost of 2 pp or more cannot be ruled out; on imagery or rest it was inconclusive. On frozen CBraMod features the conditioned head was again higher on imagery or rest (+1.54 pp, +0.86 to +2.30 pp); which hand is at floor there.

Balanced accuracy of each set-up: the mean over 51 people with its 95% interval. Chance is 50.0%; the gate’s floor is 55.0%. Overlapping intervals are not ranked: the paired differences above are the comparison.
Set-upMI-A · imagery or restMI-B · which hand
EEGNet trained from scratch (E1)
Fixed headsB-lin73.2%95% interval 70.2%–76.2%67.5%95% interval 64.6%–70.5%
Shared hidden layerB-sh74.3%95% interval 71.3%–77.3%67.0%95% interval 64.1%–69.9%
Question-conditioned headC174.6%95% interval 71.9%–77.5%67.4%95% interval 64.4%–70.5%
Separate modelsA74.2%95% interval 71.3%–76.9%69.0%95% interval 65.9%–72.0%
Frozen CBraMod features (L1)
Fixed headsB-lin-fz-sgd69.2%95% interval 67.0%–71.5%56.1%95% interval 54.8%–57.4%
Shared hidden layerB-sh-fz70.9%95% interval 68.4%–73.4%56.7%95% interval 55.4%–58.2%
Question-conditioned headC1-fz70.8%95% interval 68.4%–73.2%57.2%95% interval 55.8%–58.6%
What each set-up costs on motor imagery (EEGNet, E1). Parameters, encoder passes, multiply-accumulates and steps are exact. The time per step was measured once, interleaved across set-ups on a shared GPU, and is indicative: in the cost rule a time counts only beyond 1.2×.
Set-upTrainable parametersEncoder passes per windowHead multiply-accumulates per windowTraining steps per fitTime per step
Fixed headsB-lin3,060encoder 2,096 · heads 964 · conditioning 019607,9287.71 ms
Shared hidden layerB-sh18,402encoder 2,096 · heads 16,306 · conditioning 0116,1047,9287.80 ms
Question-conditioned headC120,116encoder 2,096 · heads 15,812 · conditioning 2,208115,7447,9287.89 ms
Separate modelsA5,156one EEGNet per question296010,4927.55 ms

What the canary and the gate set aside

Before any fit, a ridge classifier on each window’s per-channel mean and log-variance, trained and tested within the first fold’s 40 training people, checked whether a question could be answered from those statistics alone; it demotes a question at 85.0% or more. It gave MI-A 66.1%, MI-B 55.9%, MI-C 60.1%, MI-D 47.3%, so none was demoted. The gate set one entry aside: on frozen CBraMod features the fixed heads scored 56.1% (54.8%–57.4%) on which hand; its interval does not lie wholly above the 55.0% floor, so that question is at floor there.

Primary · BOAS · EEGNet and CBraMod

Sleep: the stage, the next change and the half of the night

Three questions about each 30-second epoch of the six polysomnography EEG channels, scored against the human consensus: the sleep stage (SL-A), whether the next epoch’s stage differs (SL-E), and the first or second half of the night (SL-F). 119,725 epochs from 100 people; all nights of a person sit in one fold. Stages at their natural mix: W 16.0%, N1 3.7%, N2 60.3%, N3 4.4%, REM 15.7%; the stage changes at the next epoch in 8.6% of epochs. 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%.

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.

+6.96 ppC1 − B-lin on SL-A, EEGNet from scratch, three seeds

Fixed heads did as well for less: not supported

Only the sleep stage counts. On EEGNet the fixed heads are at floor on the next change (54.4%, 53.5%–55.4%) and on the half of the night (54.2%, 53.0%–55.6%): reported, not counted. On the sleep stage the conditioned head scored +6.96 pp above the fixed heads (+4.92 to +9.09 pp): the whole interval lies above +2 pp. The fixed heads were cheaper: 34,905 against 243,817 trainable parameters, 33,696 against 240,384 head multiply-accumulates per epoch, and a shorter step.

Paired differences in balanced accuracy, in pp, with 95% intervals; 100 people, three seeds.
ComparisonQuestionDifference, ppDifference shown?Margin, ±2 ppGate
EEGNet trained from scratch (E1)
P1 · Conditioned head − fixed headsC1 − B-linSL-Asleep stage, five stages+6.96 pp95% interval +4.92 to +9.09 ppC1 higher2 pp margin not metGate passed
P1 · Conditioned head − fixed headsC1 − B-linSL-Enext epoch’s stage differs+3.02 pp95% interval +1.55 to +4.35 ppC1 higher2 pp margin not metnot read: at floorAt floor: reported, not counted
P1 · Conditioned head − fixed headsC1 − B-linSL-Ffirst or second half of the night+1.42 pp95% interval −0.25 to +2.90 ppNo difference shown2 pp margin not metinconclusive at this sample sizenot read: at floorAt floor: reported, not counted
P5 · Conditioned head − the same layer, not told the questionC1 − B-shSL-Asleep stage, five stages−1.47 pp95% interval −3.79 to +0.94 ppNo difference shownB-sh non-inferior at 2 ppGate passed
P5 · Conditioned head − the same layer, not told the questionC1 − B-shSL-Enext epoch’s stage differs−1.41 pp95% interval −2.40 to −0.50 ppB-sh higherB-sh non-inferior at 2 ppnot read: at floorAt floor: reported, not counted
P5 · Conditioned head − the same layer, not told the questionC1 − B-shSL-Ffirst or second half of the night−0.14 pp95% interval −1.41 to +1.15 ppNo difference shownEquivalent within ±2 ppnot read: at floorAt floor: reported, not counted
P2 · Fixed heads on one small-CNN trunk − separate modelsB-lin − A(SL-A)SL-Asleep stage, five stages−0.84 pp95% interval −2.73 to +0.91 ppNo difference shown2 pp margin not metinconclusive at this sample sizeGate passed
P2 · Fixed heads on one small-CNN trunk − separate modelsB-lin − A(SL-E)SL-Enext epoch’s stage differs+1.20 pp95% interval +0.07 to +2.44 ppB-lin higherB-lin non-inferior at 2 ppnot read: at floorAt floor: reported, not counted
P2 · Fixed heads on one small-CNN trunk − separate modelsB-lin − A(SL-F)SL-Ffirst or second half of the night+2.01 pp95% interval +0.54 to +3.89 ppB-lin higherB-lin non-inferior at 2 ppnot read: at floorAt floor: reported, not counted
Heads on frozen CBraMod features (L1)
P4 · Conditioned head − fixed headsC1-fz − B-lin-fz-sgdSL-Asleep stage, five stages+0.19 pp95% interval −0.74 to +1.14 ppNo difference shownEquivalent within ±2 ppGate passed
P4 · Conditioned head − fixed headsC1-fz − B-lin-fz-sgdSL-Enext epoch’s stage differs+1.75 pp95% interval +0.92 to +2.63 ppC1-fz higher2 pp margin not metGate passed
P4 · Conditioned head − fixed headsC1-fz − B-lin-fz-sgdSL-Ffirst or second half of the night+0.77 pp95% interval −0.14 to +1.67 ppNo difference shownEquivalent within ±2 ppGate passed
S1 · Conditioned head − the same layer, not told the question · secondaryC1-fz − B-sh-fzSL-Asleep stage, five stages−0.53 pp95% interval −1.10 to +0.01 ppNo difference shownEquivalent within ±2 ppGate passed
S1 · Conditioned head − the same layer, not told the question · secondaryC1-fz − B-sh-fzSL-Enext epoch’s stage differs−0.22 pp95% interval −0.76 to +0.30 ppNo difference shownEquivalent within ±2 ppGate passed
S1 · Conditioned head − the same layer, not told the question · secondaryC1-fz − B-sh-fzSL-Ffirst or second half of the night+0.05 pp95% interval −0.57 to +0.70 ppNo difference shownEquivalent within ±2 ppGate passed

On the sleep stage the gain is the hidden layer’s: the same layer not told the question scored +8.43 pp above the fixed heads (B-sh − B-lin, secondary S2; +5.83 to +11.12 pp), and C1 − B-sh was −1.47 pp (−3.79 to +0.94 pp), B-sh non-inferior at 2 pp; on frozen CBraMod features C1 − B-sh was equivalent within ±2 pp on all three questions. Sharing the trunk, against separate models, was inconclusive on the sleep stage. On frozen CBraMod features the fixed heads were equivalent within ±2 pp of the conditioned head on the sleep stage and the half of the night, not on the next change (+1.75 pp, +0.92 to +2.63 pp). Five-stage accuracy on the small EEGNet trunk is modest: 34.4% with fixed heads and 41.4% with the conditioned head, against a chance of 20.0%; fixed heads on frozen CBraMod features reach 70.7%.

Balanced accuracy of each set-up: the mean over 100 people with its 95% interval. Chance is 20.0% for the sleep stage and 50.0% for the other two; the gate’s floors are 25.0% and 55.0%. Overlapping intervals are not ranked.
Set-upSL-A · sleep stage, five stagesSL-E · next epoch’s stage differsSL-F · first or second half of the night
EEGNet trained from scratch (E1)
Fixed headsB-lin34.4%95% interval 32.1%–37.0%54.4%95% interval 53.5%–55.4%54.2%95% interval 53.0%–55.6%
Shared hidden layerB-sh42.9%95% interval 40.1%–45.7%58.9%95% interval 57.5%–60.2%55.8%95% interval 54.2%–57.4%
Question-conditioned headC141.4%95% interval 38.6%–44.2%57.5%95% interval 56.0%–58.8%55.6%95% interval 54.2%–57.1%
Separate modelsA35.3%95% interval 32.9%–37.8%53.2%95% interval 52.2%–54.3%52.2%95% interval 51.0%–53.7%
Frozen CBraMod features (L1)
Fixed headsB-lin-fz-sgd70.7%95% interval 68.5%–72.7%63.5%95% interval 62.3%–64.7%64.5%95% interval 62.8%–66.1%
Shared hidden layerB-sh-fz71.4%95% interval 69.1%–73.6%65.5%95% interval 64.1%–66.7%65.2%95% interval 63.6%–66.9%
Question-conditioned headC1-fz70.9%95% interval 68.6%–73.0%65.2%95% interval 63.9%–66.5%65.2%95% interval 63.6%–66.9%

A question that follows from another: does it need its own model?

Awake or asleep (SL-B) follows from the sleep stage. A separate wake-or-sleep model, A(SL-B), left less error than reading the answer off the five-stage model A(SL-A): its remaining error was 0.684 times the read-out’s. The interval does not rule out a reduction of 20% or more, the margin set before the run, so “a derivable question needs no model of its own” is not supported.

log R, the dedicated model’s remaining error (1 − AUROC) over the read-out’s, with its 95% interval; 100 people, three seeds.
Comparisonlog RRAUROC, dedicated / read-outDifference shown?Margin, 20%Gate
P3 · Its own model − reading it off the five-stage modelA(SL-B) / A(SL-A) · SL-B−0.38095% interval −0.583 to −0.2030.6840.941 / 0.914Dedicated model leaves less error20% margin not metGate passed

CBraMod adapted by LoRA (E2): secondary, one seed, run last

This arm ran on 7 October 2026, after every other result of the run, and two independent audits, were known. Its design (35 LoRA fits, the seed, the recipe, the 30-second input as fifteen 2-second segments, the comparisons) and the condition for running it were fixed when the protocol was frozen, and nothing about it was chosen from results. It ran with temporary private checkpoints so that a fit could resume: during the run 39 were written for 33 fits, each replaced by its fit’s next one or deleted when its fit finished, so none outlived its fit, and 0 remain; a check of resuming, run before the fits, removed its own the same way. Its scoring ran the frozen code, and an independent audit recomputed all 9 entries.

Paired differences in balanced accuracy, in pp, with 95% intervals; 100 people, one seed: no training-run variance in these intervals.
ComparisonQuestionDifference, ppDifference shown?Margin, ±2 ppGate
S3-P1 · Conditioned head − fixed headsC1 − B-linSL-Asleep stage, five stages+0.54 pp95% interval −0.41 to +1.51 ppNo difference shownEquivalent within ±2 ppGate passedattached by the E2-sleep scorer, recomputed by its audit
S3-P1 · Conditioned head − fixed headsC1 − B-linSL-Enext epoch’s stage differs+3.00 pp95% interval +2.20 to +3.81 ppC1 higher2 pp margin not metGate passedattached by the E2-sleep scorer, recomputed by its audit
S3-P1 · Conditioned head − fixed headsC1 − B-linSL-Ffirst or second half of the night+0.80 pp95% interval −0.19 to +1.79 ppNo difference shownEquivalent within ±2 ppGate passedattached by the E2-sleep scorer, recomputed by its audit
S3-P5 · Conditioned head − the same layer, not told the questionC1 − B-shSL-Asleep stage, five stages+0.15 pp95% interval −0.15 to +0.44 ppNo difference shownEquivalent within ±2 ppGate passedattached by the E2-sleep scorer, recomputed by its audit
S3-P5 · Conditioned head − the same layer, not told the questionC1 − B-shSL-Enext epoch’s stage differs+0.15 pp95% interval −0.13 to +0.44 ppNo difference shownEquivalent within ±2 ppGate passedattached by the E2-sleep scorer, recomputed by its audit
S3-P5 · Conditioned head − the same layer, not told the questionC1 − B-shSL-Ffirst or second half of the night+0.03 pp95% interval −0.23 to +0.29 ppNo difference shownEquivalent within ±2 ppGate passedattached by the E2-sleep scorer, recomputed by its audit
S3-P2 · Fixed heads on one adapted CBraMod − separate modelsB-lin − A(SL-A)SL-Asleep stage, five stages+0.10 pp95% interval −0.50 to +0.69 ppNo difference shownEquivalent within ±2 ppGate passedattached by the E2-sleep scorer, recomputed by its audit
S3-P2 · Fixed heads on one adapted CBraMod − separate modelsB-lin − A(SL-E)SL-Enext epoch’s stage differs−0.70 pp95% interval −1.51 to +0.10 ppNo difference shownEquivalent within ±2 ppGate passedattached by the E2-sleep scorer, recomputed by its audit
S3-P2 · Fixed heads on one adapted CBraMod − separate modelsB-lin − A(SL-F)SL-Ffirst or second half of the night−0.31 pp95% interval −1.59 to +0.98 ppNo difference shownEquivalent within ±2 ppGate passedattached by the E2-sleep scorer, recomputed by its audit

With CBraMod adapted, the fixed heads were equivalent within ±2 pp of the conditioned head on the sleep stage and the half of the night; on the next change the conditioned head was +3.00 pp higher (+2.20 to +3.81 pp). Shared against separate models: equivalent within ±2 pp on all three. Gate arm, fixed heads at E2: SL-A 72.8% (70.9%–74.6%), SL-E 65.0% (63.8%–66.2%), SL-F 64.9% (63.3%–66.3%); all passed.

What each set-up costs on sleep (EEGNet, E1). Parameters, encoder passes, multiply-accumulates and steps are exact. The time per step was measured once, interleaved across set-ups on a shared GPU, and is indicative: in the cost rule a time counts only beyond 1.2×.
Set-upTrainable parametersEncoder passes per epochHead multiply-accumulates per epochTraining steps per fitTime per step
Fixed headsB-lin34,905encoder 1,200 · heads 33,705 · conditioning 0133,69619,9823.24 ms
Shared hidden layerB-sh241,593encoder 1,200 · heads 240,393 · conditioning 01240,19219,9823.56 ms
Question-conditioned headC1243,817encoder 1,200 · heads 240,393 · conditioning 2,2241240,38419,9824.04 ms
Separate modelsA37,305one EEGNet per question333,69659,9162.60 ms

What the canary and the gate set aside

The canary, on the first fold’s 80 training people, gave SL-A 36.8%, SL-B 59.9%, SL-C 70.7%, SL-D 82.1%, SL-E 56.5%, SL-F 58.4%, all below 85.0%, so none was demoted. The gate set aside the next change and the half of the night on EEGNet; every question passed on frozen CBraMod features and with CBraMod adapted.

Secondary · crude replication · EESM19 · one seed

The same comparison on EESM19, crude

Every stored 30-second epoch of the full EESM19 release (first scorer) that passes the published core rules, at its natural stage mix: 52,311 epochs from 20 people. EEGNet from scratch, one seed, and no shared-hidden-layer arm, so the question code cannot be told apart from the hidden layer here. A different protocol from the balanced scalp subset in the core matrix. SL-E and SL-F are largely predictable from the current stage; no stage-only read-out was computed here.

Paired differences in balanced accuracy, in pp, with 95% intervals; 20 people, one seed.
ComparisonQuestionThe two arms’ meansDifference, ppDifference shown?Margin, ±2 ppGate
S13-P1 · Conditioned head − fixed headsC1 − B-linSL-Asleep stage, five stages66.7% / 63.2%+3.47 pp95% interval +1.54 to +5.64 ppC1 higher2 pp margin not metGate passedattached by the run
S13-P1 · Conditioned head − fixed headsC1 − B-linSL-Enext epoch’s stage differs56.8% / 53.4%+3.38 pp95% interval +2.27 to +4.36 ppC1 higher2 pp margin not metnot read: at floorAt floor: reported, not countedattached by the run
S13-P1 · Conditioned head − fixed headsC1 − B-linSL-Ffirst or second half of the night63.8% / 61.8%+2.09 pp95% interval +0.38 to +3.74 ppC1 higher2 pp margin not metGate passedattached by the run
S13-P2 · Fixed heads on one small-CNN trunk − separate modelsB-lin − A(SL-A)SL-Asleep stage, five stages63.2% / 64.7%−1.47 pp95% interval −2.90 to −0.10 ppA(SL-A) higher2 pp margin not metGate passedattached by the run
S13-P2 · Fixed heads on one small-CNN trunk − separate modelsB-lin − A(SL-E)SL-Enext epoch’s stage differs53.4% / 52.1%+1.33 pp95% interval +0.42 to +2.32 ppB-lin higherB-lin non-inferior at 2 ppnot read: at floorAt floor: reported, not countedattached by the run
S13-P2 · Fixed heads on one small-CNN trunk − separate modelsB-lin − A(SL-F)SL-Ffirst or second half of the night61.8% / 62.5%−0.72 pp95% interval −2.10 to +0.69 ppNo difference shown2 pp margin not metinconclusive at this sample sizeGate passedattached by the run

On the sleep stage the direction matches BOAS: the conditioned head above the fixed heads (+3.47 pp, +1.54 to +5.64 pp), margin not met. The canary, on 16 training people, demoted nothing; the gate set the next change aside.

Secondary · exploratory

Secondary and exploratory results

Further arms on motor imagery and sleep, one seed unless marked: what training on every question at once changes, longer training, other encoders and other heads. Each carries its gate and who attached it.

Show the secondary results

Codes: K-all, every question of the dataset trained together (MI-C and MI-D added on OpenBMI; SL-B, SL-C and SL-D on BOAS); primary K, the primary questions only; 2x, twice the training epochs; step-matched, A(MI-B) trained for the shared set-ups’ number of steps; B-MLP64-fz, a separate 64-unit hidden layer per question; H, a hypernetwork over learned question codes (exploratory: equivalent to linear heads by construction); C2-fz, query tokens over CBraMod’s token features. Each gate says who attached it: the run, the level’s gate, or the independent secondary audit, which attached the gates the frozen scoring left out. S2 on frozen features was computed by the independent secondary audit, not by the run.

Motor imagery, OpenBMI
EntryLevelQuestionContrastDifference, ppDifference shown?Margin, ±2 ppGate
S2three seedsE1MI-Aimagery or restB-sh − B-lin+1.17 pp95% interval −0.09 to +2.54 ppNo difference shown2 pp margin not metinconclusive at this sample sizeGate passedattached by the independent secondary audit
S2three seedsE1MI-Bwhich handB-sh − B-lin−0.54 pp95% interval −1.65 to +0.74 ppNo difference shownEquivalent within ±2 ppGate passedattached by the independent secondary audit
S10E1MI-Aimagery or restB-lin(K-all) − B-lin(primary)−2.32 pp95% interval −3.94 to −0.75 ppB-lin(primary) higher2 pp margin not metGate passedattached by the independent secondary audit
S10E1MI-Bwhich handB-lin(K-all) − B-lin(primary)−1.84 pp95% interval −3.26 to −0.41 ppB-lin(primary) higher2 pp margin not metGate passedattached by the independent secondary audit
S10E1MI-Aimagery or restC1(K-all) − C1(primary)−1.12 pp95% interval −2.47 to +0.21 ppNo difference shown2 pp margin not metinconclusive at this sample sizeGate passedattached by the independent secondary audit
S10E1MI-Bwhich handC1(K-all) − C1(primary)−2.44 pp95% interval −4.75 to −0.24 ppC1(primary) higher2 pp margin not metGate passedattached by the independent secondary audit
S5E1MI-Aimagery or restC1(2x) − B-lin(2x)+0.89 pp95% interval −0.55 to +2.59 ppNo difference shown2 pp margin not metinconclusive at this sample sizeGate passedattached by the independent secondary audit
S5E1MI-Bwhich handC1(2x) − B-lin(2x)−0.24 pp95% interval −1.43 to +0.98 ppNo difference shownEquivalent within ±2 ppGate passedattached by the independent secondary audit
S6-P1E1MI-Coffline or online runC1(K-all) − B-lin(K-all)−0.15 pp95% interval −2.86 to +2.50 ppNo difference shown2 pp margin not metinconclusive at this sample sizeGate passedattached by the independent secondary audit
S6-P2E1MI-Coffline or online runB-lin(K-all) − A(MI-C)−2.75 pp95% interval −5.43 to −0.22 ppA(MI-C) higher2 pp margin not metGate passedattached by the run
S6-P1E1MI-Dday 1 or day 2C1(K-all) − B-lin(K-all)−0.69 pp95% interval −4.17 to +2.64 ppNo difference shown2 pp margin not metinconclusive at this sample sizenot read: at floorAt floor: reported, not countedattached by the independent secondary audit
S6-P2E1MI-Dday 1 or day 2B-lin(K-all) − A(MI-D)+0.49 pp95% interval −3.23 to +3.81 ppNo difference shown2 pp margin not metinconclusive at this sample sizenot read: at floorAt floor: reported, not countedattached by the run
S12E1MI-Bwhich handA(MI-B), step-matched − A(MI-B)−0.03 pp95% interval −1.63 to +1.44 ppNo difference shownEquivalent within ±2 ppGate passedattached by the independent secondary audit
S12-P2E1MI-Bwhich handB-lin − A(MI-B), step-matched−0.57 pp95% interval −2.09 to +1.05 ppNo difference shown2 pp margin not metinconclusive at this sample sizeGate passedattached by the independent secondary audit
S3-P1E2MI-Aimagery or restC1 − B-lin−0.43 pp95% interval −1.06 to +0.18 ppNo difference shownEquivalent within ±2 ppGate passedattached by the independent secondary audit
S3-P2E2MI-Aimagery or restB-lin − A(MI-A)−0.09 pp95% interval −0.58 to +0.39 ppNo difference shownEquivalent within ±2 ppGate passedattached by the independent secondary audit
S3-P5E2MI-Aimagery or restC1 − B-sh−0.07 pp95% interval −0.36 to +0.23 ppNo difference shownEquivalent within ±2 ppGate passedattached by the independent secondary audit
S3-P1E2MI-Bwhich handC1 − B-lin−1.07 pp95% interval −2.08 to −0.08 ppB-lin higherB-lin non-inferior at 2 ppGate passedattached by the independent secondary audit
S3-P2E2MI-Bwhich handB-lin − A(MI-B)+0.35 pp95% interval −0.46 to +1.18 ppNo difference shownEquivalent within ±2 ppGate passedattached by the independent secondary audit
S3-P5E2MI-Bwhich handC1 − B-sh−0.16 pp95% interval −0.71 to +0.42 ppNo difference shownEquivalent within ±2 ppGate passedattached by the independent secondary audit
S7L1 · ST-EEGFormer Base, pooledMI-Aimagery or restC1-fz − B-lin-fz-sgd−1.11 pp95% interval −1.89 to −0.32 ppB-lin-fz-sgd higherEquivalent within ±2 ppGate passedattached by the independent secondary audit
S7L1 · ST-EEGFormer Base, pooledMI-Bwhich handC1-fz − B-lin-fz-sgd−0.26 pp95% interval −1.43 to +0.85 ppNo difference shownEquivalent within ±2 ppnot read: at floorAt floor: reported, not countedattached by the independent secondary audit
S14L1 · CBraMod, pooledMI-Aimagery or restB-MLP64-fz − B-sh-fz−0.08 pp95% interval −0.66 to +0.49 ppNo difference shownEquivalent within ±2 ppGate passedattached by the independent secondary audit
X1L1 · CBraMod, pooledMI-Aimagery or restH − B-lin-fz-sgd−1.78 pp95% interval −2.30 to −1.24 ppB-lin-fz-sgd higherB-lin-fz-sgd non-inferior at 2 ppGate passedattached by the independent secondary audit
S14L1 · CBraMod, pooledMI-Bwhich handB-MLP64-fz − B-sh-fz+0.59 pp95% interval −0.32 to +1.57 ppNo difference shownEquivalent within ±2 ppnot read: at floorAt floor: reported, not countedattached by the independent secondary audit
X1L1 · CBraMod, pooledMI-Bwhich handH − B-lin-fz-sgd−0.49 pp95% interval −1.17 to +0.15 ppNo difference shownEquivalent within ±2 ppnot read: at floorAt floor: reported, not countedattached by the independent secondary audit
S8L1 · CBraMod tokensMI-Aimagery or restC2-fz − B-lin-fz-sgd−0.95 pp95% interval −2.27 to +0.45 ppNo difference shownB-lin-fz-sgd non-inferior at 2 ppGate passedattached by the independent secondary audit
S8L1 · CBraMod tokensMI-Bwhich handC2-fz − B-lin-fz-sgd−5.31 pp95% interval −7.09 to −3.69 ppB-lin-fz-sgd higherB-lin-fz-sgd non-inferior at 2 ppnot read: at floorAt floor: reported, not countedattached by the independent secondary audit
S2three seedscomputed by the independent auditL1MI-Aimagery or restB-sh-fz − B-lin-fz-sgd+1.66 pp95% interval +0.95 to +2.44 ppB-sh-fz higher2 pp margin not metGate passedthe level’s gate
S2three seedscomputed by the independent auditL1MI-Bwhich handB-sh-fz − B-lin-fz-sgd+0.66 pp95% interval −0.18 to +1.48 ppNo difference shownEquivalent within ±2 ppnot read: at floorAt floor: reported, not countedthe level’s gate

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.

Sleep, BOAS
EntryLevelQuestionContrastDifference, ppDifference shown?Margin, ±2 ppGate
S2three seedsE1SL-Asleep stage, five stagesB-sh − B-lin+8.43 pp95% interval +5.83 to +11.12 ppB-sh higher2 pp margin not metGate passedattached by the independent secondary audit
S2three seedsE1SL-Enext epoch’s stage differsB-sh − B-lin+4.43 pp95% interval +3.10 to +5.71 ppB-sh higher2 pp margin not metnot read: at floorAt floor: reported, not countedattached by the independent secondary audit
S2three seedsE1SL-Ffirst or second half of the nightB-sh − B-lin+1.56 pp95% interval −0.31 to +3.49 ppNo difference shown2 pp margin not metinconclusive at this sample sizenot read: at floorAt floor: reported, not countedattached by the independent secondary audit
S10E1SL-Asleep stage, five stagesB-lin(K-all) − B-lin(primary)−2.55 pp95% interval −3.86 to −1.31 ppB-lin(primary) higher2 pp margin not metGate passedattached by the independent secondary audit
S10E1SL-Enext epoch’s stage differsB-lin(K-all) − B-lin(primary)+0.97 pp95% interval +0.23 to +1.71 ppB-lin(K-all) higherEquivalent within ±2 ppnot read: at floorAt floor: reported, not countedattached by the independent secondary audit
S10E1SL-Ffirst or second half of the nightB-lin(K-all) − B-lin(primary)−0.61 pp95% interval −1.37 to +0.16 ppNo difference shownEquivalent within ±2 ppnot read: at floorAt floor: reported, not countedattached by the independent secondary audit
S10E1SL-Asleep stage, five stagesC1(K-all) − C1(primary)+4.14 pp95% interval +2.76 to +5.49 ppC1(K-all) higherC1(K-all) non-inferior at 2 ppGate passedattached by the independent secondary audit
S10E1SL-Enext epoch’s stage differsC1(K-all) − C1(primary)+0.96 pp95% interval +0.11 to +1.79 ppC1(K-all) higherEquivalent within ±2 ppnot read: at floorAt floor: reported, not countedattached by the independent secondary audit
S10E1SL-Ffirst or second half of the nightC1(K-all) − C1(primary)+1.67 pp95% interval +0.55 to +2.87 ppC1(K-all) higherC1(K-all) non-inferior at 2 ppnot read: at floorAt floor: reported, not countedattached by the independent secondary audit
S5E1SL-Asleep stage, five stagesC1(2x) − B-lin(2x)+1.71 pp95% interval +0.12 to +3.25 ppC1(2x) higher2 pp margin not metGate passedattached by the independent secondary audit
S5E1SL-Enext epoch’s stage differsC1(2x) − B-lin(2x)+2.13 pp95% interval +1.27 to +2.93 ppC1(2x) higher2 pp margin not metnot read: at floorAt floor: reported, not countedattached by the independent secondary audit
S5E1SL-Ffirst or second half of the nightC1(2x) − B-lin(2x)+2.78 pp95% interval +1.72 to +3.94 ppC1(2x) higher2 pp margin not metnot read: at floorAt floor: reported, not countedattached by the independent secondary audit
S6-P1E1SL-CREM or NREMC1(K-all) − B-lin(K-all)+5.50 pp95% interval +4.04 to +7.04 ppC1(K-all) higher2 pp margin not metGate passedattached by the independent secondary audit
S6-P2E1SL-CREM or NREMB-lin(K-all) − A(SL-C)−9.59 pp95% interval −11.77 to −7.58 ppA(SL-C) higher2 pp margin not metGate passedattached by the run
S6-P1E1SL-DN3 or notC1(K-all) − B-lin(K-all)+9.79 pp95% interval +6.69 to +12.95 ppC1(K-all) higher2 pp margin not metGate passedattached by the independent secondary audit
S6-P2E1SL-DN3 or notB-lin(K-all) − A(SL-D)−2.13 pp95% interval −4.50 to +0.07 ppNo difference shown2 pp margin not metinconclusive at this sample sizeGate passedattached by the run
S11three seedsE1SL-Enext epoch’s stage differsB-lin − read-out from B-lin+4.35 pp95% interval +3.46 to +5.28 ppDedicated head higherNo margin: a descriptive contrastNo gate: descriptivedescriptive
S11three seedsE1SL-Enext epoch’s stage differsB-sh − read-out from B-sh+8.26 pp95% interval +6.91 to +9.52 ppDedicated head higherNo margin: a descriptive contrastNo gate: descriptivedescriptive
S11three seedsE1SL-Enext epoch’s stage differsC1 − read-out from C1+6.67 pp95% interval +5.35 to +7.90 ppDedicated head higherNo margin: a descriptive contrastNo gate: descriptivedescriptive
S11three seedsE1SL-Enext epoch’s stage differsA(SL-E) − read-out from A(SL-A)+3.09 pp95% interval +2.02 to +4.14 ppDedicated head higherNo margin: a descriptive contrastNo gate: descriptivedescriptive
S11three seedsE1SL-Ffirst or second half of the nightB-lin − read-out from B-lin−0.35 pp95% interval −1.47 to +0.87 ppNo difference shownNo margin: a descriptive contrastNo gate: descriptivedescriptive
S11three seedsE1SL-Ffirst or second half of the nightB-sh − read-out from B-sh−1.34 pp95% interval −2.22 to −0.48 ppRead-out from the stage probabilities higherNo margin: a descriptive contrastNo gate: descriptivedescriptive
S11three seedsE1SL-Ffirst or second half of the nightC1 − read-out from C1−1.24 pp95% interval −2.03 to −0.48 ppRead-out from the stage probabilities higherNo margin: a descriptive contrastNo gate: descriptivedescriptive
S11three seedsE1SL-Ffirst or second half of the nightA(SL-F) − read-out from A(SL-A)−2.74 pp95% interval −4.48 to −0.92 ppRead-out from the stage probabilities higherNo margin: a descriptive contrastNo gate: descriptivedescriptive
S7L1 · REVE Large, pooledSL-Asleep stage, five stagesC1-fz − B-lin-fz-sgd−0.86 pp95% interval −1.60 to −0.11 ppB-lin-fz-sgd higherEquivalent within ±2 ppGate passedattached by the independent secondary audit
S7L1 · REVE Large, pooledSL-Enext epoch’s stage differsC1-fz − B-lin-fz-sgd+2.30 pp95% interval +1.36 to +3.20 ppC1-fz higher2 pp margin not metGate passedattached by the independent secondary audit
S7L1 · REVE Large, pooledSL-Ffirst or second half of the nightC1-fz − B-lin-fz-sgd+0.08 pp95% interval −0.79 to +0.98 ppNo difference shownEquivalent within ±2 ppGate passedattached by the independent secondary audit
S14L1 · CBraMod, pooledSL-Asleep stage, five stagesB-MLP64-fz − B-sh-fz−0.17 pp95% interval −0.89 to +0.54 ppNo difference shownEquivalent within ±2 ppGate passedattached by the independent secondary audit
X1L1 · CBraMod, pooledSL-Asleep stage, five stagesH − B-lin-fz-sgd−2.72 pp95% interval −3.40 to −2.09 ppB-lin-fz-sgd higherB-lin-fz-sgd non-inferior at 2 ppGate passedattached by the independent secondary audit
S14L1 · CBraMod, pooledSL-Enext epoch’s stage differsB-MLP64-fz − B-sh-fz−0.96 pp95% interval −1.71 to −0.23 ppB-sh-fz higherEquivalent within ±2 ppGate passedattached by the independent secondary audit
X1L1 · CBraMod, pooledSL-Enext epoch’s stage differsH − B-lin-fz-sgd−1.94 pp95% interval −2.74 to −1.14 ppB-lin-fz-sgd higherB-lin-fz-sgd non-inferior at 2 ppGate passedattached by the independent secondary audit
S14L1 · CBraMod, pooledSL-Ffirst or second half of the nightB-MLP64-fz − B-sh-fz−0.33 pp95% interval −1.13 to +0.53 ppNo difference shownEquivalent within ±2 ppGate passedattached by the independent secondary audit
X1L1 · CBraMod, pooledSL-Ffirst or second half of the nightH − B-lin-fz-sgd−1.50 pp95% interval −2.29 to −0.73 ppB-lin-fz-sgd higherB-lin-fz-sgd non-inferior at 2 ppGate passedattached by the independent secondary audit
S8L1 · CBraMod tokensSL-Asleep stage, five stagesC2-fz − B-lin-fz-sgd+1.64 pp95% interval +0.58 to +2.70 ppC2-fz higher2 pp margin not metGate passedattached by the independent secondary audit
S8L1 · CBraMod tokensSL-Enext epoch’s stage differsC2-fz − B-lin-fz-sgd+2.93 pp95% interval +2.02 to +3.83 ppC2-fz higher2 pp margin not metGate passedattached by the independent secondary audit
S8L1 · CBraMod tokensSL-Ffirst or second half of the nightC2-fz − B-lin-fz-sgd+1.05 pp95% interval −0.03 to +2.11 ppNo difference shown2 pp margin not metinconclusive at this sample sizeGate passedattached by the independent secondary audit
S2three seedscomputed by the independent auditL1SL-Asleep stage, five stagesB-sh-fz − B-lin-fz-sgd+0.72 pp95% interval −0.13 to +1.64 ppNo difference shownEquivalent within ±2 ppGate passedthe level’s gate
S2three seedscomputed by the independent auditL1SL-Enext epoch’s stage differsB-sh-fz − B-lin-fz-sgd+1.97 pp95% interval +1.21 to +2.74 ppB-sh-fz higher2 pp margin not metGate passedthe level’s gate
S2three seedscomputed by the independent auditL1SL-Ffirst or second half of the nightB-sh-fz − B-lin-fz-sgd+0.72 pp95% interval −0.01 to +1.51 ppNo difference shownEquivalent within ±2 ppGate passedthe level’s gate
Questions that follow from the sleep stage (S4), log R
EntryContrastlog RRAUROC, dedicated / read-outDifference shown?Margin, 20%Gate
S4-SL-C100 peopleSL-C · A(SL-C) / A(SL-A)−0.82495% interval −0.980 to −0.6750.4380.908 / 0.789Dedicated model leaves less error20% margin not metGate passedattached by the run
S4-SL-D71 peopleSL-D · A(SL-D) / A(SL-A)0.12695% interval −0.002 to 0.2511.1340.975 / 0.978No difference shownRead-out non-inferior at 20%Gate passedattached by the run
S4-within-B-lin(K-all)100 peopleSL-B · B-lin(K-all) / B-lin(K-all)−0.52595% interval −0.665 to −0.3950.5920.946 / 0.908Dedicated model leaves less error20% margin not metGate passedattached by the run
S4-within-C1(K-all)100 peopleSL-B · C1(K-all) / C1(K-all)−0.08895% interval −0.144 to −0.0310.9160.946 / 0.941Dedicated model leaves less errorEquivalent within the 20% marginGate passedattached by the run

Coherence (descriptive): the share of test epochs where a dedicated wake, REM or N3 head contradicts the same set-up’s five-stage head — B-lin(K-all): SL-B 17.2%, SL-C 21.0%, SL-D 1.0%; C1(K-all): SL-B 9.8%, SL-C 12.9%, SL-D 1.2%; A(SL-B) against A(SL-A): 16.5%.

Methods & limits

What these results can and cannot say

Not run, and not reported

Checks

Three independent audits re-implemented the definitions without the study code and recomputed the figures from the frozen predictions: the primary audit passed 10 of 10 checks over 1,673 values, the secondary 10 of 10 over 971, and the E2-sleep audit 25 of 25; none found a mismatch.

The recordings

OpenBMI motor imagery (Lee et al. 2019)

Min-Ho Lee, O-Yeon Kwon, Yong-Jeong Kim, Hong-Kyung Kim, Young-Eun Lee, John Williamson, Siamac Fazli and Seong-Whan Lee · EEG dataset and OpenBMI toolbox for three BCI paradigms: an investigation into BCI illiteracy, GigaScience (2019), giz002, doi:10.1093/gigascience/giz002. Data: Supporting data, GigaScience Database, doi:10.5524/100542.

Source ↗ · CC0-1.0

BOAS, the Bitbrain Open Access Sleep dataset

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.

Source ↗ · CC0-1.0

EESM19, full release (first scorer)

Kaare B. Mikkelsen et al. · Accurate whole-night sleep monitoring with dry-contact ear-EEG (2019), doi:10.1038/s41598-019-53115-3; OpenNeuro ds005185 v1.0.2. Processed mirror: Zachary1150/EESM19-Processed.

Source ↗ · CC0-1.0 declared by upstream and mirror

Methods these results draw on (titles checked against arXiv on 7 October 2026)

Data source: shared-representation-update.json · schema bci-report-shared-representation-update-v1 · generated 2026-10-07.

Cite this page

BCI Report (2026). Can one EEG model answer several questions about the same data as well as separate models, and at what cost? https://bci.report/topics/shared-encoder/

Figures from release shared-representation-update-20261007 (2026-10-07). Cite the upstream datasets as well: their credits are on this page.

Every release is archived on Zenodo: doi:10.5281/zenodo.23123296. BibTeX for the site and its releases → · CITATION.cff ↗