1 SPD-DANN

SPD-DANN is a single-source unsupervised domain-adversarial network that extracts manifold-valued EEG features and aligns their marginal and class-conditional distributions with Log-Euclidean losses.

Ref: @SPDDANNSPDManifold

Code not available.

Overview

SPD-DANN uses labeled trials from one source subject and unlabeled data from one target subject. It combines a gradient-reversal domain discriminator with explicit alignment of SPD feature means and pseudo-labeled class prototypes.

Datasets:

Preprocessing: downsample all datasets to 128 Hz; remove irrelevant channels (incl. EOG); band-pass 8-32 Hz; retain 3 s after cue onset for 2a, 4 s for 2b and IIIa, and the first 3 s for IVa.

Protocol: every ordered source-target subject pair is evaluated for cross-subject transfer. For 2a, target session 1 is available for unsupervised adaptation/training and session 2 for testing; for 2b, target sessions 1-3 for adaptation/training and 4-5 for testing; IIIa and IVa are randomly divided into training and test sets “in proportion” (proportion not reported). No target labels are used for training, although confident target pseudo-labels are used by the prototype loss.

Architecture

The feature extractor is

EEG → convolution → batch normalization → split into n temporal/feature parts → covariance → trace normalization → manifold attention → ReEig.

For each part , the covariance is transformed into

The manifold attention module uses three BiMap transformations to construct SPD queries, keys, and values. Attention-weighted values are aggregated with a Log-Euclidean mean; ReEig then rectifies the resulting SPD representation.

Two heads receive this feature:

  • Class head: LogEig → Euclidean layers → source-class prediction.
  • Domain head: gradient reversal → LogEig → a deeper Euclidean network → source/target prediction.

The class loss and binary domain loss are

SPD Domain Feature Alignment

For source features and target features , compute Log-Euclidean means

and the alignment loss

SPD Class Prototype Pair Loss

Source prototype for class :

Target pseudo-label confidence is measured by entropy ; only the 50% of target samples with lowest entropy are retained. With Log-Euclidean distance , the margin loss is

with .

The full objective is

where follows the dynamic DANN schedule and is added with unit weight.

Model Parameters

  • Covariance regularizer: .
  • Covariance scale normalization: divide by trace.
  • Target pseudo-label retention: 50% lowest-entropy predictions.
  • Prototype margin: .
  • Prototype-loss weight at the reported optimum: (sensitivity tested in {0, 0.01, 0.02, 0.05, 0.1, 0.15, 0.2}).
  • Number of convolution filters, temporal parts, BiMap output dimensions, ReEig threshold, and classifier/discriminator layer widths: not reported.

Training Parameters

  • Framework: PyTorch.
  • Optimizer: Riemannian Adam.
  • Learning rate: .
  • Weight decay: .
  • Batch size: 32.
  • Classification loss: source cross-entropy; domain loss: binary cross-entropy optimized adversarially through gradient reversal.
  • : dynamically updated according to the cited DANN strategy.
  • Epochs, early stopping, LR schedule, random-seed count, and hardware: not reported.

Results

Cross-subject accuracy (%). BCIC-IV-2a:

MethodA1A2A3A4A5A6A7A8A9Avg
DALN40.425.040.139.428.936.538.435.432.635.2
DANN39.524.637.238.526.935.036.732.230.433.4
MCD43.430.743.441.932.938.639.838.136.238.3
JDD43.026.845.143.029.036.940.739.039.538.1
SPD-DANN49.738.550.544.541.545.443.546.544.244.9

SPD-DANN exceeds MCD by 6.6 pp and DANN by 11.5 pp.

BCIC-IV-2b:

MethodB1B2B3B4B5B6B7B8B9Avg
DALN69.950.967.861.966.969.868.366.965.865.3
DDAN71.859.066.365.266.271.969.066.370.567.4
DANN64.660.758.360.963.364.869.959.564.262.9
JDD70.750.861.964.769.471.070.766.666.865.8
SPD-DANN78.577.075.476.274.677.677.573.977.776.5

BCIC-III IIIa:

MethodK3bK6bL1bAvg
DALN33.637.537.836.3
MCD38.240.639.839.5
JDD38.840.339.239.4
SPD-DANN41.655.950.749.4

BCIC-III IVa:

MethodaaalavawayAvg
DDAN66.767.563.665.561.665.0
JDD67.967.265.267.266.266.7
SPD-DANN72.176.769.981.373.974.7

Ablation on 2a: without both losses 39.8; only 41.7; only 42.4; full 44.9. Removing reduces accuracy by 3.2 points; removing by 2.5 points.

Notes

  • The random train/test proportion for IIIa and IVa is not specified.