Issue 28 Β· Pick 06 BCI β read
Simple Geometric Recentering Rivals Deep Sequence Models for Cross-Session EEG Motor-Imagery Decoding
bioRxiv β Β·PDF Β·neuroscience Β·2026-07-11 Β·9 min read
TL;DR: Take the most vanilla Riemannian EEG pipeline you can build β covariance matrix, tangent-space projection, logistic regression β and flip one boolean: re-estimate the tangent-space reference point on the unlabeled test session instead of freezing it from training. Across eight public motor-imagery datasets, that single unsupervised correction beats every classical Riemannian baseline and a family of bidirectional-Mamba mixture-of-experts models fed identical covariance features, cross-session, with effect sizes of d = 1.06β1.50. Within session, where there's no drift to correct, the advantage vanishes exactly (d = -0.00). The message: for cross-session motor-imagery BCI, the bottleneck is a geometric distribution shift you can fix with one line of code, not a lack of model capacity. (Note: this is a bioRxiv preprint, not yet peer-reviewed, and the "deep model that loses" is the authors' own architecture.)
The problem: your EEG decoder rots overnight
Motor-imagery BCIs classify which movement a user is imagining from a few seconds of multichannel EEG. The workhorse feature is the spatial covariance matrix of each trial β an n_\text{channels} \times n_\text{channels} symmetric positive-definite (SPD) matrix summarizing which electrodes co-vary. Imagining left- vs. right-hand movement changes this covariance structure in stereotyped ways (event-related desynchronization over contralateral motor cortex), so classifying covariances works remarkably well.
The catch is that covariances also encode everything you don't care about: exact electrode placement, skin impedance, gel drying, arousal, drowsiness. Put the cap on again tomorrow and the whole cloud of covariance matrices has moved β the discriminative structure between classes is largely preserved, but the cloud's center has shifted. A classifier trained on session 1 degrades on session 2 not because the task changed but because the coordinate frame did.
The field's dominant response has been to throw capacity at it: deeper convnets, attention, and lately selective state-space models (Mamba), on the implicit theory that an expressive model will learn session-invariant features. This paper asks the uncomfortable prior question: before adding any of that, how far does the simplest possible geometric fix go?
A two-minute primer on the geometry
SPD matrices don't live in a vector space β the average of two covariance matrices under Euclidean arithmetic distorts their spectra, and straight-line interpolation can leave the SPD cone entirely. They live on a curved Riemannian manifold, and the affine-invariant metric gives a principled distance between them. Two tools built on this metric dominate classical BCI:
- MDM (minimum distance to mean): compute the Riemannian (geometric) mean of each class's covariances, classify new trials by nearest class mean. No learned weights at all.
- Tangent-space projection: pick a reference point C on the manifold (usually the geometric mean of the training covariances), and map every trial's covariance S_i into the flat tangent plane at C:
where \log is the matrix logarithm and \mathrm{vec} flattens the upper triangle. This linearizes the manifold around C, and now any Euclidean classifier β an SVM, logistic regression β works on the vectors v_i. This tangent-space + linear-classifier recipe has won BCI competitions for a decade and was the top performer in the largest BCI reproducibility study to date.
The crucial detail: the linearization is only faithful near C. If your test data has drifted away from the training mean, you're projecting it through the wrong tangent plane β like reading a map of Lisbon while standing in Madrid.
The one-line insight
Here is the entire method, as the paper gives it in pyRiemann syntax:
Covariances(estimator="oas") β TangentSpace(metric="riemann", tsupdate=True) β LogisticRegression
tsupdate=True means: at test time, re-estimate the reference point C as the geometric mean of the incoming test session's own covariances β no labels needed, just the unlabeled trials. Geometrically, this re-centers the drifted test cloud back onto the neighborhood where the classifier was trained. If session drift acts approximately as a congruence transform S \mapsto A S A^\top (which is what changing electrode coupling and impedance does to a covariance), then centering each session at its own mean before projecting cancels the rigid part of that shift.
To be clear about novelty: recentering itself is not new. Zanini et al.'s Riemannian transfer, Euclidean Alignment, and Riemannian Procrustes Analysis all do variants of this, and RPA already showed recentering carries most of the transfer benefit. tsupdate is a stock pyRiemann flag. What's new here is the controlled attribution: a benchmark deliberately designed so that the recentering step is the only moving part, tested against both classical and deep decoders on identical inputs.
The experimental design: hold features fixed, vary only the decoder
Every method β classical or deep β consumes the same input: an Oracle-Approximating-Shrinkage covariance per trial, one 8β32 Hz band, 250 Hz, same trials, same splits, same seed. Eight MOABB datasets (3β128 channels, 2β3 classes), two protocols: within-session (5-fold CV inside a session; N = 120 subject-level observations) and cross-session (leave-one-session-out; N = 88, five multi-session datasets).
The contenders:
- Geometry-Aware (the star): tangent space + logistic regression,
tsupdate=Truecross-session only. - TS+SVM: the same pipeline minus recentering, with a linear SVM head. This is the critical control β its twin.
- FgMDM, MDM: standard Riemannian classifiers.
- BiMamba+MoE and two ablations: the authors' own prior deep architecture β covariance rows as tokens, 128-d embedding, bidirectional Mamba blocks, two-expert soft MoE gate, multi-scale pooling head. Small by design (~hundreds of thousands of parameters), fixed 20-epoch Adam budget, no per-dataset tuning.
- SPDNet-style MLP: a batch-normed 256β128 MLP on the exact tangent vector the logistic regression sees β isolating "deep vs. linear" on literally identical features.
The results
Cross-session, at the subject level, Geometry-Aware hits 75.9% mean balanced accuracy against 69.7% (FgMDM), 69.0% (TS+SVM), 68.2% (SPDNet), 64.2% (MDM) β and the Mamba family languishes at 54β57%, below every classical method. Geometry-Aware wins all five cross-session datasets outright, by +2.1 to +9.0 points over the best competitor per dataset:
All seven pairwise comparisons against Geometry-Aware survive FDR correction with p < 1.1\times10^{-12} and Cohen's d between 1.06 and 1.50 β decisive by any standard. A telling detail: the smallest margin (+2.1) is on BNCI2014_004, which has only 3 channels, so there's almost no spatial covariance structure to recenter. That's consistent with the proposed mechanism rather than a generic advantage.
The dissociation: where the aha lives
The heart of the paper is Section 4.5, and it's a genuinely elegant piece of experimental logic. Geometry-Aware and TS+SVM differ in exactly two ways: the recentering flag and the classifier head (logistic regression vs. linear SVM). The within-session protocol disables recentering for both β so there, they differ only in the classifier. Result: statistically indistinguishable, d = -0.00, p = 0.54, with numerically identical means (78.3% vs 78.3%). The classifier choice contributes nothing. Therefore the +6.9-point cross-session gap between the same two pipelines, where the only remaining difference is recentering, is attributable to recentering.
A method that simply "decoded better" would lead in both protocols. Geometry-Aware leads only where between-session drift exists. That within/cross double dissociation is the falsifiable signature of a drift-correction mechanism, not extra discriminative power β and it's confirmed by the critical-difference analysis: cross-session, Geometry-Aware's average rank (1.45) is separated from everything by more than the CD; within-session it's statistically tied with TS+SVM for first.
The authors also handle the obvious statistical objection head-on: Lee2019_MI contributes 54 of the 88 cross-session subjects. Dropping it entirely leaves the central effect intact (d = 1.10, p = 3.6\times10^{-8}, N = 34), and a maximally conservative dataset-level test finds Geometry-Aware ahead on all five datasets (unanimous direction, p = 0.06 at N = 5, where the Wilcoxon has essentially no power).
Why the deep models lose β and how skeptical to be
The Mamba variants underperform everything, including MDM, a classifier with zero learned parameters. The authors' interpretation: each trial yields exactly one covariance matrix, so per-subject training sets are tiny (tens to a few hundred samples), and a sequence model treating covariance rows as tokens has "little structure to exploit and ample opportunity to overfit," while the tangent-space pipeline bakes in exactly the right inductive bias.
That's plausible, but it's also where your skepticism belongs:
- Row-tokenized covariances are a strange diet for a sequence model. Mamba architectures were built for long temporal sequences; feeding them the rows of a single 22Γ22 matrix strips out the temporal dynamics they exist to model. The "matched features" constraint that makes the comparison clean also arguably hobbles the deep models most. The authors acknowledge this: richer multi-band features "might give the deep models more structure to use."
- Fixed budget, no tuning. Twenty epochs, one hyperparameter setting, no per-dataset search, and β as they admit β no logged training accuracy or learning curves. The claim that the gap is generalization rather than optimization rests on "training loss converged." Fair for the question asked ("is off-the-shelf complexity justified?"), but it doesn't rule out that a serious deep-learning effort closes the gap.
- No direct mechanistic probe. The recentering attribution is inferred from the dissociation, not measured. The obvious next analysis β compute the Riemannian distance between session means and correlate it with the per-dataset gain β is missing, and the authors flag it as the single most valuable follow-up.
- Transductive, not online.
tsupdateneeds the test session's trials to estimate its mean. Fine for offline benchmarks; a real-time BCI would need incremental mean estimation from the first trials of a session. This gap between the evaluation protocol and deployment is unaddressed.
Also worth remembering: the SPDNet-style MLP, given the same tangent vectors as the logistic regression, loses to the linear model too (68.2% vs 75.9% cross-session). Depth on identical features buys nothing here β a cleaner data point than the Mamba comparison, since no input-format objection applies.
What changes if this holds
For practitioners, the actionable takeaway is almost embarrassingly cheap: if you're evaluating cross-session EEG decoders and your baseline is tangent-space classification without test-time recentering, your baseline is broken, and much of the apparent headroom that motivates complex architectures may be an artifact of that broken baseline. Any deep EEG paper claiming cross-session gains should now be compared against tsupdate=True β one flag, zero labels, zero extra compute.
For the field, this lands alongside the large MOABB reproducibility study and Riemannian Procrustes Analysis as converging evidence that cross-session MI decoding is dominated by a geometric distribution shift with a low-dimensional structure β approximately a rigid recentering on the SPD manifold β rather than a representation-learning problem. Deep adaptation methods like Kobler et al.'s SPD batch normalization are, at their core, learning to do this recentering; this paper shows a shallow, explicit version recovers the benefit directly. If future modeling effort is spent, it should build on the recentering mechanism (e.g., learning the residual rotation/stretching that recentering doesn't fix), not around it.
Credit where due: the deep architecture that gets soundly beaten is the authors' own prior work, and publishing that is the right scientific move. The framing occasionally oversells ("decisive," "clean") for what is, mechanistically, a confirmation of known alignment results with unusually careful controls β but careful controls are precisely what this subfield has lacked.
Where to spend your time: Section 4.5 and Table 8 (the mechanism test) are the intellectual core and take five minutes. Section 3.5 is where you should audit the fairness of the deep-model training if you're inclined to defend the Mamba models. The Limitations section is unusually honest and doubles as a research agenda.