计算机系统应用  2024, Vol. 33 Issue (9): 132-139   PDF    
基于多头自注意力的自动睡眠分期模型
魏婉欣, 朱嘉鹏, 郑景仁, 潘家辉     
华南师范大学 软件学院, 佛山 528225
摘要:睡眠分期在睡眠监测和睡眠质量评估中意义重大, 高精度的睡眠分期能够辅助医师在临床诊断上正确评估睡眠情况. 尽管现有的自动睡眠分期研究已经取得了相对可靠的准确率, 但是仍存在着需要解决的问题: (1)如何更加全面地提取患者的睡眠特征. (2)如何从捕捉到的睡眠特征中获得有效的睡眠状态转换规则. (3)如何有效利用多模态数据提升分类准确率. 为了解决上述问题, 本文提出了基于多头自注意力的自动睡眠分期网络. 为了提取EEG和EOG各自在睡眠阶段中的模态特点, 该网络采用双流并行卷积神经网络结构来分别处理EEG和EOG原数据. 此外, 模型使用由多头自注意力模块和残差网络构成的上下文学习模块来捕捉序列的多方面特征, 学习序列之间的关联性和重要性. 最后模型利用单向LSTM来学习睡眠阶段的过渡规则. 睡眠分期实验结果表明, 本文提出的模型在Sleep-EDF数据集上的总体准确率达到85.7%, MF1分数为80.6%, 且其准确率和鲁棒性优于现有的自动睡眠分期方法, 对自动睡眠分期研究有一定价值.
关键词: 自动睡眠分期    多模态    卷积    多头自注意力    上下文学习模块    
Automatic Sleep Staging Model Based on Multi-head Self-attention
WEI Wan-Xin, ZHU Jia-Peng, ZHENG Jing-Ren, PAN Jia-Hui     
School of Software, South China Normal University, Foshan 528225, China
Abstract: Sleep staging is highly important for sleep monitoring and sleep quality assessment. High-precision sleep staging can assist physicians in correctly evaluating sleep quality during clinical diagnosis. Although existing studies on automatic sleep staging have achieved relatively reliable accuracy, there are still problems that need to be solved: (1) How can sleep features be extracted from patients more comprehensively? (2) How can effective rules for sleep state transition be obtained from the captured sleep features? (3) How can multimodal data be effectively utilized to improve classification accuracy? To solve the above problems, this study proposes an automatic sleep staging network based on multi-head self-attention. To extract the modal characteristics of EEG and EOG in sleep stages separately, this network uses a parallel two-stream convolutional neural network structure to process the original EEG and EOG data separately. In addition, the model uses a contextual learning module, which consists of a multi-head self-attention module and a residual network, to capture the multifaceted features of the sequences and to learn the correlation and significance between the sequences. Finally, the model utilizes unidirectional LSTM to learn the transition rules for sleep stages. The results of the sleep staging experiments show that the model proposed in this study achieves an overall accuracy of 85.7% on the Sleep-EDF dataset, with an MF1 score of 80.6%. Moreover, its accuracy and robustness are better than those of the existing automatic sleep staging methods. This indicates that the proposed model is valuable for automatic sleep staging research.
Key words: automatic sleep staging     multimodal     convolution     multi-headed self-attention     context learning module    

1 研究背景

