SpectraLite

SpectraLite is a 75,459-parameter network for resting-state EEG dementia screening. It reads 12 named spectral markers per electrode from any subset of 10โ€“20 electrodes and pools the electrodes with masked gated attention. It is one of the two model families in

S. Ghosh, R. N. Chaurasia, S. Sharma, and N. Sharma, "External Evaluation of EEG Dementia Classifiers and Their Referral Thresholds Across Independent Clinical Cohorts," manuscript submitted to IEEE Journal of Biomedical and Health Informatics, 2026.

Code: https://github.com/soinikghosh9/NeuroChronoGraph

Research use only. This is not a medical device and has not been validated prospectively. Sensitivity at 80% specificity was 0.32โ€“0.70 at the external cohorts, too low to rule out dementia.

Files

Folder Model Parameters Status
spectralite/ SpectraLite, 12 features per electrode 75,459 reported model, fixed before any external cohort was scored
spectralite16/ 16-feature variant 75,971 exploratory: chosen after external scoring

Each folder holds <task>/seed<s>/fold<k>.safetensors for the tasks control versus dementia (CN_vs_dementia), Alzheimer's disease (CN_vs_AD), any impairment (CN_vs_impaired), and mild cognitive impairment (CN_vs_MCI); three seeds (42, 43, 44); and five subject-grouped folds, plus config.json. manifest.json lists every file and the training protocol; SHA256SUMS.txt holds checksums.

Use

import torch
from safetensors.torch import load_file
from src.models.spectral75k import SpectraLite, conformal_threshold   # from the GitHub repository

def load(task, seed, fold):
    m = SpectraLite(n_features=12)
    m.load_state_dict(load_file(f"spectralite/{task}/seed{seed}/fold{fold}.safetensors"))
    return m.eval()

models = [load("CN_vs_dementia", s, k) for s in (42, 43, 44) for k in range(5)]

# x: one subject's 24 preprocessed 4 s windows, (24, 19, 1024) at 256 Hz, each window and channel centred
# on its median and divided by its interquartile range; electrodes in the order
# Fp1 Fp2 F3 F4 C3 C4 P3 P4 O1 O2 F7 F8 T3 T4 T5 T6 Fz Cz Pz
with torch.no_grad():
    score = torch.stack([m(x=x).softmax(-1)[:, 1].mean() for m in models]).mean().item()

# At a new clinic, set the referral threshold from k local healthy controls' scores (no patient labels):
tau = conformal_threshold(control_scores, target_specificity=0.80)
refer = score > tau

The preprocessing pipeline (band-pass, notch, average reference, ICA with ICLabel, 235 s truncation, 200 ยตV window rejection, 24 windows per subject) is in the GitHub repository (experiments/126_harmonise_corpus.py, experiments/127_extract_harmonised.py). The paper scores each external subject with the mean over the five fold models of each seed and then over the three seeds.

Training

  • Data: CAUEEG only (1,098 subjects after matching). No external cohort was used for training, model selection, or threshold selection.
  • Recipe: AdamW, one-cycle schedule peaking at 3e-3, weight decay 1e-4, 25 epochs, batch size 128, inverse-class-weighted cross-entropy, final-epoch weights.

Results (subject-level AUC, three-seed ensembles)

Task Model CAUEEG (out-of-fold) ds004504 P-ADIC BrainLat
Control vs dementia SpectraLite 0.856 0.846 0.684 0.613
Control vs dementia 16-feature variant 0.837 0.875 0.695 0.656
Control vs AD SpectraLite 0.876 0.897 0.693 0.665
Control vs AD 16-feature variant 0.856 0.909 0.697 0.705

Control versus MCI: SpectraLite 0.706 internally, but 0.455 at GENEEG, 0.521 at P-ADIC, and 0.603 at MISP. MCI was not detected externally.

The CAUEEG threshold gave specificity 0.33โ€“0.68 at the external cohorts. A split-conformal threshold from 20 local healthy controls gave mean specificity 0.79โ€“0.82 within each cohort.

Limitations

  • External cohorts were small (48โ€“166 subjects), case-enriched, and clinically diagnosed without biomarker confirmation.
  • The cohort explained 89% of the variance in external AUC across 26 models; expect performance to depend on the receiving clinic's population and severity mix.
  • Mild Alzheimer's disease was detected near chance at one cohort (AUC 0.52).

License and data terms

The weights are released under CC BY-NC 4.0, for non-commercial research use. They were trained only on CAUEEG, whose terms allow use for academic and research purposes only; anyone using the weights must respect those terms. Please cite CAUEEG (M.-j. Kim, Y. C. Youn, and J. Paik, "Deep learning-based EEG analysis to classify normal, mild cognitive impairment, and dementia: Algorithms and dataset," NeuroImage 272:120054, 2023) and the paper above. The code in the GitHub repository is MIT-licensed.

Downloads last month

-

Downloads are not tracked for this model. How to track
Inference Providers NEW
This model isn't deployed by any Inference Provider. ๐Ÿ™‹ Ask for provider support