# Generalizable Sleep Staging via Multi-Level Domain Alignment

Jiquan Wang1,2, Sha Zhao1,2, Haiteng Jiang3,4,1, Shijian Li1,2, Tao Li3,4,1,
Gang Pan1,2,411footnotemark: 1 Corresponding authors.

###### Abstract

Automatic sleep staging is essential for sleep assessment and disorder
diagnosis. Most existing methods depend on one specific dataset and are
limited to be generalized to other unseen datasets, for which the training
data and testing data are from the same dataset. In this paper, we introduce
domain generalization into automatic sleep staging and propose the task of
generalizable sleep staging which aims to improve the model generalization
ability to unseen datasets. Inspired by existing domain generalization
methods, we adopt the feature alignment idea and propose a framework called
SleepDG to solve it. Considering both of local salient features and sequential
features are important for sleep staging, we propose a Multi-level Feature
Alignment combining epoch-level and sequence-level feature alignment to learn
domain-invariant feature representations. Specifically, we design an Epoch-
level Feature Alignment to align the feature distribution of each single sleep
epoch among different domains, and a Sequence-level Feature Alignment to
minimize the discrepancy of sequential features among different domains.
SleepDG is validated on five public datasets, achieving the state-of-the-art
performance.

## Introduction

Sleep plays an important role in human health. Sleep staging refers to the
classification of sleep into different sleep stages, which is crucial to
identifying sleep problems and other disorders in humans (He et al. 2018).
Clinically, sleep stages are scored by doctors or experts using electrical
activity recorded from sensors attached to different parts of the body. A set
of signals from these sensors is called a polysomnogram (PSG), consisting of
multiple physiological signals recorded, such as electroencephalogram (EEG)
and electrooculogram (EOG). According to the American Academy of Sleep
Medicine (AASM) sleep standard (Iber et al. 2007), PSG is usually segmented
into 30-second epochs, which are manually classified into five different sleep
stages (Wake, N1, N2, N3, and REM) by experts.

In recent years, with the development of deep learning techniques (Sun et al.
2016; Pan et al. 2018; Yi et al. 2021; Wang et al. 2023c), many deep learning
models (Phan and Mikkelsen 2022) have been proposed to solve the task of
automatic sleep staging. They are implemented with different network
structures based on sequence-to-sequence framework, obtaining good performance
in sleep staging from PSG recordings. However, most of existing methods adopt
the intra-dataset scheme, where the training data and testing data are from
the same dataset, ignoring the discrepancies between various datasets and
making it difficult to be generalized to unseen sleep staging datasets well
(Anido-Alonso and Alvarez-Estevez 2022). The discrepancies among multiple
datasets could be caused by many factors, such as heterogeneous patient
population, different signal channel, different data collection equipment
types or manners, or different medical environments. In clinic, a sleep
staging model should better be generalized to unseen datasets of any new
populations in any environment. Some methods (Yoo, Lee, and Kang 2021; Fan et
al. 2022; Wang et al. 2022) illustrate that the training and testing samples
are not drawn from the same probability distribution which cause performance
deterioration when directly applying models trained on source datasets to
target datasets. They adopt the ideas of Domain Adaptation (DA) to solve it,
but the generalization problem still exist because DA methods assume that the
target sleep staging database is accessible.

In order to solve the generalizing-to-unseen-database problem of automatic
sleep staging, we introduce the idea of domain generalization (DG) into the
sleep staging task: A domain is composed of data that is sampled from a join
distribution of input space and label space. The goal of domain generalization
is to learn a model from one or several different but related domains (i.e.,
diverse training datasets) that will perform well on unseen testing domains
(Wang et al. 2023a). The unseen domain is inaccessible in training procedure.
Inspired by some studies (Koh et al. 2021; Robey, Pappas, and Hassani 2021)
exploring hospital-level DG in medical imaging, we set a single sleep staging
dataset (usually from one hospital) as a domain and set the discrepancies
between different datasets as domain shift. Then multiple datasets used for
training can be regarded as source domains and the dataset used for testing
can be seen as target domain or unseen domain. Our goal is to learn a model
from several source domains (several sleep datasets) that can perform well at
the unseen domain (unseen sleep dataset). We name this task as generalizable
sleep staging.

There have been some existing DG studies (Muandet, Balduzzi, and Schölkopf
2013; Li et al. 2018a, b; Matsuura and Harada 2020; Zhou et al. 2020) in other
applications, which mainly focus on learning domain-invariant feature
representations by sample-level feature distribution alignment to solve the
sample-level classification problem, referring to mapping single sample into
the corresponding label. However, different from sample-level classification
problem, sleep staging is a sequence-to-sequence classification problem, which
maps a sequence of samples into the corresponding sequence of labels.
According to AASM standard (Iber et al. 2007), not only local salient
waveforms within each epoch but also transition patterns of sleep stages
between neighbor epochs play critical roles in sleep staging. Meantime, there
have been some studies (Eldele et al. 2021; Phan et al. 2021) proving the
importance of both local intra-epoch features and global inter-epoch features
for sleep staging. Therefore, it is critical to combine intra-epoch feature
(epoch-level) alignment and inter-epoch feature (sequence-level) alignment in
alignment process, to solve the generalization problem of sleep staging.

In this paper, we introduce DG to sleep staging and propose a framework,
SleepDG, to solve the generalization problem of sleep staging. Our
contributions are as follows:

  * •

We introduce a novel task of generalizable sleep staging to solve the
generalization problem of sleep staging in clinic. For the task, we propose
SleepDG, a DG-based deep learning framework, which learns domain-invariant
feature representations from different PSG datasets and can perform well on
unseen datasets.

  * •

We propose a Multi-level Feature Alignment method consisting of Epoch-level
Feature Alignment and Sequence-level Feature Alignment designed to align
feature distribution within each single epoch and between epochs in a sleep
sequence among different PSG datasets.

  * •

SleepDG is validated on five public datasets in the DG scenarios, achieving
the state-of-the-art performance.

## Related Work

### Automatic Sleep Staging

Automatic sleep staging (Melek, Manshouri, and Kayikcioglu 2021) refers to the
classification of sleep epochs into different sleep stages in a sequence-to-
sequence fashion. Existing deep learning methods almost use a local extractor
for epoch features and a global extractor for sequential context features. For
example, Supratak et al. (2017); Supratak and Guo (2020) utilized CNN to
extract local features and Bi-LSTM to encode temporal information. Qu et al.
(2020); Eldele et al. (2021); Wang et al. (2023b) utilized CNN to capture
intra-epoch features and the multi-head self-attention to model global
temporal context. Perslev et al. (2019) utilized a fully-CNN Encoder-Decoder
architecture to model local salient wave characteristic and sleep transitional
rules. Phan et al. (2019) proposed a hierarchical RNN named SeqSleepNet to
extract local and global features from time-frequency images of multimodal PSG
data. Phan et al. (2022) proposed SleepTransformer which encodes both local
features and temporal features via fully Transformers. Jia et al. (2021)
proposed SalientSleepNet, which uses a fully CNN based on the U2-Net to detect
the salient waves from multimodal PSG signals and a Multi-scale Extraction
Module to capture sleep transition rules. Above methods achieve a high
performance on sleep staging on specific datasets. However, it is difficult
for them to be generalized to other unseen datasets.