睡眠在人类的寿命中占据了1/3[1], 是人体健康和认知能力的一个重要方面[2]. 良好的睡眠对人的整体健康起到积极的作用[3], 在一定程度上能够维持和提高人体的生理机能活动, 然而在日常生活中, 睡眠障碍越来越普遍, 容易导致越来越多人患上一些心理和生理并发症, 更严重的是, 研究表明睡眠障碍甚至会影响人类寿命[4]. 因此, 睡眠的研究十分重要, 而睡眠分期是评估睡眠质量的一项基本的监测技术, 是睡眠医学研究的基础[5,6], 能够为一系列的睡眠疾病提供有效的辅助诊断依据. 通过睡眠分期, 医师能够从分期结果中熟悉患者的睡眠模式并分析患者的睡眠质量, 以此为依据诊断睡眠障碍问题. 然而传统的睡眠分期方法主要依靠专业的睡眠医学专家通过人工分析的方式进行睡眠分期, 整体分期过程耗时长、效率低, 容易受到主观因素影响导致错误判断, 不适用于大规模的应用. 显然, 这种传统方法已经无法满足现代医学对于高效、准确睡眠分期技术的需求. 为了提高睡眠分期的准确率和效率, 运用机器学习和深度学习等技术实现对患者睡眠生理信号的睡眠分期是一种有效的方式. 在机器学习中, 需要从生理信号的时间、频率以及一些非线性特征中提取睡眠信号的特征[7], 对提取的特征数量和质量要求较高, 并且为达到更好的自动分期效果, 选取的特征之间应该是互补的[8,9]. 然而, 在当前的睡眠分期领域, 并没有相关研究找到最理想的特征组合, 这成为机器学习在该领域进一步突破的关键障碍. 相比之下, 深度学习以其自动特征提取的能力展现出独特的优势. 深度学习模型能够自动识别并提取最佳的睡眠特征, 通过设计的网络结构和分类器输出各个睡眠阶段的分类结果. 尽管深度学习算法的可解释性较差和抽象程度较高, 并且仍然需要人们花费时间和精力对模型的超参、网络结构和算法进行调优, 但是各种高性能深度学习模型的出现也使其成为社会中解决复杂分类问题的最优和最有效的方法.

基于上述考虑, 本文选取CNN、多头自注意力与LSTM相结合, 利用双流卷积网络提取的特征向量作为多头自注意力所在的上下文学习模块的输入, 再通过LSTM, 训练得到一个能够提取多模态特征之间的相关性和依赖性以及不同睡眠阶段的局部时序信息的神经网络模型, 既利用多头自注意力提取了序列的全局信息, 也通过LSTM提取了序列的局部特征, 使序列特征提取的完整程度更高以提高模型分类的准确率.

2 研究现状

(1) 关于睡眠分期的研究

多导睡眠图(polysomnogram, PSG)是一种能够采集多种生理信号的睡眠监测设备, 包括脑电图、眼电图、肌电图等, 睡眠医学专家根据在1968年由Rechtschaffen等人提出并制定的指南(R&K)[10]或在2007年由美国睡眠医学会(AASM)对R&K标准进行改进的指南[11], 通常将PSG的数据以30 s为间隔分配睡眠阶段, 整个过程即睡眠分期. 在R&K标准中, 睡眠被划分为清醒期(W)、快速眼动期(REM)、非快速眼动期(NREM)这3个具有不同睡眠特征的阶段, NREM又进一步被划分为睡眠程度递增的N1、N2、N3、N4这4个阶段. 此后, AASM对R&K标准进行修改, 将NREM睡眠阶段的N3、N4合并, 定义为慢波睡眠, 并将存在身体运动的阶段评判为睡眠或清醒阶段. 根据目前AASM对睡眠分期的标准, 睡眠阶段主要划分为W、N1、N2、N3、REM这5个阶段.

(2) 关于深度学习神经网络的睡眠分期研究

在睡眠分期中, 神经网络在单通道脑电数据的睡眠分期研究中发展迅速, 通过网络自动提取脑电信号的睡眠特征不再需要特征工程阶段[12], 一定程度上减轻了人工设计的特征对算法或模型性能的影响, 但在自动特征提取中区分各种睡眠阶段的差异以及解决类不平衡问题是神经网络在睡眠分期领域中能够发挥作用的关键. 在采用单通道脑电信号的神经网络研究中长时间序列信息对睡眠分期的影响容易被忽略, Zhao等人在2022年设计了SleepContextNet网络[13], 通过通道空间注意力关注脑电信号的突出特征, 使用LSTM学习长序列的时间依赖性, 捕获了长短期时态上下文, 提高了模型的性能. 在许多数据集中存在N1期类不平衡的缺陷, 影响模型的泛化性以及实际应用. Lu等人选择了7个高度异构的数据集进行模型训练, 并提出了TinyUStaging睡眠分期模型[14], 在数据集上有良好的泛化性, 但由于每个睡眠阶段类别存在异常值, 导致整体的平均分类准确率下降. 为更好解决N1类不平衡问题, Supratak等人在TinySleep[15]中提出了采用交叉熵损失解决问题, 将数据量较少的N1类别设置较高的权重, 提高了N1期的分类准确率. 针对上述研究, 单通道脑电信号的睡眠分期并没有达到较高的准确率, 特别对N1期的分类错误率较高, 显然, 睡眠分期的研究还需要考虑数据对分期结果的影响. 而在睡眠分期中采用多模态数据能够提取更多与睡眠阶段相关的有效特征[16], 进行更有效的睡眠分期. Pathak等人在2021年提出了用于多模态睡眠评分的深度学习模型STQS, 应用3种模态脑电图(EEG)、眼电图(EOG)、肌电图(EMG)作为模型输入, 模型总体准确率达到了85.5%, 由于N1期和REM期的脑电信号相似导致STQS在分类N1期的准确率较低, 而REM期可以通过EOG和EMG的特征减少分类错误[17]. Phan等人在2022年提出了SleepTransformer[18], 通过利用Transformer中包含多头注意力的自注意力块的注意力分数提高睡眠分期模型的可解释性, 并获得了较高的分类准确率. Fu等人提出了一种基于时间谱融合和注意力的自动睡眠分期深度神经网络模型[19], 通过双流结构提取更加丰富的睡眠分期差异特征, 并采用多头自注意力机制学习特征之间的依赖关系, 模型在多个数据集上表现优良, 模型准确率最高达到了86.64%, 提高了模型性能. Li等人在2023年提出了GAC-SleepNet, 通过欧几里得结构和图结构的双重结构更全面地提取各个睡眠阶段的特征[20], 提高了网络在不同睡眠阶段的学习能力和对N1期的分类准确率, 表现出双结构模型在睡眠分期上具备更好的分类性能.

