1 Phase-SPDNet
Phase-SPDNet (SPDNet) augments spatial covariance matrices with a Takens delay-embedding phase-space reconstruction so that a small SPDNet with only three motor-cortex electrodes (C3, Cz, C4) outperforms state-of-the-art DL decoders on nearly 100 subjects of MOABB motor-imagery data.
Ref: @carraraGeometricNeuralNetwork2024
arXiv:2403.05645; published version: J. Neural Eng. 2024 (the Zhou2016 audit reads the published PDF; version differences are flagged in Notes).
Overview
- Problem: DL for MI-BCI suffers from limited data, low SNR, and inter/intra-subject variability; large electrode setups hurt user comfort; coherence alone is unstable.
- Idea: recover dynamics lost with few electrodes via time-delay embedding (Takens’ theorem), compute covariance on the reconstructed phase space (Augmented Covariance Method, ACM), and feed these larger SPD matrices to SPDNet, with (, ) selected per fold by MDOP.
- Contributions: SPDNet pipeline; few-electrode (3) validation on ~100 subjects / six MOABB datasets; computational and CO2 analysis; GradCam++ explainability.
- Datasets (six, MOABB): BNCI2014001 (BCI Competition IV Dataset 2a, 9 subj, 22 ch, 250 Hz, 2 sessions, 4 tasks, 144 trials/class, epoch [2,6] s); BNCI2014004 (BCI Competition IV Dataset 2b under its MOABB name, 9 subj, 3 ch, 250 Hz, 5 sessions, 2 tasks, 360 trials/class, [3,7.5] s); Cho2017 or GigaDB (52 subj, 64 ch, 512 Hz, 1 session, 2 tasks, 100 trials/class, [0,3] s); Schirrmeister2017 (High Gamma Dataset (HGD), 14 subj, 128 ch, 500 Hz, 1 session, 4 tasks, 120 trials/class, [0,4] s); Weibo2014 (10 subj, 60 ch, 200 Hz, 1 session, 7 tasks, 80 trials/class, [3,7] s); Zhou2016 (4 subj, 14 ch, 250 Hz, 3 sessions, 3 tasks, 160 trials/class, [0,5] s).
- Preprocessing: band-pass 8-32 Hz (overlap-add), artifact rejection, per-channel zero-mean/unit-std standardization (also mitigates ReEig’s scale dependence, ), full epoch used.
- Task/protocol: binary left vs right hand, intra-subject within-session, 5-fold CV per session, on 3 electrodes (C3, Cz, C4); metric ROC-AUC (%).
Architecture
Pipeline: .
- Phase-space reconstruction (): for embedding dimension and delay , the lag function builds the embedded signal
expanding channels to “virtual” channels. and are chosen per epoch with MDOP (Maximizing Derivatives On Projection, false-nearest-neighbors criterion) and averaged over epochs.
2. Covariance (): sample covariance of the phase-space signal — an augmented CovLayer-style operation: input SPD dimension grows from to .
3. BiMap: congruence transform with on the compact Stiefel manifold; for SPDNet the subspace is set to half the input dimension; the standard SPDNet baseline keeps the same dimension (rotation-only) for explainability.
4. ReEig: , , no trainable parameters.
5. LogEig: , no trainable parameters.
6. MLP: one linear layer + softmax classification; cross-entropy loss.
Optimization: BiMap weights use RiemannAdam from the geoopt library (Stiefel manifold); MLP uses Adam.
Model Parameters
Architecture for embedding order (example input = 3 channels, Cho2017, 1537 samples):
| Stage | Layer | Output shape | Parameters |
|---|---|---|---|
| Input | - | [1, 3, 1537] | 0 |
| Augmentation | AugmentedDataset | [1, 18, 1393] | 0 |
| Covariance | Covariances | [1, 18, 18] | 0 |
| SPDNet | BiMap | [1, 9, 9] | 162 |
| SPDNet | ReEig | [1, 9, 9] | 0 |
| SPDNet | LogEig | [1, 45] | 0 |
| Classification | Linear | [1, 2] | 45 |
| Total | 207 |
BiMap subspace = 9 = 18/2 (half of the augmented dimension). Total parameters vary with . MDOP per fold adds the two hyperparameters , .
Training Parameters
Common DL config (also confirmed by the Zhou2016 audit with MOABB 1.1.0): epochs 300; batch size 64; validation split 0.1; loss sparse categorical cross-entropy; Adam lr 0.001 (plus RiemannAdam on the Stiefel for BiMap); early stopping patience 75 (monitor validation loss); ReduceLROnPlateau patience 75, factor 0.5. MDOP used per CV fold instead of grid search.
- Baselines re-run on the same 3 electrodes, resampled to their design rates: ShallowNet/DeepNet/EEGTCNet at 250 Hz; EEGNet/EEGITNet/EEGNeX at 128 Hz. MOABB version: 1.0 in the arXiv v1 text; 1.1.0 per the Zhou2016 audit.
- Hardware for time/CO2 comparisons: Dell C6420 dual-Xeon Cascade Lake SP Gold 6240 @ 2.60 GHz.
- Statistics: one-tailed Wilcoxon signed-rank test + Stouffer meta-analysis across datasets, p < 0.05.
Results
AUC-ROC % (mean ± SD), right vs left hand, within-session 5-fold:
| Model | BNCI2014001 | BNCI2014004 | Cho2017 | Schirrmeister2017 | Weibo2014 | Zhou2016 |
|---|---|---|---|---|---|---|
| DeepNet | 75.80 ± 15.45 | 72.80 ± 19.48 | 63.13 ± 14.45 | 73.04 ± 15.67 | 73.97 ± 18.07 | 91.74 ± 7.00 |
| ShallowNet | 75.85 ± 15.41 | 72.17 ± 18.61 | 64.14 ± 13.03 | 73.59 ± 15.19 | 75.36 ± 15.69 | 88.03 ± 8.55 |
| EEGNet | 70.64 ± 19.87 | 70.27 ± 18.91 | 60.23 ± 14.98 | 69.80 ± 16.51 | 71.94 ± 17.80 | 88.95 ± 7.84 |
| EEGTCNet | 65.98 ± 17.25 | 66.86 ± 18.41 | 56.43 ± 12.31 | 67.87 ± 17.36 | 65.94 ± 15.69 | 81.47 ± 11.66 |
| EEGITNet | 66.64 ± 13.98 | 64.93 ± 14.49 | 54.68 ± 11.97 | 62.98 ± 16.19 | 56.97 ± 17.66 | 72.82 ± 12.78 |
| EEGNeX | 68.86 ± 17.27 | 68.29 ± 17.85 | 56.64 ± 12.83 | 64.26 ± 17.58 | 58.73 ± 19.40 | 80.25 ± 15.55 |
| SPDNet | 71.02 ± 15.64 | 70.15 ± 16.85 | 59.95 ± 12.61 | 67.40 ± 13.01 | 67.04 ± 17.62 | 88.85 ± 8.05 |
| SPDNetψ | 75.98 ± 17.00 | 80.46 ± 16.64 | 66.00 ± 13.29 | 72.02 ± 13.07 | 78.01 ± 19.64 | 94.92 ± 3.34 |
SPDNetψ is best on all datasets except Schirrmeister2017 (not significant); meta-analysis: SPDNetψ statistically better than all other approaches. Augmentation gives a consistent positive relative gain vs standard SPDNet on every dataset.
Published-version additions (from the Zhou2016 audit §6.8, absent from arXiv v1): Phase-SPDNet OPT 95.62 ± 2.36 on Zhou2016 (best, bold); coherence OPT variants (imag 88.76 ± 5.57; inst 91.14 ± 5.30); DynSpat+EEGNet 87.85 ± 7.01; DynSpat+ShallowNet 87.33 ± 8.87.
Coherence variant (arXiv Table A1, SPDNetψ rows only, AUC %): imaginary coherence 60.89 ± 10.17 (2a), 65.70 ± 14.06 (2b), 56.51 ± 8.60 (Cho2017), 61.69 ± 9.81 (Schirr17), 64.75 ± 11.33 (Weibo2014), 72.16 ± 7.40 (Zhou2016); instantaneous coherence 71.84 ± 16.75, 68.83 ± 17.41, 62.04 ± 12.02, 65.37 ± 12.91, 68.31 ± 14.17, 87.03 ± 6.13.
Computational/environmental (CodeCarbon, Cho2017 top-5 subjects): SPDNetψ 30.16 s avg / 0.22 g CO2-eq vs SPDNet 6.80 s / 0.07 — slowest in wall time (per-fold MDOP) but among the most CO2-friendly.
Code
https://github.com/carraraig/Phase-SPDNet (the paper says code will be made public under BSD-3).