### Domain Generalization

DG (Gulrajani and Lopez-Paz 2021; Zhou et al. 2023; Wang et al. 2023a)
considers the scenarios where there are domain shift among different domains,
which is different from domain adaptation (DA) (Wang and Deng 2018; Zhao, Yan,
and Lu 2021) because target domain in DG is inaccessible. The DG problem was
formally introduced by Blanchard, Lee, and Scott (2011); Muandet, Balduzzi,
and Schölkopf (2013) as a machine learning problem. Learning domain-invariant
feature representations by minimizing the feature distribution divergence is a
common and effective method for domain generalization. Some studies minimized
the feature distribution divergence by minimizing the maximum mean discrepancy
(MMD) (Tzeng et al. 2014; Wang et al. 2018, 2020), second order correlation
(Sun, Feng, and Saenko 2016; Sun and Saenko 2016), Wasserstein distance (Zhou
et al. 2020) and Similarity Metric (Dou et al. 2019) in deep neural network.
Some studies minimized the feature distribution divergence by adopting Domain-
adversarial neural network (DANN) (Li et al. 2018a) for learning domain-
invariant features, which was originally proposed by Ganin and Lempitsky
(2015) for DA. Most of above methods learn domain-invariant features by
minimizing single-sample features divergence, neglecting the crucial role of
inter-epoch features in sleep staging, which needs to be improved.

Figure 1: SleepDG overview. Here, SD is source domain and TD is target domain.

## Problem Formulation

We introduce a novel task, called generalizable sleep staging, which is a
multi-source DG problem. Let $\mathcal{X}$ be the input space and
$\mathcal{Y}$ the target space, a domain is defined as data sampled from a
join distribution $P_{XY}$ on $\mathcal{X}\times\mathcal{Y}$. Here, we treat
one single sleep dataset as one domain. We have several labeled source
datasets $D^{S_{i}}=(X^{S_{i}},Y^{S_{i}})$, where $i\in[1,2,3,...,M]$ denotes
the $i$-th source domain and $M=4$ in this work.
$\mathrm{\mathbf{x}}^{S_{i}}_{j}=\\{x^{S_{i}}_{j,1},x^{S_{i}}_{j,2},...,x^{S_{i}}_{j,L}\\}$
is the $j$-th sequence composed of $L$ sleep epochs and
$\mathrm{\mathbf{y}}^{S_{i}}_{j}=\\{y^{S_{i}}_{j,1},y^{S_{i}}_{j,2},...,y^{S_{i}}_{j,L}\\}$
is the $j$-th sequence composed of corresponding $L$ sleep stages.
$x^{S_{i}}_{j,k}\in\mathbb{R}^{n\times C}$, $n$ denotes the number of sampling
points in a epoch and $C$ is the number of channels.
$y^{S_{i}}_{j,k}\in\\{0,1\\}^{N}$ and $N=5$ denote the number of sleep stages
(Wake, N1, N2, N3, REM). We also have an unseen target dataset
$D^{T}=(X^{T},Y^{T})$. In the domain shift scenarios, we supposed the
different source datasets $(X^{S_{i}},Y^{S_{i}})$ and target dataset
$(X^{T},Y^{T})$ are sampled from different distributions.

Our generalizable sleep staging task is defined as learning a mapping function
$h:\mathcal{X}\rightarrow\mathcal{Y}$ using only source datasets so that the
predictive error on an unseen target dataset is minimized. We decompose the
prediction function $h$ as $h=f\circ g$, where $g$ is a feature encoder and
$f$ is a classifier. Therefore, the goal of minimizing the predictive error on
an unseen datasets domain can be formulated as:

$\min_{f,g}\mathbb{E}_{(\mathrm{\mathbf{x}},\mathrm{\mathbf{y}})\sim
P(X^{T},Y^{T})}\mathcal{L}(f(g(\mathrm{\mathbf{x}})),\mathrm{\mathbf{y}})+\lambda\mathcal{L}_{\mathrm{reg}}$
(1)

where $\mathcal{L}_{\mathrm{reg}}$ denotes some regularization term and
$\lambda$ is the tradeoff parameter.

## Method

### Overview

Our generalizable sleep staging framework SleepDG is summarized in Fig. 1. In
the training phase shown in Fig. 1(a), we take the source data $X^{S_{i}}$
which is from $M$ different domain as inputs and use encoder $g$, decoder $d$,
classifier $f$ and Multi-level Feature Alignment to learn domain-invariant
feature representations $H^{S_{i}}$. The whole training process is trained in
an end-to-end fashion with the supervision of the groundtruth sleep stages. As
shown in Fig. 1(b), in the test phase we take the target data $X^{T}$ which is
from the target domain as input and extract the feature representations
$H^{T}$ by the feature encoder $g$. Then we feed $H^{T}$ into the classifier
$f$ to predict the sleep stages $Y^{T}$.

### AE-based Feature Encoding

In order to learn feature representations $H^{S_{i}}$, we design a sequence-
to-sequence autoencoder (AE), consisting of encoder $g$ and decoder $d$. We
take the source data $X^{S_{i}}$ as inputs and extract the feature
representations $H^{S_{i}}$ by encoder $g$. The process of features extracting
can be expressed as $H^{S_{i}}=g(X^{S_{i}})$, where
$H^{S_{i}}=\\{\mathrm{\mathbf{h}}^{S_{i}}_{j}\\}^{N^{S_{i}}}_{j=1}$ is
composed of many sequences $\mathrm{\mathbf{h}}^{S_{i}}_{j}$,
$\mathrm{\mathbf{h}}^{S_{i}}_{j}=\\{h^{S_{i}}_{j,1},h^{S_{i}}_{j,2},...,h^{S_{i}}_{j,L}\\}$
is composed of $L$ feature representations which are learned from $L$ sleep
epochs, $h^{S_{i}}_{j,k}\in\mathbb{R}^{d}$ and $d$ denotes the feature
dimension. Specifically, the feature encoder $g$ consists of CNN and
Transformer, where CNN is used to extract intra-epoch features and Transformer
is used to extract inter-epoch features. We use a decoder $d$ to reconstruct
$X^{S_{i}}$ from $H^{S_{i}}$. The process of reconstruction can be expressed
as $\hat{X}^{S_{i}}=d(H^{S_{i}})$, where $\hat{X}^{S_{i}}$ is the
reconstructed sleep data corresponding to $X^{S_{i}}$. Then, we use the Mean
Squared Error (MSE) loss function as the reconstruction loss:

$\mathcal{L}_{\mathrm{rec}}=\frac{1}{L}\sum^{L}_{k=1}\|x^{S_{i}}_{j,k}-\hat{x}^{S_{i}}_{j,k}\|_{2},$
(2)

where $x^{S_{i}}_{j,k}$ is a sleep epoch, $\hat{x}^{S_{i}}_{j,k}$ is the
reconstructed sleep epoch and $\|\cdot\|_{2}$ denotes the squared norm.

### Multi-level Feature Alignment