基于上述研究, 多模态睡眠分期方法能够有效提高睡眠分期的精度, 并且双结构网络在睡眠分期中的表现更加优秀, 能够更好地提取多模态数据中的有效特征, 但研究还存在对全局、局部特征的提取和模型的轻量化的挑战. 多头自注意力和LSTM的应用使得模型能更好地提取序列的全局和局部依赖信息, 结合CNN卷积神经网络提取特征, 并且拥有上述相关网络结构的模型的平均分类准确率均能达到82%甚至更高. 此外, 基于CNN和LSTM或BiLSTM的多头注意力机制在文本情感分析和文本分类等领域[21,22]均有所成果, 对于引入多头注意力机制的文本情感分析研究[22], 准确率高达90.76%, 在不包含多头注意力机制的模型基础上准确率提高了0.8%. 因此, 可以发现基于CNN、多头自注意力机制和LSTM的网络模型对于复杂分类问题上占据更大优势. 本文提出了一种基于多头自注意力的多模态自动睡眠分期网络解决睡眠分期这一复杂分类问题, 利用并行CNN提取多模态信号睡眠特征, 通过由多头自注意力机制和残差网络构成的上下文学习模块获取更加全面的序列表征并减少多模态数据的信息损失. 考虑到模型的复杂度优化, 本文采用LSTM而不是BiLSTM, 学习长时间序列之间的局部依赖关系特征, 提高模型的性能. 实验结果表明, 本文的模型在Sleep-EDF数据集上的整体分类准确率为85.7%, MF1分数达到80.6%, 在CNN分支中采用了较大的卷积核和更少参数的滤波器, 模型性能优于现有的自动睡眠分期模型.

3 研究方法

本文所提出的多头自注意力睡眠分期模型的总体框架如图1所示. 模型主要由3个部分组成: 用于实现表征学习的双流CNN模块、用于提取多模态特征之间的相关性和依赖性的上下文学习模块和用于学习不同睡眠阶段的局部时序信息的LSTM模块. 该模型可以利用多模态信号进行训练和优化. 首先, 各模态的原始信号通过CNN卷积网络的两个分支处理成高级特征. 卷积网络由大尺度卷积核和小尺度卷积核组成, 交错最大池化层和丢弃层, 可以同时捕捉EEG和EOG信号的重要特征. 然后双流特征通过乘法操作和加法操作进行融合, 输入到上下文学习模块提取全局多模态特征之间的相互依赖关系. 最后, 由LSTM提取局部时序信息, 通过分类层得到睡眠分期的结果.

3.1 表征学习

