SleePyCo: Automatic Sleep Scoring with Feature Pyramid and Contrastive Learning
Automatic sleep scoring is essential for the diagnosis and treatment of sleep disorders and enables longitudinal sleep tracking in home environments. Conventionally, learning-based automatic sleep scoring on single-channel electroencephalogram (EEG) is actively studied because obtaining multi-channel signals during sleep is difficult. However, learning representation from raw EEG signals is challenging owing to the following issues: 1) sleep-related EEG patterns occur on different temporal and frequency scales and 2) sleep stages share similar EEG patterns. To address these issues, we propose a deep learning framework named SleePyCo that incorporates 1) a feature pyramid and 2) supervised contrastive learning for automatic sleep scoring. For the feature pyramid, we propose a backbone network named SleePyCo-backbone to consider multiple feature sequences on different temporal and frequency scales. Supervised contrastive learning allows the network to extract class discriminative features by minimizing the distance between intra-class features and simultaneously maximizing that between inter-class features. Comparative analyses on four public datasets demonstrate that SleePyCo consistently outperforms existing frameworks based on single-channel EEG. Extensive ablation experiments show that SleePyCo exhibits enhanced overall performance, with significant improvements in discrimination between the N1 and rapid eye movement (REM) stages.
PDF AbstractCode
Results from the Paper
Task | Dataset | Model | Metric Name | Metric Value | Global Rank | Benchmark |
---|---|---|---|---|---|---|
Sleep Stage Detection | MASS (single-channel) | SleePyCo (C4-A1 only) | Accuracy | 86.8% | # 1 | |
Cohen's Kappa | 0.811 | # 1 | ||||
Macro-F1 | 0.825 | # 1 | ||||
Sleep Stage Detection | Montreal Archive of Sleep Studies | SleePyCo (C4-A1 only) | Accuracy | 86.8% | # 1 | |
Cohen's kappa | 0.811 | # 1 | ||||
Macro-F1 | 0.825 | # 1 | ||||
Sleep Stage Detection | PhysioNet Challenge 2018 | SleePyCo (C3-A2 only) | Accuracy | 80.9% | # 2 | |
Cohen's Kappa | 0.737 | # 2 | ||||
Macro-F1 | 0.789 | # 2 | ||||
Sleep Stage Detection | PhysioNet Challenge 2018 (single-channel) | SleePyCo (C3-A2 only) | Accuracy | 80.9% | # 1 | |
Cohen's Kappa | 0.737 | # 1 | ||||
Macro-F1 | 0.789 | # 1 | ||||
Sleep Stage Detection | SHHS (single-channel) | SleePyCo (C4-A1 only) | Accuracy | 87.9% | # 3 | |
Cohen's Kappa | 0.830 | # 3 | ||||
Macro-F1 | 0.807 | # 4 | ||||
Sleep Stage Detection | Sleep-EDF | SleePyCo (Fpz-Cz only) | Accuracy | 86.8% | # 1 | |
Macro-F1 | 0.812 | # 1 | ||||
Cohen's kappa | 0.820 | # 1 | ||||
Sleep Stage Detection | Sleep-EDF (single-channel) | SleePyCo (Fpz-Cz only) | Accuracy | 86.8% | # 1 | |
Sleep Stage Detection | Sleep-EDFx | SleePyCo (Fpz-Cz only) | Accuracy | 84.6% | # 2 | |
Cohen's Kappa | 0.787 | # 1 | ||||
Macro-F1 | 0.790 | # 2 | ||||
Sleep Stage Detection | Sleep-EDFx (single-channel) | SleePyCo (Fpz-Cz only) | Accuracy | 84.6% | # 2 | |
Cohen's Kappa | 0.787 | # 1 | ||||
Macro-F1 | 0.790 | # 2 |