The feature alignment refers to mapping source data from different datasets
into one shared feature space in which
$\mathrm{P}(H^{S_{i}},Y^{S_{i}})=\mathrm{P}(H^{S_{j}},Y^{S_{j}})$ if $i\neq
j$. We can decompose joint distribution $\mathrm{P}(H^{S_{i}},Y^{S_{i}})$ into
a marginal distribution and a conditional distribution by
$\mathrm{P}(H^{S_{i}},Y^{S_{i}})=\mathrm{P}(H^{S_{i}})\mathrm{P}(Y^{S_{i}}|H^{S_{i}})$.
According to AASM standard (Iber et al. 2007), sleep experts adopt a uniform
rules for manual sleep staging, so we assume that the conditional
distributions are the same in different sleep staging datasets. In other
words, we make a prior assumption that
$\mathrm{P}(Y^{S_{i}}|H^{S_{i}})=\mathrm{P}(Y^{S_{j}}|H^{S_{j}})$, if $i\neq
j$. Under such a prior assumption, we only need to align the marginal
distribution $\mathrm{P}(H^{S_{i}})$.

Sleep staging is a sequence-to-sequence classification and both local intra-
epoch features and global context features among sequential epochs are
important for sleep staging (Eldele et al. 2021; Phan et al. 2021). Inspired
by this, we design a Multi-level Feature Alignment method consisting of Epoch-
level Feature Alignment and Sequence-level Feature Alignment. The alignment of
sequence features
$\mathrm{\mathbf{h}}^{S_{i}}_{j}=\\{h^{S_{i}}_{j,1},h^{S_{i}}_{j,2},...,h^{S_{i}}_{j,L}\\}$
could be divided to reducing marginal distribution on single epoch features
and conditional distribution between epochs in a sleep sequence:

$\begin{split}\mathrm{P}(\mathrm{\mathbf{h}}^{S_{i}}_{j})&=\mathrm{P}(h^{S_{i}}_{j,k})\mathrm{P}(\mathrm{\mathbf{h}}^{S_{i}}_{j}\setminus\\{h^{S_{i}}_{j,k}\\}|h^{S_{i}}_{j,k})\\\
&=\frac{1}{L}\sum^{L}_{k=1}\mathrm{P}(h^{S_{i}}_{j,k})\mathrm{P}(\mathrm{\mathbf{h}}^{S_{i}}_{j}\setminus\\{h^{S_{i}}_{j,k}\\}|h^{S_{i}}_{j,k}),\end{split}$
(3)

where $\mathrm{P}(h^{S_{i}}_{j,k})$ is the marginal distribution of each epoch
feature and
$\mathrm{P}(\mathrm{\mathbf{h}}^{S_{i}}_{j}\setminus\\{h^{S_{i}}_{j,k}\\}|h^{S_{i}}_{j,k})$
is the conditional distribution between each epoch feature and other epoch
features in a sleep sequence. To summarize, the feature alignment could be
converted to the alignment of $\mathrm{P}(h^{S_{i}}_{j,k})$ and
$\mathrm{P}(\mathrm{\mathbf{h}}^{S_{i}}_{j}\setminus\\{h^{S_{i}}_{j,k}\\}|h^{S_{i}}_{j,k})$,
which can be called Multi-level Feature Alignment. We call the alignment of
$\mathrm{P}(h^{S_{i}}_{j,k})$ as Epoch-level Feature Alignment and the
alignment of
$\mathrm{P}(\mathrm{\mathbf{h}}^{S_{i}}_{j}\setminus\\{h^{S_{i}}_{j,k}\\}|h^{S_{i}}_{j,k})$
as Sequence-level Feature Alignment.

#### Epoch-level Feature Alignment

Some existing methods minimize the feature distribution divergence by
minimizing the maximum mean discrepancy (MMD) (Tzeng et al. 2014; Wang et al.
2018, 2020) and other methods minimize the domain discrepancy by minimizing
the second order correlation (Sun, Feng, and Saenko 2016; Sun and Saenko
2016). Inspired by above, we utilize both the first-order statistics
(expectation) and the second-order statistics (covariances) as the measure of
distribution to minimize the domain discrepancy. We set $F^{i}$ as the set of
all features in the source domain $S_{i}$, so any $h^{S_{i}}_{j,k}\in F^{i}$.
The first-order statistics discrepancy is computed through the following
equation:

$\mathcal{L}_{\mathrm{first}}=\sum_{i\neq
j}\|\mathrm{E}(F^{i})-\mathrm{E}(F^{j})\|_{2},$ (4)

where $\mathrm{E}(\cdot)$ is the expectation and $\|\cdot\|_{2}$ denotes the
squared norm.

The second-order statistics discrepancy is computed through the following
equation:

$\mathcal{L}_{\mathrm{second}}=\sum_{i\neq
j}\|\mathrm{COV}(F^{i})-\mathrm{COV}(F^{j})\|^{2}_{F},$ (5)

where $\mathrm{COV}(\cdot)$ is the covariances matrix and $\|\cdot\|^{2}_{F}$
denotes the squared matrix Frobenius norm.

Combining the first-order statistics discrepancy and the second-order
statistics discrepancy, we get the epoch-level discrepancy computed equation:

$\mathcal{L}_{\mathrm{epoch}}=\mathcal{L}_{\mathrm{first}}+\mathcal{L}_{\mathrm{second}},$
(6)

By minimizing $\mathcal{L}_{\mathrm{epoch}}$, we can minimize the epoch-level
domain discrepancy to align the marginal distribution
$\mathrm{P}(h^{S_{i}}_{j,k})$.

#### Sequence-level Feature Alignment

Our Sequence-level Feature Alignment is to align the conditional distribution
$\mathrm{P}(\mathrm{\mathbf{h}}^{S_{i}}_{j}\setminus\\{h^{S_{i}}_{j,k}\\}|h^{S_{i}}_{j,k})$.
However, it is very difficult to align this distribution directly. In order to
simplify this problem, we regard the conditional distribution
$\mathrm{P}(\mathrm{\mathbf{h}}^{S_{i}}_{j}\setminus\\{h^{S_{i}}_{j,k}\\}|h^{S_{i}}_{j,k})$
as the relationship between the feature of one epoch and the features of other
epochs in the sleep sequence. Thus, we decide to use the Pearson correlation
coefficients to represent the relationship between different epochs in a
sequence and to align the expectation of the inter-epoch Pearson correlation
coefficients in the sleep sequence from different source sleep datasets.

We set $R^{i}_{j}$ as the correlation matrix of sleep sequence
$\mathrm{\mathbf{h}}^{S_{i}}_{j}$, and $\rho_{k,t}$ is the element of the
$k$-th column and the $t$-th row in $R^{i}_{j}$. $\rho_{k,t}$ is computed
through the following equation:

$\rho_{k,t}=\frac{Cov(h^{S_{i}}_{j,k},h^{S_{i}}_{j,t})}{\sqrt{Var(h^{S_{i}}_{j,k})Var(h^{S_{i}}_{j,t})}},$
(7)

where $Cov(\cdot)$ is the covariances and $Var(\cdot)$ is the variance. After
getting $R^{i}_{j}$, we can compute the expectation $R^{i}$ of correlation
matrix of source domain $S_{i}$ through the following equation:

$R^{i}=\frac{1}{N^{S_{i}}}\sum_{j=1}^{N^{S_{i}}}R^{i}_{j},$ (8)

where $N^{S_{i}}$ denotes the number of sleep sequences in a source domain
$D^{S_{i}}$.

Finally, we can compute the sequence-level discrepancy through the following
equation:

$\mathcal{L}_{\mathrm{sequence}}=\sum_{i\neq j}\|R^{i}-R^{j}\|^{2}_{F},$ (9)

where $\|\cdot\|^{2}_{F}$ denotes the squared matrix Frobenius norm. By
minimizing $\mathcal{L}_{\mathrm{sequence}}$, we can indirectly align the
conditional distribution
$\mathrm{P}(\mathrm{\mathbf{h}}^{S_{i}}_{j}\setminus\\{h^{S_{i}}_{j,k}\\}|h^{S_{i}}_{j,k})$
to minimize the sequence-level domain discrepancy.

### Training

We design a classifier $f$ to classify each epoch in a sequence into different
sleep stages. The classifier $f$ is a fully connected layer with a softmax
function. We use the cross-entropy (CE) function as the loss function for the
sleep staging task:

$\mathcal{L}_{\mathrm{classify}}=-\sum^{L}_{k=1}\sum^{N}_{l=1}y^{S_{i}}_{j,k,l}log(\hat{y}^{S_{i}}_{j,k,l}),$
(10)

where $y^{S_{i}}_{j,k,l}$, the $l$-th element of $y^{S_{i}}_{j,k}$, denotes
the probability that $x^{S_{i}}_{j,k}$ actually belongs to the $l$-th stage,
and $\hat{y}^{S_{i}}_{j,k,l}$, the $l$-th element of $\hat{y}^{S_{i}}_{j,k}$,
denotes the probability that $x^{S_{i}}_{j,k}$ is predicted to the $l$-th
stage. Finally, we combine the loss functions for feature alignment and
classifier:

$\mathcal{L}=\mathcal{L}_{\mathrm{classify}}+\lambda_{1}\mathcal{L}_{\mathrm{rec}}+\lambda_{2}\mathcal{L}_{\mathrm{epoch}}+\lambda_{3}\mathcal{L}_{\mathrm{sequence}},$
(11)

where $\mathcal{L}$ is the final loss function used in Eq. (1),
$\lambda_{1}$,$\lambda_{2}$ and $\lambda_{3}$ is the coefficients.

Dataset | Sample Frequency | Recordings | Recordings | EEG channel | EOG channel
---|---|---|---|---|---
| (Hz) | (all) | (we choose) | (we choose) | (we choose)
I. SleepEDFx | 100 | 197 | 197 | Fpz-Cz | horizontal
II. ISRUC | 200 | 126 | 126 | F4-M1 | E1-M2
III. SHHS | 125 | 5,793 | 150 | C4-M1 | ROC-LOC
IV. HMC | 256 | 151 | 151 | F4-M1 | E1-M2
V. P2018 | 200 | 995 | 150 | C3-M2 | E1-M2
Table 1: Summary of the datasets used in our experiments. SD | II, III, IV, V | I, III, IV, V | I, II, IV, V | I, II, III, V | I, II, III, IV | Avg
---|---|---|---|---|---|---
TD | I | II | III | IV | V
Metrics | ACC | MF1 | ACC | MF1 | ACC | MF1 | ACC | MF1 | ACC | MF1 | ACC | MF1
DeepSleepNet | 72.28 | 65.72 | 64.04 | 62.84 | 69.71 | 67.80 | 64.73 | 52.79 | 66.62 | 60.51 | 67.48 | 61.93
U-Time | 72.51 | 65.84 | 65.13 | 63.71 | 70.58 | 68.10 | 64.53 | 51.68 | 67.35 | 61.07 | 67.82 | 62.28
AttnSleep | 73.76 | 66.93 | 64.49 | 62.19 | 70.39 | 68.19 | 64.07 | 51.82 | 66.19 | 60.78 | 67.78 | 61.98
ResnetMHA | 73.01 | 65.89 | 65.18 | 63.02 | 70.11 | 67.54 | 65.16 | 53.99 | 67.89 | 61.87 | 68.27 | 62.46
TinySleepNet | 73.34 | 66.10 | 65.87 | 64.01 | 69.18 | 66.99 | 65.76 | 54.56 | 68.29 | 61.36 | 68.49 | 62.60
EnhancingCE | 73.51 | 66.69 | 65.98 | 64.37 | 70.56 | 69.12 | 65.88 | 54.39 | 67.84 | 61.19 | 68.75 | 63.14
SalientSleepNet | 73.92 | 67.59 | 65.44 | 63.22 | 69.93 | 68.16 | 66.36 | 55.49 | 68.89 | 63.13 | 68.91 | 63.52
SleepDG | 77.44 | 71.29 | 73.85 | 71.16 | 78.69 | 74.44 | 70.45 | 60.89 | 74.74 | 70.43 | 75.03 | 69.64
Table 2: Performance comparison with existing non-DG methods for sleep
staging. I is SleepEDFx, II is ISRUC, III is SHHS, IV is HMS, V is P2018.

## Experiments

### Datasets and Preprocessing

We evaluated the performance of SleepDG and other methods on five different
public sleep staging datasets: I. SleepEDFx (Kemp et al. 2000; Goldberger et
al. 2000) consists of 197 PSG recordings, all of which were used for
evaluation. II. ISRUC (Khalighi et al. 2016) consists of 126 whole-night PSG
recordings, all of which were employed in this work. III. SHHS (Zhang et al.
2018; Quan et al. 1997) consists of 5,791 PSG recordings. To keep the balance
with other datasets, we used the first 150 recordings in our experiments. IV.
HMS (Alvarez-Estevez and Rijsman 2021) includes 151 whole-night PSG
recordings, and we used all the recordings in the experiments. V. P2018
(Ghassemi et al. 2018) consists of 944 whole-night PSG recordings. We employed
the first 150 recordings in this work for the balance with other datasets. The
summary of all the datasets is shown in Tab. 1. In order to ensure that
SleepDG can adapt to datasets with different channels, we only selected
single-channel EEG and EOG from each dataset.

SleepEDFx and SHHS were scored according to R&K standard (Wolpert 1969),
including W, N1, N2, N3, N4 and REM. We merged the N3 and N4 stages into a
single stage N3 according to the latest AASM standard (Iber et al. 2007).
Besides, for SleepEDFx, we only kept the PSGs starting from 30 minutes before
to 30 minutes after the first and last non-wake epochs as recommended by
Supratak et al. (2017). All the sleep recordings used in our experiments were
band-pass filtered (0.3Hz–35Hz), resampled to 100Hz and normalized according
to the Z-score standardization.

### Settings

We take turns to select four ones from the five datasets as the source domains
for training and set the left one as the unseen domain for testing, where the
training data and testing data are from different datasets. We adopt training-
domain validation (Wang et al. 2023a) as the strategy of model selection,
where each source domain is split into the training part and the validation
part. Notably, the unseen domain is inaccessible in the training procedure.

We implemented SleepDG based on the PyTorch. The source code is publicly
available111https://github.com/wjq-learning/SleepDG. The model is trained
using the Adam optimizer with default settings, the learning rate is set to
1e-3 and the weight decay is set to 1e-4. The coefficients $\lambda_{1}$,
$\lambda_{2}$ and $\lambda_{3}$ are all set to 0.5. The training epoch is 50,
the mini-batch size is set to 32 and the dropout rate is 0.1. We set the
length of sleep epoch sequence as $L=20$ and the feature dimension as $d=512$.
Accuracy (ACC) and Macro-F1 score (MF1) are used as evaluation metrics. We
trained the model on one machine with Intel Core i9 10900K CPU and eight
NVIDIA RTX 3080 GPUs.

### Results and Analysis

#### Compared with non-DG Methods for Sleep Staging

SD | II, III, IV, V | I, III, IV, V | I, II, IV, V | I, II, III, V | I, II, III, IV | Avg
---|---|---|---|---|---|---
TD | I | II | III | IV | V
Metrics | ACC | MF1 | ACC | MF1 | ACC | MF1 | ACC | MF1 | ACC | MF1 | ACC | MF1
BASE | 73.89 | 67.02 | 65.63 | 63.85 | 70.34 | 68.49 | 65.10 | 54.47 | 68.83 | 62.85 | 68.76 | 63.34
MMD | 75.41 | 70.06 | 69.39 | 66.84 | 75.09 | 70.60 | 68.09 | 57.68 | 70.71 | 65.00 | 71.74 | 66.04
CORAL | 75.38 | 70.70 | 70.06 | 68.57 | 74.83 | 72.18 | 69.45 | 58.33 | 71.62 | 67.81 | 72.27 | 67.52
IRM | 75.27 | 70.21 | 70.24 | 68.42 | 74.84 | 71.81 | 68.48 | 56.43 | 71.60 | 67.88 | 72.09 | 66.95
DANN | 74.71 | 69.56 | 69.30 | 67.69 | 72.69 | 70.35 | 67.49 | 56.17 | 71.01 | 67.40 | 71.12 | 66.23
SleepDG | 77.44 | 71.29 | 73.85 | 71.16 | 78.69 | 74.44 | 70.45 | 60.89 | 74.74 | 70.43 | 75.03 | 69.64
Table 3: Performance comparison with existing DG methods for sleep staging. I is SleepEDFx, II is ISRUC, III is SHHS, IV is HMS, V is P2018. SD | II, III, IV, V | I, III, IV, V | I, II, IV, V | I, II, III, V | I, II, III, IV | Avg
---|---|---|---|---|---|---
TD | I | II | III | IV | V
Metrics | ACC | MF1 | ACC | MF1 | ACC | MF1 | ACC | MF1 | ACC | MF1 | ACC | MF1
BASE | 73.89 | 67.02 | 65.63 | 63.85 | 70.34 | 68.49 | 65.10 | 54.47 | 68.83 | 62.85 | 68.76 | 63.34
AE | 74.34 | 68.08 | 66.84 | 64.82 | 72.21 | 70.67 | 65.76 | 55.38 | 69.48 | 63.22 | 69.73(+0.97) | 64.43(+1.09)
EA | 75.88 | 71.00 | 71.56 | 69.69 | 75.63 | 72.10 | 66.98 | 56.67 | 71.62 | 67.61 | 72.33(+3.57) | 67.41(+4.07)
SA | 74.41 | 68.56 | 69.47 | 68.84 | 72.09 | 69.60 | 68.98 | 58.51 | 70.71 | 67.00 | 71.13(+2.37) | 66.50(+3.16)
AE+EA | 75.89 | 70.90 | 72.34 | 70.18 | 76.58 | 73.23 | 68.28 | 57.60 | 72.81 | 68.34 | 73.18(+4.42) | 68.05(+4.71)
AE+SA | 74.38 | 70.16 | 70.30 | 69.13 | 75.65 | 72.99 | 67.23 | 55.25 | 71.74 | 68.44 | 71.86(+3.10) | 67.19(+3.85)
SleepDG | 77.44 | 71.29 | 73.85 | 71.16 | 78.69 | 74.44 | 70.45 | 60.89 | 74.74 | 70.43 | 75.03(+6.27) | 69.64(+6.30)
Table 4: Performance comparison with ablated methods. I is SleepEDFx, II is
ISRUC, III is SHHS, IV is HMS, V is P2018.

Firstly, we compared with several non-DG methods for automatic sleep staging:
DeepSleepNet (Supratak et al. 2017) is a classical CNN-BiLSTM network for
extracting local features and learning transition rules. U-Time (Perslev et
al. 2019) is a fully-CNN encoder-decoder architecture for time series
segmentation applied to sleep staging. AttnSleep (Eldele et al. 2021) is
composed of a multi-resolution CNN and a multi-head self-attention with causal
convolutions. ResnetMHA (Qu et al. 2020) uses a residual CNN to capture local
features and a self-attention to model global temporal context. TinySleepNet
(Supratak and Guo 2020) is a classical model based on CNN and RNN, with a
smaller number of model parameters. EnhancingCE (Phyo et al. 2022) captures
both of local salient and global contextual features via two auxiliary tasks.
SalientSleepNet (Jia et al. 2021) proposes a fully CNN based on the U2-Net to
detect multimodal salient waves.

We implemented these methods based on their public code and our DG settings.
Tab. 2 shows the performance comparison with the methods. SleepDG achieves the
state-of-the-art performance in all the datasets (75.03% in average ACC and
69.64% in average MF1), proving that SleepDG can better solve the
generalization problem of unseen domain compared with traditional sleep
staging methods even if subject population and signal channels of source
domains are different from those of the unseen domain. The DeepSleepNet
performs the worst, about 7.6% lower in average ACC and 7.7% lower in average
MF1 than SleepDG, indicating that classical model is difficult to deal with DG
scenarios. TinySleepNet performs a little better than DeepSleepNet (68.49%
v.s. 67.48% in average ACC and 62.60% v.s. 61.93% in average MF1). It
indicates that a smaller number of model parameters may alleviate overfitting
issue in DG scenarios. U-Time, AttnSleep, ResnetMHA and EnhancingCE cannot
obtain a significant improvement in performance compared with the classical
method DeepSleepNet, indicating that it is difficult to achieve a significant
performance improvement in DG scenarios by only modifying the network
structures. SalientSleepNet achieves a significant performance improvement on
specific dataset (Jia et al. 2021), but it only performs about 1.5% higher in
average ACC and 1.6% higher in average MF1 compared with DeepSleepNet,
indicating that a complex neural network design cannot solve the problem of
domain shift well. Compared with these traditional non-DG methods, SleepDG can
learn domain-invariant features through domain alignment, and further improve
generalization ability to unseen domains.

#### Compared with DG Methods for Sleep Staging

We compared SleepDG with BASE and other classical DG methods in sleep staging:
BASE can be regarded as SleepDG which minimizes
$\mathcal{L}_{\mathrm{classify}}$ but without any reconstruction and DG loss.
MMD (Maximum Mean Discrepancy) (Tzeng et al. 2014; Li et al. 2018a) is a DG
method matching the MMD of feature distributions. CORAL (Sun and Saenko 2016)
matches the covariance of feature distributions. IRM (Invariant Risk
Minimization) (Arjovsky et al. 2019) enforces the optimal classifier to be the
same across all domains. DANN (Domain-Adversarial Neural Networks) (Ganin and
Lempitsky 2015) employs an adversarial network to match feature distributions.

We implemented these DG methods based on BASE and DeepDG toolkit (Wang et al.
2023a), and the performance comparison is shown in Tab. 3. SleepDG achieves
the best performance compared with other DG methods. BASE performs the worst
(68.76% in average ACC and 63.34% in average MF1), indicating that a model
without DG loss cannot minimize the domain shift among different domains. MMD
performs better compared with BASE, about 3.0% higher in average ACC and 2.7%
higher in average MF1, suggesting minimizing maximum mean discrepancy can
extract domain-invariant features to a degree. CORAL performs the best in
existing DG methods (72.27% in average ACC and 67.52% in average MF1), which
indicates that feature alignment based on second-order statistics (covariance)
can achieve good cross-domain generalization. IRM performs better than MMD but
worse than CORAL (72.09% in average ACC and 66.95% in average), indicating
that invariant risk minimization has no obvious advantage over feature
alignment methods. The domain-adversarial model of DANN achieves the least
improvement compared with BASE (71.12% v.s. 68.76% in average ACC). It matches
the finding in Wang et al. (2023a): although domain adversarial training often
achieves better performance in DA, it is difficult to make a significant
improvement in DG. Compared with these classical DG methods, SleepDG can learn
domain-invariant features better by combining Epoch-level Feature Alignment
and Sequence-level Feature Alignment.

#### Ablation Study

To investigate the effectiveness of signal reconstruction and feature
alignment in SleepDG, we conducted an ablation study. Here, we also take BASE
as our baseline model. The ablated methods are AE (Base + Autoencoder), EA
(Base + Epoch-level Feature Alignment), SA (Base + Sequence-level Feature
Alignment), AE+EA (Base + Autoencoder + Epoch-level Feature Alignment) and
AE+SA (Base + Autoencoder + Sequence-level Feature Alignment). The results are
shown in Tab. 4. AE performs a little better than BASE about 0.97% higher in
average ACC and 1.09% higher in average MF1, indicating that AE-based
representation learning can learn generalizable features to a certain extent.
EA contributes greatly to the sleep staging, obtaining a great performance
improvement compared with BASE, 3.57% and 4.07% higher in average ACC and
average MF1, respectively. AE+EA also performs well, obtaining 4.42% and 4.71%
higher in average ACC and average MF1 than Base. It indicates the Epoch-level
Feature Alignment can extract domain-invariant epoch features well. Meanwhile,
compared with Base, SA performs about 2.37% higher in average ACC and 3.16%
higher in average MF1, and AE+SA performs about 3.10% and 3.85% higher,
indicating that Sequence-level Feature Alignment can align context features.
SleepDG can further improve the ability to learning domain-invariant features
in both epoch and sequence level, improving the performance of 6.27% in
average ACC and 6.30% in average MF1 compared with BASE. Notably, SleepDG
achieves the best performance across all the unseen domain settings,
indicating that SleepDG has a relatively stable generalization performance.

#### Feature Visualization

We conducted a feature visualization to further show the effectiveness of
SleepDG as Fig. 2 shows. Fig. 2(a)(b) show epoch features visualization of
different domains from BASE and SleepDG. The different colors represent
different sleep stages. Here, we visualize the features by t-SNE (Van der
Maaten and Hinton 2008). Compared with the feature representations in Fig.
2(a), in Fig. 2(b) the feature representations in the same sleep stage
obviously form a cluster and the ones in different sleep stages nicely
separate with each other after we adopt our alignment methods, even though
these features are totally from different domains. It intuitively indicates
that our SleepDG can learn domain-invariant feature representations which are
independent on the specific domains. Meanwhile, it further proves that the
feature representations obtained by SleepDG are more distinguishable for
automatic sleep staging. Fig. 2(c)(d) show sequence feature visualization of
BASE and SleepDG. We use PCA to reduce the dimension of every
$h^{S_{i}}_{j,k}$ in sequence features $\mathrm{\mathbf{h}}^{S_{i}}_{j}$ to
one dimension and draw a linear regression line plot for each domain.
Obviously, the sequence features from SleepDG form a closer cluster compared
with those from BASE, which intuitively indicates that our Sequence-level
Feature Alignment is effective to align the inter-epoch relationship.

Figure 2: Feature visualization of BASE and SleepDG.

## Conclusion

We propose a novel task of generalizable sleep staging to solve the severe
generalization problem of automatic sleep staging in clinic. In order to
improve the generalization ability of sleep staging methods, we propose a
novel DG-based framework. Considering both of the local salient features
within each sleep epoch and sequential features among different epochs, we
develop a Multi-level Feature Alignment method which focuses on both epoch-
level and sequence-level feature alignment. Specifically, we design an Epoch-
level Feature Alignment method aligning both mean and covariance of single-
epoch feature distribution among different domains to learn epoch-level
domain-invariant features. We also design a Sequence-level Feature Alignment
method to extract sequence-level domain-invariant features, by minimizing the
discrepancy of Pearson correlation coefficients of sleep sequence among
different domains. Our method is validated on five public sleep datasets with
DG settings, achieving the state-of-the-art performance.

## Acknowledgments

This work was supported by STI 2030 Major Projects (2021ZD0200400), Natural
Science Foundation of China (No. 61925603) and the Key Program of the Natural
Science Foundation of Zhejiang Province, China (No. LZ24F020004). The
corresponding authors are Dr. Sha Zhao and Dr. Gang Pan.

## References

  * Alvarez-Estevez and Rijsman (2021) Alvarez-Estevez, D.; and Rijsman, R. M. 2021.  Inter-database validation of a deep learning approach for automatic sleep scoring.  _PloS one_ , 16(8): e0256111.
  * Anido-Alonso and Alvarez-Estevez (2022) Anido-Alonso, A.; and Alvarez-Estevez, D. 2022.  Analysis of ensemble-combination strategies for improving inter-database generalization of deep-learning-based automatic sleep staging.  In _2022 IEEE-EMBS International Conference on Biomedical and Health Informatics (BHI)_ , 01–06. IEEE.
  * Arjovsky et al. (2019) Arjovsky, M.; Bottou, L.; Gulrajani, I.; and Lopez-Paz, D. 2019.  Invariant Risk Minimization.  _ArXiv_ , abs/1907.02893.
  * Blanchard, Lee, and Scott (2011) Blanchard, G.; Lee, G.; and Scott, C. 2011.  Generalizing from several related classification tasks to a new unlabeled sample.  In _Proceedings of the 24th International Conference on Neural Information Processing Systems_ , 2178–2186.
  * Dou et al. (2019) Dou, Q.; Coelho de Castro, D.; Kamnitsas, K.; and Glocker, B. 2019.  Domain generalization via model-agnostic learning of semantic features.  _Advances in Neural Information Processing Systems_ , 32.
  * Eldele et al. (2021) Eldele, E.; Chen, Z.; Liu, C.; Wu, M.; Kwoh, C.; Li, X.; and Guan, C. 2021.  An Attention-Based Deep Learning Approach for Sleep Stage Classification With Single-Channel EEG.  _IEEE Transactions on Neural Systems and Rehabilitation Engineering_ , 29: 809–818.
  * Fan et al. (2022) Fan, J.; Zhu, H.; Jiang, X.; Meng, L.; Chen, C.; Fu, C.; Yu, H.; Dai, C.; and Chen, W. 2022.  Unsupervised domain adaptation by statistics alignment for deep sleep staging networks.  _IEEE Transactions on Neural Systems and Rehabilitation Engineering_ , 30: 205–216.
  * Ganin and Lempitsky (2015) Ganin, Y.; and Lempitsky, V. 2015.  Unsupervised domain adaptation by backpropagation.  In _International conference on machine learning_ , 1180–1189.
  * Ghassemi et al. (2018) Ghassemi, M. M.; Moody, B. E.; Lehman, L.-W. H.; Song, C.; Li, Q.; Sun, H.; Mark, R. G.; Westover, M. B.; and Clifford, G. D. 2018.  You snooze, you win: the physionet/computing in cardiology challenge 2018\.  In _2018 Computing in Cardiology Conference (CinC)_ , volume 45, 1–4. IEEE.
  * Goldberger et al. (2000) Goldberger, A. L.; Amaral, L. A. N.; Glass, L.; Hausdorff, J. M.; Ivanov, P. C.; Mark, R. G.; Mietus, J. E.; Moody, G. B.; Peng, C.-K.; and Stanley, H. E. 2000.  PhysioBank, PhysioToolkit, and PhysioNet: components of a new research resource for complex physiologic signals.  _Circulation_ , 101 23: E215–20.
  * Gulrajani and Lopez-Paz (2021) Gulrajani, I.; and Lopez-Paz, D. 2021.  In Search of Lost Domain Generalization.  In _International Conference on Learning Representations_.
  * He et al. (2018) He, F.; Wu, M.; Meng, F.; Hu, Y.; Gao, J.; Chen, Z.; Bao, W.; Liu, K.; Luo, B.; and Pan, G. 2018.  Effects of 20 Hz repetitive transcranial magnetic stimulation on disorders of consciousness: a resting-state electroencephalography study.  _Neural Plasticity_ , 2018.
  * Iber et al. (2007) Iber, C.; Ancoli-Israel, S.; Chesson, A. L.; and Quan, S. F. 2007.  _The American Academy of Sleep Medicine (AASM) Manual for the Scoring of Sleep and Associated Events: Rules, Terminology and Technical Specifications_ , volume 1.  American academy of sleep medicine Westchester, IL.
  * Jia et al. (2021) Jia, Z.; Lin, Y.; Wang, J.; Wang, X.; Xie, P.; and Zhang, Y. 2021.  SalientSleepNet: Multimodal Salient Wave Detection Network for Sleep Staging.  In _Proceedings of the Thirtieth International Joint Conference on Artificial Intelligence, IJCAI-21_ , 2614–2620.
  * Kemp et al. (2000) Kemp, B.; Zwinderman, A. H.; Tuk, B.; Kamphuisen, H. A. C.; and Oberye, J. J. L. 2000.  Analysis of a sleep-dependent neuronal feedback loop: the slow-wave microcontinuity of the EEG.  _IEEE Transactions on Biomedical Engineering_ , 47: 1185–1194.
  * Khalighi et al. (2016) Khalighi, S.; Sousa, T.; Santos, J. M.; and Nunes, U. 2016.  ISRUC-Sleep: A comprehensive public dataset for sleep researchers.  _Computer methods and programs in biomedicine_ , 124: 180–192.
  * Koh et al. (2021) Koh, P. W.; Sagawa, S.; Marklund, H.; Xie, S. M.; Zhang, M.; Balsubramani, A.; Hu, W.; Yasunaga, M.; Phillips, R. L.; Gao, I.; et al. 2021.  Wilds: A benchmark of in-the-wild distribution shifts.  In _International Conference on Machine Learning_ , 5637–5664. PMLR.
  * Li et al. (2018a) Li, H.; Pan, S. J.; Wang, S.; and Kot, A. C. 2018a.  Domain generalization with adversarial feature learning.  In _Proceedings of the IEEE conference on computer vision and pattern recognition_ , 5400–5409.
  * Li et al. (2018b) Li, Y.; Gong, M.; Tian, X.; Liu, T.; and Tao, D. 2018b.  Domain generalization via conditional invariant representations.  In _Proceedings of the AAAI conference on artificial intelligence_ , volume 32, 3579–3587.
  * Matsuura and Harada (2020) Matsuura, T.; and Harada, T. 2020.  Domain generalization using a mixture of multiple latent domains.  In _Proceedings of the AAAI Conference on Artificial Intelligence_ , volume 34, 11749–11756.
  * Melek, Manshouri, and Kayikcioglu (2021) Melek, M.; Manshouri, N.; and Kayikcioglu, T. 2021.  An automatic EEG-based sleep staging system with introducing NAoSP and NAoGP as new metrics for sleep staging systems.  _Cognitive Neurodynamics_ , 15: 405–423.
  * Muandet, Balduzzi, and Schölkopf (2013) Muandet, K.; Balduzzi, D.; and Schölkopf, B. 2013.  Domain generalization via invariant feature representation.  In _International Conference on Machine Learning_ , 10–18.
  * Pan et al. (2018) Pan, G.; Li, J.-J.; Qi, Y.; Yu, H.; Zhu, J.-M.; Zheng, X.-X.; Wang, Y.-M.; and Zhang, S.-M. 2018.  Rapid decoding of hand gestures in electrocorticography using recurrent neural networks.  _Frontiers in neuroscience_ , 12: 555.
  * Perslev et al. (2019) Perslev, M.; Jensen, M. H.; Darkner, S.; Jennum, P. J.; and Igel, C. 2019.  U-Time: a fully convolutional network for time series segmentation applied to sleep staging.  In _Proceedings of the 33rd International Conference on Neural Information Processing Systems_ , 4415–4426.
  * Phan et al. (2019) Phan, H.; Andreotti, F.; Cooray, N.; Chén, O. Y.; and de Vos, M. 2019.  SeqSleepNet: End-to-End Hierarchical Recurrent Neural Network for Sequence-to-Sequence Automatic Sleep Staging.  _IEEE Transactions on Neural Systems and Rehabilitation Engineering_ , 27: 400–410.
  * Phan et al. (2021) Phan, H.; Chén, O. Y.; Tran, M. C.; Koch, P.; Mertins, A.; and De Vos, M. 2021\.  XSleepNet: Multi-view sequential model for automatic sleep staging.  _IEEE Transactions on Pattern Analysis and Machine Intelligence_ , 44(9): 5903–5915.
  * Phan and Mikkelsen (2022) Phan, H.; and Mikkelsen, K. 2022.  Automatic sleep staging of EEG signals: recent development, challenges, and future directions.  _Physiological Measurement_ , 43(4): 04TR01.
  * Phan et al. (2022) Phan, H.; Mikkelsen, K.; Chén, O. Y.; Koch, P.; Mertins, A.; and De Vos, M. 2022\.  Sleeptransformer: Automatic sleep staging with interpretability and uncertainty quantification.  _IEEE Transactions on Biomedical Engineering_ , 69(8): 2456–2467.
  * Phyo et al. (2022) Phyo, J.; Ko, W.; Jeon, E.; and Suk, H.-I. 2022.  Enhancing Contextual Encoding With Stage-Confusion and Stage-Transition Estimation for EEG-Based Sleep Staging.  In _IEEE International Conference on Acoustics, Speech and Signal Processing (ICASSP)_ , 1301–1305. IEEE.
  * Qu et al. (2020) Qu, W.; Wang, Z.; Hong, H.; Chi, Z.; Feng, D. D.; Grunstein, R. R.; and Gordon, C. 2020.  A Residual Based Attention Model for EEG Based Sleep Staging.  _IEEE Journal of Biomedical and Health Informatics_ , 24: 2833–2843.
  * Quan et al. (1997) Quan, S. F.; Howard, B. V.; Iber, C.; Kiley, J. P.; Nieto, F. J.; O’Connor, G. T.; Rapoport, D. M.; Redline, S.; Robbins, J.; Samet, J. M.; et al. 1997.  The sleep heart health study: design, rationale, and methods.  _Sleep_ , 20(12): 1077–1085.
  * Robey, Pappas, and Hassani (2021) Robey, A.; Pappas, G. J.; and Hassani, H. 2021.  Model-based domain generalization.  _Advances in Neural Information Processing Systems_ , 34: 20210–20229.
  * Sun, Feng, and Saenko (2016) Sun, B.; Feng, J.; and Saenko, K. 2016.  Return of frustratingly easy domain adaptation.  In _Proceedings of the AAAI Conference on Artificial Intelligence_ , volume 30.
  * Sun and Saenko (2016) Sun, B.; and Saenko, K. 2016.  Deep coral: Correlation alignment for deep domain adaptation.  In _European conference on computer vision_ , 443–450. Springer.
  * Sun et al. (2016) Sun, X.; Qian, C.; Chen, Z.; Wu, Z.; Luo, B.; and Pan, G. 2016.  Remembered or forgotten?—An EEG-based computational prediction approach.  _PloS one_ , 11(12): e0167497.
  * Supratak et al. (2017) Supratak, A.; Dong, H.; Wu, C.; and Guo, Y. 2017.  DeepSleepNet: A Model for Automatic Sleep Stage Scoring Based on Raw Single-Channel EEG.  _IEEE Transactions on Neural Systems and Rehabilitation Engineering_ , 25: 1998–2008.
  * Supratak and Guo (2020) Supratak, A.; and Guo, Y. 2020.  TinySleepNet: An Efficient Deep Learning Model for Sleep Stage Scoring based on Raw Single-Channel EEG.  _2020 42nd Annual International Conference of the IEEE Engineering in Medicine & Biology Society (EMBC)_, 641–644.
  * Tzeng et al. (2014) Tzeng, E.; Hoffman, J.; Zhang, N.; Saenko, K.; and Darrell, T. 2014.  Deep domain confusion: Maximizing for domain invariance.  _arXiv preprint arXiv:1412.3474_.
  * Van der Maaten and Hinton (2008) Van der Maaten, L.; and Hinton, G. 2008.  Visualizing data using t-SNE.  _Journal of machine learning research_ , 9(11).
  * Wang et al. (2022) Wang, H.; Guo, H.; Zhang, K.; Gao, L.; and Zheng, J. 2022.  Automatic sleep staging method of EEG signal based on transfer learning and fusion network.  _Neurocomputing_ , 488: 183–193.
  * Wang et al. (2020) Wang, J.; Chen, Y.; Feng, W.; Yu, H.; Huang, M.; and Yang, Q. 2020.  Transfer learning with dynamic distribution adaptation.  _ACM Transactions on Intelligent Systems and Technology (TIST)_ , 11(1): 1–25.
  * Wang et al. (2018) Wang, J.; Feng, W.; Chen, Y.; Yu, H.; Huang, M.; and Yu, P. S. 2018.  Visual domain adaptation with manifold embedded distribution alignment.  In _Proceedings of the 26th ACM international conference on Multimedia_ , 402–410.
  * Wang et al. (2023a) Wang, J.; Lan, C.; Liu, C.; Ouyang, Y.; Qin, T.; Lu, W.; Chen, Y.; Zeng, W.; and Yu, P. S. 2023a.  Generalizing to Unseen Domains: A Survey on Domain Generalization.  _IEEE Transactions on Knowledge and Data Engineering_ , 35(8): 8052–8072.
  * Wang et al. (2023b) Wang, J.; Zhao, S.; Zhou, Y.; Jiang, H.; Yu, Z.; Li, T.; Li, S.; and Pan, G. 2023b.  Narcolepsy Diagnosis With Sleep Stage Features Using PSG Recordings.  _IEEE Transactions on Neural Systems and Rehabilitation Engineering_ , 31: 3619–3629.
  * Wang and Deng (2018) Wang, M.; and Deng, W. 2018.  Deep visual domain adaptation: A survey.  _Neurocomputing_ , 312: 135–153.
  * Wang et al. (2023c) Wang, W.-C.; Ahn, E.; wei Feng, D.; and Kim, J. 2023c.  A Review of Predictive and Contrastive Self-supervised Learning for Medical Images.  _Machine Intelligence Research_ , 20: 483 – 513.
  * Wolpert (1969) Wolpert, E. A. 1969.  A Manual of Standardized Terminology, Techniques and Scoring System for Sleep Stages of Human Subjects.  _Archives of General Psychiatry_ , 20: 246–247.
  * Yi et al. (2021) Yi, P.; Jin, L.; Xu, T.; Wei, L.; and Rui, G. 2021.  Hippocampal segmentation in brain mri images using machine learning methods: A survey.  _Chinese Journal of Electronics_ , 30(5): 793–814.
  * Yoo, Lee, and Kang (2021) Yoo, C.; Lee, H. W.; and Kang, J.-W. 2021.  Transferring structured knowledge in unsupervised domain adaptation of a sleep staging network.  _IEEE journal of biomedical and health informatics_ , 26(3): 1273–1284.
  * Zhang et al. (2018) Zhang, G.-Q.; Cui, L.; Mueller, R.; Tao, S.; Kim, M.; Rueschman, M.; Mariani, S.; Mobley, D.; and Redline, S. 2018.  The National Sleep Research Resource: towards a sleep data commons.  _Journal of the American Medical Informatics Association_ , 25(10): 1351–1358.
  * Zhao, Yan, and Lu (2021) Zhao, L.-M.; Yan, X.; and Lu, B.-L. 2021.  Plug-and-play domain adaptation for cross-subject EEG-based emotion recognition.  In _Proceedings of the AAAI Conference on Artificial Intelligence_ , volume 35, 863–870.
  * Zhou et al. (2020) Zhou, F.; Jiang, Z.; Shui, C.; Wang, B.; and Chaib-draa, B. 2020.  Domain generalization with optimal transport and metric learning.  _arXiv preprint arXiv:2007.10573_.
  * Zhou et al. (2023) Zhou, K.; Liu, Z.; Qiao, Y.; Xiang, T.; and Loy, C. C. 2023.  Domain Generalization: A Survey.  _IEEE Transactions on Pattern Analysis and Machine Intelligence_ , 45(4): 4396–4415.