本文设计了双流卷积网络结构来提取原始多模态数据(EEG和EOG)的特征. 每个分支中有4个卷积层和两个最大池化层. 为充分学习不同模态各自在睡眠阶段的表征, 第1层采用大核卷积, 其余为小核卷积. 大核卷积提取低频信息, 小核卷积提取高频信息和详细的信号特征. 在第1层卷积中, 由于不同模态具有不同的频率范围[23], 因此本文设计EEG分支的卷积核大小为EOG的两倍. 其余3个卷积层尺度相同, 用于提取EEG和EOG的深层特征. 这3个卷积层连续设置, 且每个卷积层均包含3种操作: 卷积操作, 批归一化和整流线性单元(ReLU)激活. 此外, 丢弃层被应用在第1个最大池化层之后以防止过拟合. 形式上, 假设EEG通道和EOG通道均有$N$个30秒的历元$ \left\{{x}_{1}, {x}_{2}, \cdots , {x}_{N}\right\} $. 分别使用CNN从第$i$个历元${x_i}$中提取第$i$个特征${f_i}$, 如下所示:

$ \begin{array}{c}{f}_{i}^{a}= CN{N}_{{\theta }_{a}}\left({x}_{i}^{a}\right)\end{array} $ (1)
$ \begin{array}{c}{f}_{i}^{b}= CN{N}_{{\theta }_{b}}\left({x}_{i}^{b}\right)\end{array} $ (2)

其中, $a$$b$分别代表EEG和EOG的变量. ${\theta _a}$${\theta _b}$分别代表EEG和EOG的CNN参数.

图 1 模型结构图

3.2 上下文学习模块

在上下文学习模块中, 首先对卷积结构输出的双流特征进行融合. 为增加重要模态的置信度和减少无关特征的置信度, 本文使用乘法操作融合双流特征. 而后将其与输入特征相加, 输出具有综合置信度且能避免损失的特征流. 接着依次输入多头自注意力块和残差块.

多头自注意力块首先将输入特征通过线性映射变换到多个不同维度的子空间(查询、键和值), 以便进行并行处理. 其次将映射后的结果划分成多个注意力头部, 执行缩放点积注意力来计算权重. 具体来说, 对$Q$$K$进行点积运算, 计算关联度得分, 接着应用Softmax函数获得注意力权重矩阵, 与$V$进行点积运算获得最终权重输出. 最后将所获得的所有权重连接在一起, 产生最终的输出. 通过多个注意力头的并行处理, 模型可以在同一时间关注到序列的不同部分, 捕捉到更加多样化的特征, 包括序列中不同位置之间的关联性和重要性, 为后续建模提供更全面的序列表示. 所有操作可以表示如下:

$ {Q}_{i}=Z{W}_{i}^{Q}\text{, }{K}_{i}=Z{W}_{i}^{K}\text{, }{V}_{i}=Z{W}_{i}^{V}\text{, }1\leqslant i\leqslant H $ (3)
$ \begin{array}{c}{A}_{i}=Attention\left({Q}_{i}\text{, }{K}_{i}\text{, }{V}_{i}\right)={\textit{Softmax}}\left(\dfrac{{Q}_{i}{K}_{i}^{{\mathrm{T}}}}{\sqrt{d}}\right){V}_{n}\end{array} $ (4)
$ \begin{array}{c}MA= {A}_{1}\left|\right|{A}_{2}\left|\right|\cdots \left|\right|{A}_{H}\end{array} $ (5)

其中, $Z \in {R^{l \times d}}$是长度为$l$、维度为$d$的输入. $H$为注意力头的数量, 表示输入特征被分为$H$个子空间. $W_i^Q, W_i^K, W_i^V \in {R^{d \times \frac{d}{H}}}$为线性投影的权重. ${Q_i}, {K_i}, $${V_i} \in {R^{l \times \frac{d}{H}}}$是查询、键和值投影后的权重. ${A_i}$表示第$i$个注意力头的权重.

为了减少因网络加深导致的模态信息损失, 本文设计了残差结构. 输入特征先经过归一化层进行残差连接. 这种设计保留了输入数据的细节信息, 使得信息能够输入到后续结构, 避免信息丢失. 残差结构由两个连续的ReLU激活的线性变换组成, 交错概率为0.1的丢弃层以防止过拟合.

3.3 序列学习

为进一步提高模型的可用性并减少模型冗余, 本文采用单向LSTM模块来提取时序特征. 经过上下文学习模块对输入序列的并行处理, 模型可以得到更丰富和更准确的序列表示, 将其作为单向LSTM的输入可以提高模型的建模能力和性能. 与双向LSTM相比, 单向LSTM可以有效减少模型计算量, 节约计算资源. 单向LSTM可以提取序列的局部特征, 捕捉睡眠信号的时间特征, 学习EEG和EOG信号中时间点之间的关系和睡眠阶段的过渡规则, 使模型更加适应各种数据的处理需求. 假设上下文学习模块输出$N$个特征向量$\left\{ {{x_1}, \cdots , {x_N}} \right\}$. 第$i$个特征${x_i}$的处理过程如下:

