本篇学习报告主要学习总结了五种基于深度学习的自动睡眠分期方法。睡眠分期作为典型的生理时序分类任务,对人体健康状况和精神状态的分析起着至关重要的作用。过往的人工睡眠分期工作在时间和资源上花销较大,且分期结果容易受人工判断的主观性影响。近年来,基于深度学习的自动睡眠分期方法不断发展,不少研究团队纷纷提出了他们的相关网络模型,其中部分模型有着较高的效率和准确率。本文主要介绍了GraphSleepNet、SalientSleepNet、SeqSleepNet、DeepSleepNet以及TinySleepNet五种自动睡眠分期网络模型。
时间序列:是按照时间排序的一组随机变量,通常是在相等时间间隔段内依照给定的采样率对某种潜在的过程进行观测的结果。时间序列的分析与挖掘被认为是数据挖掘中最具挑战性的问题之一。时间序列可以细分为很多类,如生理时间序列就是其中一个分类,其典型例子有心电ECG和脑电EEG。脑电EEG与我们团队很多研究工作是息息相关的。
图1:两种常见的生理时间序列ECG和EEG
五种睡眠阶段:采用美国睡眠医学学会(AASM)标准,睡眠可分为五个时期,分别是Wake(W清醒期)、Non-REM1(N1)、Non-REM2(N2)、Non-REM3(N3)、REM(眼球快速运动睡眠)。其中N1、N2处于浅睡期,N3处于深睡期。
时间序列分类任务是数据挖掘领域重要的研究方向,针对于生理时间序列的分析与挖掘有助于进行疾病的诊断和预测,促进了智慧医疗的发展。睡眠阶段分类作为典型的生理时序分类任务,对人体健康状况和精神状态的分析起着至关重要的作用。
睡眠分期方法可分为人工睡眠分期与基于机器学习的自动睡眠分期。
人工睡眠分期是指具备相关素质的人员通过遵循睡眠分期准则对睡眠阶段进行判断分类。虽然有标准和规则提供决策支持,但是由睡眠专家人工进行睡眠分期仍然是一项繁琐且耗时的任务,分期结果也容易受到睡眠专家主观意识的影响。
基于机器学习(尤其是深度学习方法)的自动睡眠分期可以较好地提升睡眠分期的效率。自动睡眠分期又可分为传统机器学习方法和新型机器学习方法。前者依赖手工设计的特征和大量先验知识,典型方法有:SVM、RF等;后者进一步应用人工智能技术和深度学习模型来优化自动睡眠分期工作,如通过卷积神经网络CNN提取时域不变特征、通过循环神经网络RNN技术提取睡眠阶段之间的睡眠过度规则等。其典型方法有:XSleepNet和DeepSleepNet等。
(GraphSleepNet: 自适应时空图卷积神经网络)
源码参考:https://github.com/ziyujia/GraphSleepNet
GraphSleepNet是一种新的用于自动睡眠分期的深度图神经。该模型的主要优点是自适应地学习最适合ST-GCN的睡眠连接结构,以及该模型结合时空卷积和时空注意机制,同时捕获睡眠数据的注意时空特征。该方法为实现睡眠自动分期提供了一种新的思路。此外,该模型是一个多变量时间序列的通用框架,未来可以应用于时间序列分类、预测等相关领域中。GraphSleepNet的总体框架图如图2所示,由自适应图学习模块(图2上方)和具有时空注意的时空图卷积(图2下方)两部分组成。
图2:GraphSleepNet总体框架图
模型的三大关键点如下:
(1)该模型能够表示节点之间的功能连接关系并动态构造邻接矩阵(脑连接网络)。
(2)该模型利用空间图卷积和时间卷积提取睡眠脑电信号的空间特征和时间特征。
(3)该模型采用时空注意机制自动捕获更有价值的时空信息进行高精度分类。
该模型的睡眠阶段网络被定义为无向图G=(V,E,A),其中V表示节点集合,每个节点都对应一个通道(电极),|V|=N表示睡眠阶段网络中节点的个数;E是边的集合,表示节点之间的连接关系;A表示睡眠阶段网络G的邻接矩阵。如图3所示,Gt是由一个30s的脑电信号序列S.构建的,模型中使用的邻接矩阵A是通过学习得到的,而不是传统的GCNs通常使用的固定的邻接矩阵。
图3:GraphSleepNet:睡眠阶段网络及其对应无向图
模型的自适应睡眠图学习模块可以动态的学习图的结构,而不需要通过先验知识或者人为地构造图。
图4:自适应图学习模块动态地学习图的结构
模型的时空图卷积结合了空间图卷积和时间卷积,用于提取时空特征。如图2所示,空间图卷积通过聚合每个睡眠阶段网络中的邻接节点的信息来捕获空间特征。时间卷积提取相邻睡眠阶段间的时间依赖来捕捉睡眠转化规则,进而提升模型分类效果。
在与8种Baseline方法的比较中,GraphSleepNet在Montreal Archive of Sleep Studies(MASS)-SS3数据集上的性能表现最佳,准确率最高,如图5所示。方法提出者认为这是因为虽然CNN和RNN的精度很高,但是其局限性在于传统模型的输入必须是网格数据,这忽略了大脑不同区域之间的联系。由于大脑区域处于非欧几里得空间,所以图是描述这种联系的最好数据结构.而GraphSleepNet模型是基于自适应睡眠图结构提取空间和时间特征的,从而在性能上会有更好的表现。
图5:GraphSleepNet与其他方法在MASS数据集上的性能对比
2. SalientSleepNet: Multimodal Salient Wave Detection Network for Sleep Staging
(SalientSleepNet: 面向睡眠阶段分类的多模态显著性波形检测网络)
源码参考:https://github.com/ziyujia/SalientSleepNet
SalientSleepNet是一种多模态显著性波形检测模型,将时间序列分类问题转化为显著性检测问题并应用于睡眠阶段分类。该模型有两个特点:首先,其不依赖于时频特征提取,可以直接从原始信号中探测显著波形服务于高精度的睡眠时间序列分类。此外,该模型融合了多模态睡眠数据且捕获了多尺度的睡眠规则,与现有的传统模型相比较,该模型实现简单,参数量小且可解释性强。
SalientSleepNet的总体结构如图6所示:
图6:SalientSleepNet总体结构图
该网络的五个关键点如下:
(1)双流U2结构来捕捉EEG和EOG模态中的显著性波形。
(2)多尺度特征提取模块,利用拥有不同尺度感受野的空洞卷积显式学习多尺度睡眠过渡规则。
(3)多模态注意力模块,融合EEG和EOG流的输出,增强对识别特定的睡眠阶段有更大贡献的模态特征。
(4)将传统计算机视觉中的像素级(点级)分类器改进成用于睡眠信号的段级分类器。
(5)采用瓶颈层来降低计算成本,使整个模型轻量化。
不同的模态对区分睡眠阶段有不同的贡献。图7(b)表明REM和N1阶段的脑电波相似。然而,两个阶段的EOG波有很大的不同。可知EOG信号对REM和N1期的分类贡献大于EEG信号。相反,N2和N3阶段的分类主要是根据EEG信号中的显著性波形。因此,在识别不同的睡眠阶段时,所需的模态是不同的,采用多模态作为睡眠分期的依据有利于提高分辨的准确性。
SalientSleepNet模型的提出是基于以下两个问题的:
第一,现有大多数模型无法直接捕获原始信号中的显著性波形。根据AASM睡眠标准,不同的睡眠阶段的生理信号通常有不同的显著性波形。从图7(a)中可知,N2期的显著性波形有睡眠纺锤波和K复合波;N3期的显著性波形是δ波。现有工作大多通过间接的提取特征来捕获显著性波形,但手动提取的特征不仅需要先验知识,而且还可能导致部分信息丢失。
图7:不同睡眠时期的显著性波形
第二,多尺度的睡眠过渡规则未被很好的利用。在睡眠过程中,人的大脑在不同的睡眠阶段之间经历着一系列的变化。这些变化的模式被概括为睡眠标准中的过渡规则。图8展示了AASM睡眠标准中的睡眠过渡规则具有的多尺度特性。然而大多数现有的工作忽略了对睡眠过渡规则的多尺度特征的显式捕捉。
而SalientSleepNet的两个特点则可以较好的解决上述两个问题。
图8:不同量表的AASM睡眠过渡规律标准
SalientSleepNet在Sleep-EDF-39和Sleep-EDF-153两个数据集上所展现的性能也是优于7种Baseline方法的,如图9所示:
图9:SalientSleepNet在Sleep-EDF-39和Sleep-EDF-153数据集上与其他方法的性能比较
(SeqSleepNet: 用于序列到序列自动睡眠分期的端到端分层循环神经网络)
源码参考:https://github.com/pquochuy/SeqSleepNet
SeqSleepNet是一种分层循环神经网络。该网络由对图像输入进行预处理的并行滤波器组层、对各时代序列信息进行编码的基于时代注意的双向RNN层和对inter-epoch序列信息进行建模的序列级双向RNN层组成。SeqSleepNet通过动态折叠和展开不同层次的输入序列,对网络进行端到端训练。
如果根据输入epoch的数量以及输出标签的数量来对自动分期睡眠方案进行划分的话,可以将它们分为一对一、一对多、多对一方案 ,如图10所示。一对一方案虽然简单明了,但是它没有考虑到PSG epoch之间的依赖关系。多对一方案通则过将目标epoch与其周围epoch相结合来进行上下文输入,从而增强了目标epoch的分类,但会受到建模歧义和高计算开销的影响。SeqSleepNet使用图10(d)所示的多对多方法统一所有上述分类方案。其目标是一次将多个epoch的输入序列映射到所有目标标签的序列,将自动睡眠阶段任务定义为一个序列对序列的分类问题。利用这种方案,SeqSleepNet可以克服其他方案的缺点(即简短的上下文、建模的模糊性和计算开销),同时在决策集成可用性方面保持一对多的优势。
图10:自动睡眠分期的分类方案的说明。(a)一对一,(b)多对一,(c)一对多,(d)拟议的多对多。
图11:SeqSleepNet中提出的端到端分层RNN序列到序列睡眠分期示例
源码参考:https://github.com/akaraspt/deepsleepnet
DeepSleepNet 模型是基于原始单通道 EEG 的自动睡眠阶段评分模型,完全不依赖与手工程。模型的总体架构图如下:
图12:DeepSleepNet模型总体架构图
该模型包含两部分。第一部分是表征学习(representation),这部分被用来训练滤波,从每个时期的原始单通道 EEG 信号中提取时不变信息(time-invariant features);第二部分是序列残差学习(sequence residual learning),这部分被用来训练编码时态信息(temporal information),例如来自提取的特征中的 EEG 时期的一个序列的睡眠阶段转换规则。
模型的第一部分使用了两个 CNN 结构,其中小的 CNN 结构对于捕捉时态信息(例如,当某些脑电图模式出现时)更有用,大的 CNN 结构更有利于捕捉频域信息(如,频域成分)。模型的第二部分也包含 2 个组成:一个双向的 LSTM 结构和一个快捷连接结构。使用双向 LSTM 结构,是因为其能够从数据中学习到睡眠分阶准则。双向 LSTM 通过使两个 LSTM 独立处理前向和后向输入序列来扩展 LSTM。使用快捷方式连接将该部分的计算重新表示为残差函数,使得模型能够添加从 CNN 提取的特征,即先前从输入序列中学习到的时态信息。
(TinySleepNet:基于原始单通道脑电的睡眠阶段高效深度学习评分模型)
源码参考: https://github.com/akaraspt/tinysleepnet
TinySleepNet是一种高效的深度学习模型,是对DeepSleepNet模型的改进产物。该模型可以高效地处理一系列单通道脑电信号,并在多对多方案中产生一系列相同长度的睡眠阶段。模型采用是单模态的方法,即仅使用EEG信号实现自动睡眠分期,同时包含一种基于原始单通道脑电端到端有效训练模型进行自动睡眠分期的新技术。其总体架构图如下:
图13:TinySleepNet总体架构图
该网络的表征学习部分可以自动对脑电EEG提取特征,其模型结构的设计参照了经典的VGGNet模型,通过4个堆叠的卷积层提取睡眠EEG的特征。其中,4个卷积层都使用了较大的卷积核(128), 即保留了DeepSleepNet的一个分支,这样的组合可以构建大的滤波器,但是使用更少的参数。同时,为了防止过拟合,模型还采用了dropout和L1正则化技术。
网络的第二部分是单向的循环神经网络RNNs,由单个LSTM层和一个丢弃层组成。这一部分用于学习输入信号的时间信息,因为考虑到睡眠专家会根据前面的阶段确定下一个可能的睡眠阶段的睡眠转换规则。与之前的工作DeepSleepNet模型不同,作者使用单向LSTMs,而不是双向LSTMs,以去除对脑电图进行反向处理的需求。这将序列学习所需的计算资源减少了大约一半,因为模型只需要向前考虑各个睡眠时期。相比现有深度睡眠分期模型,TinySleepNet有以下优势:
(1)TinySleepNet模型显著减少了对脑电图时期进行睡眠分期所需的模型参数和计算资源的数量;
(2) 开发了一种新的训练技术,该技术利用数据增强为不同的训练时期生成不同的训练集,以缓解过拟合问题,并帮助训练后的模型对不同数据集更加鲁棒;
(3) 该架构模型的的通用性更强。在相同的模型架构和训练参数下,模型可以在七个不同环境和不同标准的情况下采集的公共睡眠数据集中,实现了与最先进方法相似甚至更好的性能。
[1] Jia Z, Lin Y, Wang J, et al. GraphSleepNet: Adaptive Spatial-Temporal Graph Convolutional Networks for Sleep Stage Classification. IJCAI. 2020: 1324- 1330.
[2] Jia Z, Lin Y, Wang J, et al. SalientSleepNet: Multimodal salient wave detection network for sleep staging. arXiv preprint arXiv:2105.13864, 2021.
[3] Phan H, Andreotti F, Cooray N, et al. SeqSleepNet: end-to-end hierarchical recurrent neural network for sequence-to-sequence automatic sleep staging. IEEE Transactions on Neural Systems and Rehabilitation Engineering, 2019, 27(3) : 400- 410.
[4] Supratak A, Dong H, Wu C, et al. DeepSleepNet: A model for automatic sleep stage scoring based on raw single-channel EEG. IEEE Transactions on Neural Systems and Rehabilitation Engineering, 2017, 25(11) : 1998- 2008.
[5] Supratak A, Guo Y. 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) . IEEE, 2020: 641- 644.
1.https://www.ijcai.org/proceedings/2020/184
2. https://arxiv.org/abs/2105.13864
3. https://ieeexplore.ieee.org/abstract/document/8631195
4. https://ieeexplore.ieee.org/document/7961240
5. https://www.sci-hub.ren/10.1109/EMBC44109.2020.9176741
撰稿:杨钲烺
审稿:潘家辉