NeuroChronoGraph

NeuroChronoGraph (NCG) is a family of graph–temporal networks for resting-state EEG dementia screening. 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.

Files

Folder Model Parameters (defined / trained) Tasks
ncg_v3/ NCG-v3, the best version by development AUC 6,286,579 / 5,382,215 dementia, AD, any impairment
ncg_v2/ NCG-v2, hierarchical head (screening output trained) 5,992,788 dementia, AD, any impairment
ncg_v5/ NCG-v5, SpectraLite trunk plus raw, graph, lobe, and temporal streams 964,000 all four
ladder_raw/ SpectraLite + raw-waveform stream 103,363 dementia, AD
ladder_graph/ SpectraLite + graph stream 414,472 dementia, AD
ladder_raw_graph/ + raw and graph streams 442,376 dementia, AD
ladder_raw_graph_lobe/ + raw, graph, and lobe streams 542,153 dementia, AD

Each folder holds <task>/seed<s>/fold<k>.safetensors (three seeds, five subject-grouped folds) and a config.json with the constructor. manifest.json lists every file and the training protocol; SHA256SUMS.txt holds checksums.

NCG-v3 reads a raw window through two lanes: an electrode encoder, an adaptive graph, three gated graph convolutions, and a transformer over five lobes; and a multichannel convolution with a four-layer temporal transformer. The outputs are concatenated (512 dimensions) and classified. NCG-v2 and v3 also define band encoders with cross-band attention, clinical-metadata conditioning, and MMSE and uncertainty heads. These received no input or loss in this work, which is why the trained parameter count is lower; the learned adjacency reflects similarity of node features, not measured connectivity.

Use

import torch
from safetensors.torch import load_file
from src.models.v3.neuro_chrono_graph_v3 import NeuroChronoGraphV3   # from the GitHub repository

def load(task, seed, fold):
    m = NeuroChronoGraphV3(n_channels=19, n_classes=2)
    m.load_state_dict(load_file(f"ncg_v3/{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)]

def logits(model, x):                      # NCG returns a dict; the class logits are under "logits"
    out = model(x)
    return out["logits"] if isinstance(out, dict) else out

# x: one subject's 24 preprocessed 4 s windows, (24, 19, 1024) at 256 Hz, robust-scaled per window and
# channel; electrodes 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([logits(m, x).softmax(-1)[:, 1].mean() for m in models]).mean().item()

NCG-v2 exposes its trained output as logits_screen. The constructors for every folder are in its config.json.

Training

CAUEEG only (1,098 subjects after matching), five subject-grouped folds, seeds 42, 43, and 44; 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. External cohorts were never used for training or selection.

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

Task Model CAUEEG (out-of-fold) ds004504 P-ADIC BrainLat
Control vs dementia NCG-v3 0.906 0.863 0.717 0.603
Control vs dementia NCG-v2 0.901 0.861 0.726 0.600
Control vs dementia NCG-v5 0.874 0.822 0.676 0.609
Control vs AD NCG-v3 0.906 0.877 0.717 0.680

NCG-v3 exceeded SpectraLite by 0.049 AUC internally (95% CI 0.032–0.067, Holm P < 0.001) but by −0.010 to +0.033 at the external cohorts, where no paired comparison survived Holm correction. Parameter count tracked development AUC only through the NCG versions, not external AUC.

Limitations

  • External cohorts were small, case-enriched, and clinically diagnosed without biomarker confirmation.
  • The cohort, not the model, explained most of the variation in external AUC (89% against 4%).
  • All networks share one training recipe, so these results do not show that capacity cannot help.

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