$ \begin{array}{c}{h}_{i}\text{, }{c}_{i}= {\textit{LSTM}}_{\theta }\left({h}_{i-1}\text{, }{c}_{i-1}, {x}_{i}\right)\end{array} $ (6)

其中, ${\textit{LSTM}}{_\theta }$代表处理${x_i}$的LSTM, $\theta $为LSTM的可学习参数, ${h_{i - 1}}$${c_{i - 1}}$是输入序列的隐藏状态和单元状态, ${h_i}$${c_i}$是序列经过LSTM处理后的隐藏状态和单元状态, ${h_0}$${c_0}$的初始值为$\vec 0$.

经过上述训练并更新权重后, 模型将经过LSTM的输出特征输入到具有5个神经元的Softmax层中进行分类, 最终输出睡眠阶段的五分类.

4 实验和结果 4.1 数据集

本文使用的是公共数据集Sleep-EDF数据集进行方法评估. Sleep-EDF数据集是Kemp等人在进行睡眠研究时所采集的睡眠数据[24]. 本研究使用其中20名健康受试者的睡眠PSG数据. 20名受试者年龄为25–34岁, 其中有10名男性, 10名女性. 每个受试者有大约20 h的PSG记录, 只有受试者13因设备故障丢失了一次记录. 所有数据记录了受试者睡眠过程中Fpz-Cz和Pz-Oz通道的EEG信号、HEOG信号和EMG信号. 本研究使用的通道为Fpz-Cz和HEOG. 每个受试者的睡眠记录被划分为多个30 s的片段, 并由专家根据R&K标准手工分期, 即分为W期、N1期、N2期、N3期、N4期以及REM期. 另外一些体动数据和无法判断的数据被标记为MOVEMENT和UNKNOWN. 本研究中遵循AASM标准, 将N3和N4合并为N3, 去除MOVEMENT和UNKNOWN的数据片段. 为避免模型过拟合, 本文将每个EEG和EOG信号沿时间轴向前或向后3 s开始随机截取30 s. 这种做法可以合成新的信号, 增加数据量.

4.2 评价指标

本文采用准确率(ACC)和宏平均F1分数(MF1)来评估所提出的模型性能. 准确率反映了模型在所有样本上的正确预测比例, 它提供了一个宏观的视角来评价模型的性能. 为充分考虑不同睡眠阶段的数据分布不平衡的问题, 选择宏平均F1分数来衡量模型性能. 每个睡眠阶段类别由F1分数(F1)衡量. 因为F1分数结合了准确率(ACC)和召回率(RE)指标. 具体地, 指标的计算方法如下:

$ ACC= \frac{{{\displaystyle \sum }}_{i=1}^{c}T{P}_{i}}{N} $ (7)
$ RE= \frac{TP}{TP+FN} $ (8)
$ {F1 = \frac{{2 \times ACC \times RE}}{{ACC + RE}}} $ (9)
$ {MF1 = \frac{{\displaystyle\mathop \sum \nolimits_{i = 1}^c F{1_i}}}{N}} $ (10)

其中, c是睡眠阶段的种类, TP是真阳性, FN是假阴性, $T{P_i}$是第$i$类的真阳性, N是总的睡眠阶段数, $F{1_i}$是第$i$类的F1值.

4.3 实验设置

本研究采用留一法交叉验证[25]进行睡眠分期实验. Sleep-EDF数据集中包含20个健康的被试数据, 因此本文进行了20折交叉验证. 对于每一折, 选择一个受试者的数据作为测试数据, 17个被试用于训练, 剩余2个被试作为验证数据.

在模型训练过程中, 本文使用学习率为0.0001的Adam优化器, 设置beta1和beta2分别为0.9和0.999. batch_size设置为15. 对于每一折交叉验证, 最后保存验证集中准确率最高的模型.

4.4 结果与分析

本研究基于Sleep-EDF数据集对模型进行20折交叉验证. 表1为模型的训练结果, 包括睡眠5个阶段的混淆矩阵和各个阶段的性能指标.

表 1 模型的实验结果

