Skip to content

komdec/SomnoNet

Repository files navigation

SomnoNet

A simple, efficient, and interpretable sleep staging method (SOTA)

SomnoNet is an extremely lightweight yet highly effective deep learning framework for automatic sleep staging.


📊 Benchmarking Results

Dataset Overall F1 score
OA MF1 k W N1 N2 N3 R
Physio2018 SomnoNet 80.9 79.0 0.739 84.6 59.0 85.1 80.2 86.3
SleePyCo 80.9 78.9 0.737 84.2 59.3 85.3 79.4 86.3
SomnoNet-nano 80.5 78.6 0.734 84.0 57.8 84.8 80.2 86.2
XSleepNet 80.3 78.6 0.732 - - - - -
SeqSleepNet 79.4 77.6 0.719 - - - - -
U-time 78.8 77.4 0.714 82.5 59.0 83.1 79.0 83.5
SHHS SomnoNet 88.1 80.8 0.833 93.1 48.6 88.6 85.0 88.6
SleePyCo 87.9 80.7 0.830 92.6 49.2 88.5 84.5 88.6
SleepTransformer 87.7 80.1 0.828 92.2 46.1 88.3 85.2 88.6
XSleepNet 87.6 80.7 0.826 92.0 49.9 88.3 85.0 88.2
SomnoNet-nano 87.4 79.0 0.822 92.3 43.0 88.0 83.9 87.9
IITNet 86.7 79.8 0.812 90.1 48.1 88.4 85.2 87.2
SeqSleepNet 86.5 78.5 0.81 - - - - -

Table1. Benchmarking against recent state-of-the-art methods

EEG data with different adoption rates


📦 Model Size Comparison

Fig1. EEG data with different adoption rates

Method parameter
SomnoNet-nano 0.049M
SomnoNet 0.43M
SalientSleepNet 0.9M
U-time 1.1M
TinySleepNet 1.3M
SleepEEGNet 2.1M
DeepSleepNet 21M

Table2. The number of model parameters for different methods

We additionally provide three interpretability visualization notebooks for understanding the learned features of SomnoNet, along with example data and corresponding models.

🔍 New: Interpretability & Visualization

To better understand how SomnoNet extracts discriminative features for sleep staging, we provide three visualization Jupyter notebooks:

Interpretability_voting.ipynb

Interpretability_vector_forward.ipynb

Interpretability_vector_backward.ipynb

About

A simple, efficient, and interpretable sleep staging method

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors