Zing 论坛

正文

多模态睡眠阶段分类:基于注意力机制的深度学习系统

本项目构建了一个端到端的深度学习系统,通过融合EEG、EOG和EMG多模态生理信号,结合CNN-LSTM架构和注意力机制,实现自动化的睡眠阶段分类。

深度学习睡眠分类多模态EEG注意力机制CNN-LSTM生理信号时间序列开源Python
发布时间 2026/06/05 02:11最近活动 2026/06/05 02:22预计阅读 5 分钟
多模态睡眠阶段分类:基于注意力机制的深度学习系统
1

章节 01

导读 / 主楼:多模态睡眠阶段分类:基于注意力机制的深度学习系统

本项目构建了一个端到端的深度学习系统,通过融合EEG、EOG和EMG多模态生理信号,结合CNN-LSTM架构和注意力机制,实现自动化的睡眠阶段分类。

3

章节 03

引言:睡眠监测的自动化挑战

睡眠障碍已成为现代社会的普遍健康问题,准确的睡眠阶段分析是诊断睡眠障碍的关键步骤。传统的多导睡眠图(PSG)分析依赖睡眠专家手动评分,不仅耗时费力,而且成本高昂。随着深度学习技术的发展,自动化睡眠阶段分类成为研究热点。

Harikaran14开发的多模态睡眠阶段分类项目,提供了一个完整的端到端解决方案。该系统整合脑电图(EEG)、眼电图(EOG)和肌电图(EMG)三种生理信号,利用CNN-LSTM架构结合注意力机制,实现了高精度的自动化睡眠阶段识别。

4

章节 04

数据集与信号处理

项目使用PhysioNet的Sleep-EDF扩展数据集,该数据集包含整夜的多导睡眠监测记录和专家标注的睡眠阶段。系统主要处理三类信号:

  • EEG Fpz-Cz:脑电信号,反映大脑活动
  • EOG Horizontal:眼电信号,捕捉眼球运动
  • EMG Submental:肌电信号,监测肌肉活动

睡眠阶段按照标准划分为五类:清醒期(W)、N1期、N2期、深睡期(N3/N4)和快速眼动期(REM)。

数据预处理流程包括:

  1. 通道选择:从原始PSG记录中提取目标信号通道
  2. 带通滤波:使用0.3-35Hz的带通滤波器去除噪声
  3. 降采样:将采样率降至100Hz以减少计算量
  4. 标注同步:将睡眠阶段标注与信号时间对齐
  5. 分段生成:将连续信号切分为标准的30秒epoch
  6. 归一化:对每个被试的信号进行标准化,减少个体差异
5

章节 05

模型架构:多分支多模态融合

系统的核心是一个多分支的深度学习架构,每个生理模态都有专门的特征提取分支:

           EEG
            │
        CNN + Attention
            │
           LSTM
            │

           EOG
            │
        CNN + Attention
            │
           LSTM
            │

           EMG
            │
        CNN + Attention
            │
           LSTM

             ↓

     Cross-Modal Attention

             ↓

      Feature Fusion

             ↓

     Global Pooling + Dense

             ↟

     Sleep Stage Output

每个模态分支的结构设计遵循相同的模式:

CNN层:用于提取局部频率特征,学习频域模式,同时具有一定的降噪能力。

注意力机制:采用Squeeze-and-Excitation风格的通道注意力,帮助模型关注信息丰富的通道。

LSTM层:捕捉时间序列中的长期依赖关系,学习睡眠阶段的转换规律。

跨模态注意力:在单模态特征提取之后,系统使用跨模态注意力机制建模EEG与EOG、EEG与EMG之间的交互关系,实现多模态信息的深度融合。

6

章节 06

注意力机制的多层次应用

项目在三個层次上应用了注意力机制,体现了对注意力机制的深入理解:

通道注意力(Channel Attention):通过全局池化和重要性权重学习,对特征通道进行重标定。这使得模型能够自动学习哪些通道对当前任务更重要。

自注意力(Self Attention):在EEG特征上应用自注意力,强化重要的时间模式。这对于捕捉睡眠纺锤波、K复合波等特征性事件特别有效。

交叉注意力(Cross Attention):这是多模态融合的关键。通过建模不同模态之间的注意力关系,系统能够利用EEG与EOG的互补信息(如REM期的眼球运动特征),以及EEG与EMG的关联(如清醒期的肌张力特征)。

这种多层次的注意力设计,使得模型不仅能够关注重要的特征通道和时间位置,还能够有效地整合来自不同生理信号源的互补信息。

7

章节 07

防止过拟合的策略

生物医学信号分析面临的一个主要挑战是过拟合,因为数据集通常相对较小且被试间差异大。项目采用了多种正则化策略:

Dropout:在全连接层使用0.5的dropout率,随机失活神经元以防止共适应。

批归一化(Batch Normalization):在卷积层后应用批归一化,稳定训练过程,减少对初始化的敏感性。

早停(Early Stopping):监控验证集损失,当性能不再提升时自动停止训练,防止在训练集上过度优化。

学习率衰减(ReduceLROnPlateau):当训练进度停滞时自动降低学习率,帮助模型跳出局部最优。

这些策略的组合使用,显著提升了模型的泛化能力。

8

章节 08

关键问题:数据泄露与类别不平衡

项目文档特别强调了生物医学机器学习中的两个关键问题:

被试泄露(Subject Leakage):传统的随机划分训练/测试集可能导致同一被试的数据同时出现在训练集和测试集中,造成过于乐观的性能估计。项目使用GroupShuffleSplit确保训练集和测试集中的被试完全不重叠,更好地反映真实世界的泛化性能。

类别不平衡:睡眠数据集的类别分布高度不平衡,N2期通常占主导地位,而N1期和REM期相对较少。项目使用class_weight.compute_class_weight计算类别权重,在训练过程中对少数类给予更高的权重,平衡模型的学习。

这种对数据泄露和类别不平衡问题的重视,体现了作者对机器学习最佳实践的深入理解。