从混淆矩阵中可以看出, 模型在W、N2、N3和REM期上都能取得优秀的分期性能. 其中, W期的性能较好, RE值和F1值在5类中最高. 这表明模型能够有效提取W期的睡眠特征, 这与训练数据集中W期样本数占多数也有关系. 此外, 在混淆矩阵中也可以看到模型对N1期的分类性能较差, 很多标签为N1的样本被误判为W、N2和REM期. 由于N1期在整个睡眠周期中是一个短暂的过渡阶段, N1期的样本数量比其他睡眠阶段的样本数量少, 模型可学习特征较少. 加之大部分N1期的特征波为lamb波. 这种特征波也经常出现在N2期和REM期. 因此模型很难将它们区分开来.

为验证模型的有效性, 本文将模型与性能较好的睡眠模型进行比较, 比较结果如表2所示. 表中模型取得的结果均是以Sleep-EDF数据集为基础且经过20折交叉验证训练的. “—” 代表该性能指标在原文献中没有给出. 表2中, SeqSleepNet是Phan等人[26]基于RNN的自动睡眠分期模型, 模型在RNN中加入了注意力机制, 对Fpz-Cz的脑电信号进行睡眠阶段分类, 得到的分类准确率达82.2%; Seo 等人[27]通过构建残差神经网络和双向LSTM从Fpz-Cz通道中学习epoch和epoch间的时序关系, 得到了83.9%; 马家睿等人[28]设计包含状态转换规则的睡眠分期模型, 选择Pz-Oz通道得到的分类准确率为82.3%; Multitask CNN是Phan等人[29]提出的基于CNN和多任务学习的深度神经网络, 模型在Sleep-EDF数据集上得到了82.3%的准确率; DeepSleepNet 是由Supratak等人[30]基于CNN和BiLSTM对Fpz-Cz脑电通道进行睡眠分期, 得到的准确率达82.0%. 对比表2可以知道, 本文的模型准确率较高, MF1分数达到80%以上, 说明本模型的分类性能较高. 各期的分类结果在其他对比模型中达到最佳, 其中W期的F1分数达到90%, N2期和N3期的F1分数均达到88%以上, REM期的F1分数超过85%. 对于样本数量较少的N1期, 其F1值也比其他模型高出4.6%–19.7%.

表 2 基于Sleep-EDF公共数据集的模型比较(%)

图2图3为模型预测结果和专家评判结果的对比图. 其中, 在睡眠周期稳定的时间段内, 模型预测结果和专家评判结果基本一致. 说明本文模型准确率较高. 在睡眠时期的过渡阶段, 模型存在滞后预测或预测错误, 可以知道模型对处于睡眠过渡时期的分类性能较差. 这可能是因为处于过渡期的样本同时存在几个睡眠时期的特征波, 模型难以区分. 这也为本文的进一步研究指明了方向.

图 2 专家分期结果时相图

4.5 消融实验

为验证本文提出的模块和多模态信号的有效性, 本文设计了以Sleep-EDF数据集为基础, 使用Fpz-Cz和EOG通道的模型消融实验.

(1) EOG: 模型是由一个单独的CNN分支结构和一个单向LSTM组成的单流混合网络, 并且只输入EOG信号.

(2) EEG: 模型与以EOG为输入的模型相同, 但输入信号为EEG信号.

(3) EEG+EOG: 模型与以EOG信号为输入的模型相同, 但输入信号为EEG和EOG. 模态流的融合采用简单的连接操作.

(4) 本文模型: 该模型在以EEG和EOG信号为输入的基础上增加了上下文学习模块.

图 3 预测结果时相图

图4所示, 同时使用EEG和EOG信号的模型, 其准确率和MF1分数分别达到84.4%和78.7%, 相较于仅使用EEG信号的模型, 这两个指标分别提升了4.5%和3.5%, 而相较于仅使用EOG信号的模型, 则分别提升了5.6%和5.8%. 这一结果充分表明, 采用双通道方式可以同时提取EEG和EOG的特征, 有效增强模型的分类性能. 这是因为单一模态在不同的睡眠阶段可能表现出相似的特征, 降低了模型分类性能. 而通过结合多模态, 模型可以学习模态在不同时间段的互补特征, 如在N1阶段, 睡眠特征包括低频混合EEG和慢眼动EOG. 通过使用多模态信息可以有效降低单模态对分期的影响. 此外, 本文所提出的模型准确率和MF1分数分别为85.7%和80.6%, 与仅使用EEG和EOG信号的模型相比, 这两个指标分别提升了1.3%和1.9%. 这表明引入上下文学习模块能够有效提升模型性能. 这是因为在该模块中, 多头自注意力块丰富了数据的特征表达, 多个注意力头可以同时捕捉模态的多种特征, 残差块在增加信息表达时也减少了信息损失. 两者的共同作用使得上下文模块提升了模型分类准确率.

图 4 消融实验对比

5 结论与展望

本文基于EEG和EOG数据, 设计了一种基于多头自注意力的睡眠分期模型. 该模型不仅能够有效提取不同模态数据的睡眠特征, 还能深入学习并融合模态间的全局序列特征以及睡眠状态转换规则. 实验结果显示, 在公共数据集Sleep-EDF上的, 模型的准确率达85.7%, 相较于其他同类睡眠分期模型, 展现出更高的准确性和鲁棒性. 此外, 实验还验证了多模态数据和上下文学习模块对模型分类性能的提升作用. 其分类结果接近专家手工分期, 有望成为专家的分析工具, 帮助他们更准确地分析和分期睡眠数据. 展望未来, 本研究将继续深化深度学习在睡眠领域的应用, 致力于提高模型对睡眠数据的特征提取能力. 同时, 还将尝试将模型进行迁移学习, 应用于意识障碍患者的数据上, 以期为意识障碍的治疗探索新的可能性.

参考文献
[1]
Boostani R, Karimzadeh F, Nami M. A comparative review on sleep stage classification methods in patients and healthy individuals. Computer Methods and Programs in Biomedicine, 2017, 140: 77-91. DOI:10.1016/j.cmpb.2016.12.004
[2]
Ma YJX, Zschocke J, Glos M, et al. Automatic sleep-stage classification of heart rate and actigraphy data using deep and transfer learning approaches. Computers in Biology and Medicine, 2023, 163: 107193. DOI:10.1016/j.compbiomed.2023.107193
[3]
Buysse DJ. Sleep health: Can we define it? Does it matter? Sleep, 2014, 37(1): 9–17.
[4]
Zolfaghari S, Keil A, Pelletier A, et al. Sleep disorders and mortality: A prospective study in the Canadian longitudinal study on aging. Sleep Medicine, 2024, 114: 128-136. DOI:10.1016/j.sleep.2023.12.023
[5]
Hu YD, Shi WB, Yeh CH. Spatiotemporal convolution sleep network based on graph attention mechanism with automatic feature extraction. Computer Methods and Programs in Biomedicine, 2024, 244: 107930. DOI:10.1016/j.cmpb.2023.107930
[6]
Yue HJ, Chen ZQ, Guo WB, et al. Research and application of deep learning-based sleep staging: Data, modeling, validation, and clinical practice. Sleep Medicine Reviews, 2024, 74: 101897. DOI:10.1016/j.smrv.2024.101897
[7]
Dong H, Supratak A, Pan W, et al. Mixed neural network approach for temporal sleep stage classification. IEEE Transactions on Neural Systems and Rehabilitation Engineering, 2018, 26(2): 324-333. DOI:10.1109/TNSRE.2017.2733220
[8]
Fraiwan L, Lweesy K, Khasawneh N, et al. Automated sleep stage identification system based on time-frequency analysis of a single EEG channel and random forest classifier. Computer Methods and Programs in Biomedicine, 2012, 108(1): 10-19. DOI:10.1016/j.cmpb.2011.11.005
[9]
Yuda E, Yoshida Y, Sasanabe R, et al. Sleep stage classification by a combination of actigraphic and heart rate signals. Journal of Low Power Electronics and Applications, 2017, 7(4): 28. DOI:10.3390/jlpea7040028
[10]
Rechtschaffen A, Kales A. A Manual of Standardized Terminology, Techniques and Scoring System of Sleep Stages of Human Subjects. Los Angeles: University of California, 1968.
[11]
Berry RB, Brooks R, Gamaldo CE, et al. The AASM Manual for the Scoring of Sleep and Associated Events. Darien, Illinois: American Academy of Sleep Medicine, 2012. 7.
[12]
Sors A, Bonnet S, Mirek S, et al. A convolutional neural network for sleep stage scoring from raw single-channel EEG. Biomedical Signal Processing and Control, 2018, 42: 107-114. DOI:10.1016/j.bspc.2017.12.001
[13]
Zhao CH, Li JB, Guo YH. SleepContextNet: A temporal context network for automatic sleep staging based single-channel EEG. Computer Methods and Programs in Biomedicine, 2022, 220: 106806. DOI:10.1016/j.cmpb.2022.106806
[14]
Lu JY, Yan C, Li JQ, et al. Sleep staging based on single-channel EEG and EOG with tiny U-Net. Computers in Biology and Medicine, 2023, 163: 107127. DOI:10.1016/j.compbiomed.2023.107127
[15]
Supratak A, Guo YK. TinySleepNet: An efficient deep learning model for sleep stage scoring based on raw single-channel EEG. Proceedings of the 42nd Annual International Conference of the IEEE Engineering in Medicine & Biology Society. Montreal: IEEE, 2020. 641–644.
[16]
Jiang DH, Lu YN, Ma Y, et al. Robust sleep stage classification with single-channel EEG signals using multimodal decomposition and HMM-based refinement. Expert Systems with Applications, 2019, 121: 188-203. DOI:10.1016/j.eswa.2018.12.023
[17]
Pathak S, Lu CQ, Nagaraj SB, et al. STQS: Interpretable multi-modal spatial-temporal-sequential model for automatic sleep scoring. Artificial Intelligence in Medicine, 2021, 114: 102038. DOI:10.1016/j.artmed.2021.102038
[18]
Phan H, Mikkelsen K, Chén OY, et al. SleepTransformer: Automatic sleep staging with interpretability and uncertainty quantification. IEEE Transactions on Biomedical Engineering, 2022, 69(8): 2456-2467. DOI:10.1109/TBME.2022.3147187
[19]
Fu GD, Zhou YY, Gong PL, et al. A temporal-spectral fused and attention-based deep model for automatic sleep staging. IEEE Transactions on Neural Systems and Rehabilitation Engineering, 2023, 31: 1008-1018. DOI:10.1109/TNSRE.2023.3238852
[20]
Li TX, Gong YL, Lv YD, et al. GAC-SleepNet: A dual-structured sleep staging method based on graph structure and Euclidean structure. Computers in Biology and Medicine, 2023, 165: 107477. DOI:10.1016/j.compbiomed.2023.107477
[21]
滕金保, 孔韦韦, 田乔鑫, 等. 基于CNN和LSTM的多通道注意力机制文本分类模型. 计算机工程与应用, 2021, 57(23): 154–162.
[22]
郝星跃. 基于多头注意力机制的BiGRU-CNN文本情感分析. 计算机科学与应用, 2022, 12(1): 123-134.
[23]
Zheng YB, Luo YY, Zou B, et al. MMASleepNet: A multimodal attention network based on electrophysiological signals for automatic sleep staging. Frontiers in Neuroscience, 2022, 16: 973761. DOI:10.3389/fnins.2022.973761
[24]
Kemp B, Zwinderman AH, Tuk B, et al. Analysis of a sleep-dependent neuronal feedback loop: The slow-wave microcontinuity of the EEG. IEEE Transactions on Biomedical Engineering, 2000, 47(9): 1185-1194. DOI:10.1109/10.867928
[25]
Wong TT. Performance evaluation of classification algorithms by k-fold and leave-one-out cross validation. Pattern Recognition, 2015, 48(9): 2839-2846. DOI:10.1016/j.patcog.2015.03.009
[26]
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. DOI:10.1109/TNSRE.2019.2896659
[27]
Seo H, Back S, Lee S, et al. Intra- and inter-epoch temporal context network (IITNet) using sub-epoch features for automatic sleep scoring on raw single-channel EEG. Biomedical Signal Processing and Control, 2020, 61: 102037. DOI:10.1016/j.bspc.2020.102037
[28]
马家睿, 王蓓, 金晶, 等. 结合状态转移规则的深度睡眠分期模型. 计算机工程与设计, 2020, 41(10): 2878-2883. DOI:10.16208/j.issn1000-7024.2020.10.030
[29]
Phan H, Andreotti F, Cooray N, et al. Joint classification and prediction CNN framework for automatic sleep stage classification. IEEE Transactions on Biomedical Engineering, 2019, 66(5): 1285-1296. DOI:10.1109/TBME.2018.2872652
[30]
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. DOI:10.1109/TNSRE.2017.2721116