基于深度卷积神经网络的睡眠分期模型
Sleep stage classification model based ondeep convolutional neural network
通讯作者:
收稿日期: 2019-09-10
Received: 2019-09-10
作者简介 About authors
贾子钰(1993—),男,博士生,从事脑机接口与深度学习的研究.orcid.org/0000-0002-8523-1419.E-mail:
针对现阶段数据和特征决定睡眠分期模型的分类精度上限的问题,提出深度卷积神经网络模型. 在模型主体构建方面,并行卷积网络可以自动学习原始信号的时域特征和频域特征,特征融合网络通过空洞卷积和残差连接进行多特征融合,分类网络基于融合后的特征进行睡眠分期. 利用生成少数类过采样技术(SMOTE)减少类别不平衡对分类效果的影响,结合两步训练法对模型进行优化. 实验使用Sleep-EDF数据集的原始单导脑电信号(Fpz-Cz通道)对模型进行20折交叉验证,得到总体精度和宏F1分别为86.73%和81.70%. 提出的深度卷积模型在没有任何先验知识的情况下,对脑电信号进行端到端的学习,分类准确率优于传统的深度学习模型.
关键词:
A deep convolutional neural network model was proposed aiming at the problem that the current data and features determine the upper limit of the classification accuracy of the sleep staging model. The parallel convolutional neural network automatically learns the time-domain and frequency-domain features of the original signals in terms of model construction. The feature fusion neural network fuses multi-features through dilated convolution and residual connection. The classification neural network recognizes the sleep stages based on fused features. Synthetic minority oversampling technique (SMOTE) method was applied to enhance data in order to reduce the effect of classification imbalance on classification effect, and two-step training method was applied to optimize the model. The original single-channel electroencephalogram (Fpz-Cz channel) of the Sleep-EDF data set was used to evaluate the proposed model by the 20-fold cross-validate scheme. The overall accuracy and macro-averaging F1-score were 86.73% and 81.70% respectively. The proposed deep convolution neural network was an end-to-end deep learning model without any prior knowledge. The experimental results showed that the classification accuracy of the proposed model was better than traditional deep learning models.
Keywords:
本文引用格式
贾子钰, 林友芳, 张宏钧, 王晶.
JIA Zi-yu, LIN You-fang, ZHANG Hong-jun, WANG Jing.
本文在上述研究的基础上,以深度卷积神经网络为主体,结合两步训练法[12]、残差连接[14]等深度学习优化技术构建端到端的自动睡眠分期模型. 该模型通过并行卷积神经网络,提取原始脑电信号的时域和频域特征;使用空洞卷积神经网络,进行特征融合;通过全连接层,利用融合后的特征进行睡眠分期. 为了克服睡眠数据样本类别不平衡的问题,模型采用生成少数类过采样技术[15](synthetic minority oversampling technique, SMOTE) 进行数据增强,使用样本类平衡的数据进行学习,提升少数类的识别率. 本文提出的深度卷积模型可以在没有任何先验知识的情况下,对单导脑电数据进行端到端的学习,且分类准确率处于较高水平.
1. 模型架构
如图1所示,提出的深度卷积模型主要由3个部分组成:并行卷积网络、特征融合网络和分类输出网络. 其中,并行卷积网络可以从原始单通道脑电信号中自动提取特征,特征融合网络可以将提取出的时域特征和频域特征进行融合,分类网络用于模型的分类输出.
图 1
1.1. 并行卷积网络
并行卷积网络是模型的第1部分,该网络在并行卷积的第1层使用2种不同尺寸的卷积核,从单通道脑电信号中自动提取分类特征. 研究表明,较小尺度的卷积核可以更好地捕捉时间信息,较大尺度的卷积核可以更好地捕捉频域信息[16]. 使用不同尺度的卷积核,可以捕获脑电信号的时域特征和频域特征.
式中:
并行卷积网络中的每一个分支网络由4个卷积层和2个最大池层组成. 每个卷积层会顺序执行3个操作:卷积运算、批量归一化和线性整流函数激活(rectified linear unit, ReLU). ReLU激活函数的表达式为
1.2. 特征融合网络
特征融合网络是模型的第2部分,在大多数机器学习模型中特征融合起着重要的作用[17]. 该网络通过空洞卷积神经网络,把提取出的时域特征和频域特征进行融合,应用残差连接使模型的深度更深,提高模型的表征能力和睡眠分期的效果. 空洞卷积神经网络的使用可以让感受野随着网络层数的增加获得指数级增长,而不是线性增长. 针对大量提取的特征,随着网络层数的增加,时域特征和频域特征被快速融合,使用ReLU函数激活的空洞卷积的表达式为
式中:
图 2
1.3. 分类网络
分类网络是提出模型的第3部分. 该网络是由完全连接的Softmax层构成[18],表达式为
式中:
2. 模型训练
应用两步训练法有效地训练所提出的模型,结合SMOTE方法进行数据增强,防止模型产生类别不平衡的问题. 两步训练法分成预训练(pre-train)和微调训练(fine-tune). 在训练过程中,交叉熵作为损失函数,以量化训练过程中预测和目标睡眠类别之间的一致性. 基于小批量梯度下降的自适应动量估计(adaptive moment estimation,Adam)优化器对损失函数进行优化,可以自适应地调整模型学习的速率. 对于非稀疏特征,以较小的学习率对深度神经网络权值进行更新;对于稀疏特征,以较大的学习率对深度神经网络权值进行更新. 两步训练具体的训练步骤如图3所示.
图 3
2.1. 预训练
预训练主要是针对并行卷积网络进行训练,可以使卷积层权值靠近较优的(保持在高梯度区间内)局部最优解,以便能够有效地对权值进行进一步的微调. 使用SMOTE方法生成类平衡训练集,对并行卷积网络的时频域特征的提取能力进行训练. 类平衡训练集的使用可以有效地避免样本类别不平衡产生的问题,使得模型不会过度适应样本数量多的睡眠阶段. 在模型的预训练阶段,仅使用并行卷积网络和分类网络;在预训练结束后,保存并行卷积网络的权值,作为微调训练的初始权网络.“舍弃”分类网络的权值,待微调训练时重新训练.
2.2. 微调训练
微调训练主要是针对特征融合网络和分类网络进行训练. 为了防止并行卷积网络的网络权重被过度调整,模型依据不同网络设置不同的学习率,并行卷积网络使用较低的学习率0.000 01,其余网络设置较高的学习率0.000 1. 其中,微调训练输入的训练集合是未经处理的原始数据集.
采用2种正则化技术,防止模型过拟合. 第1种技术是dropout[19]技术,它在训练期间会以一定的概率“舍弃”网络中的神经元,以增强模型的泛化能力. 通常dropout数值被设置为0.3或0.5. 模型中的dropout层仅用于训练,在测试期间会从模型中移除以提供确定性输出. 第2种技术是L2正则化,将L2范数惩罚项添加到损失函数中降低模型的复杂度,可以防止模型中出现过大的参数值、产生爆炸梯度等问题.
3. 实验与分析
3.1. 数据集
实验选取PhysioNet公开的基准睡眠数据Sleep-EDF数据集[20-21]. 该睡眠数据集包含20名健康受试者(26~35岁),其中男性健康人10人,女性健康人10人. 每个人的多导睡眠图(polysomnography, PSG)记录时长约为20 h,包含来自Fpz-Cz和Pz-Cz通道的2导脑电信号,1导眼电信号和1导肌电信号. 所有脑电信号和眼电信号都具有相同的采样率100 Hz,且信号被划分为30 s每段. 根据R&K睡眠标准[2]可知,睡眠专家将这些记录进行人工标记(W期、N1期、N2期、N3期、N4期、REM期、MOVEMENT、UNKNOWN). 本文依据现行通用的AASM睡眠标准,将R&K睡眠标准判定的N3期和N4期合并为同一分期(N3期),剔除了MOVEMENT和UNKNOWN等不相关数据,因为它们不属于5个睡眠阶段[3]. 表1列出睡眠专家对Sleep-EDF数据集的分类结果. 由Sleep-EDF数据集分期情况可以得出,本实验数据集的样本类别不平衡,其中N2睡眠阶段与N1睡眠阶段样本比例约为6∶1,N2睡眠阶段的样本数量占总样本量的42.43%,其余4个睡眠阶段占总样本数量的57.57%. 样本类的不平衡会导致模型过多地关注样本多的类别,导致N1睡眠阶段的识别率下降,影响模型的分类效果. 为了解决睡眠分期数据样本类别不平衡的问题,使用SMOTE方法进行数据增强,构建类平衡的睡眠数据集进行模型的训练.
表 1 Sleep-EDF睡眠分期情况
Tab.1
指标 | 数量 | 所占比例/% |
W | 7927 | 18.90 |
N1 | 2804 | 6.68 |
N2 | 17799 | 42.43 |
N3 | 5703 | 13.59 |
REM | 7717 | 18.40 |
3.2. 评价指标
使用不同的指标评估所提出的模型,包括总体准确性(accuracy,ACC)、精度(precision,PR)、召回率(recall,RE)和F1. 由于本文研究多分类问题,每类的评估通过将待评估类作为正例(positive),其他各类当作负例(negative)进行计算. 具体指标定义如下:
式中:TP为真阳数,表示模型预测为正例的正例样本的数量;FP为假阳数,表示模型预测为正例的负例样本的数量. 同理可以得到TN和FN.
3.3. 实验设计以及参数设置
该实验使用单导脑电信号(Fpz-Cz通道)训练和评估所提出的模型,无需手动提取额外的特征. 为了最大化利用现有样本对模型进行合理评估,使用K折交叉验证进行实验(K=20). 表2详细介绍了预训练模型的最佳结构及对应的参数.
表 2 预训练模型的最佳结构及详细参数
Tab.2
层名称 | 层类型 | 单元数 | 激活函数 | 大小 | 步长 |
Input1 | − | − | − | − | − |
Con11 | Convolution | 64 | Relu | 50 | 6 |
MaxP11 | MaxPooling | − | − | 8 | 8 |
D11 | Dropout (0.5) | − | − | − | − |
Con12 | Convolution | 128 | Relu | 8 | 1 |
Con13 | Convolution | 128 | Relu | 8 | 1 |
Con14 | Convolution | 128 | Relu | 8 | 1 |
MaxP12 | MaxPooling | − | − | 4 | 4 |
F1 | Flatten | − | − | − | − |
Con21 | Convolution | 64 | Relu | 400 | 50 |
MaxP21 | MaxPooling | − | − | 4 | 4 |
D21 | Dropout (0.5) | − | − | − | − |
Con22 | Convolution | 128 | Relu | 6 | 1 |
Con23 | Convolution | 128 | Relu | 6 | 1 |
Con24 | Convolution | 128 | Relu | 6 | 1 |
MaxP22 | MaxPooling | − | − | 2 | 2 |
F2 | Flatten | − | − | − | − |
D3 | Dropout (0.5) | − | − | − | − |
Dense1 | Dense | 5 | Softmax | − | − |
在预训练结束后,模型“舍弃”原有Softmax层,加入空洞卷积神经网络. 其中,空洞参数分别设置为1、2、4,进行特征融合及模型微调. 该实验的环境选择以TensorFlow为后端的Keras作为深度学习的框架,其中 Python 版本为3.5.4,TensorFlow的版本为1.11.0,Keras的版本为 2.2.4.GPU的型号是TITAN X (Pascal),且每块GPU显存是12 GB.
3.4. 实验结果
表3列出K折交叉验证后的混淆矩阵,其中每行和每列分别表示由睡眠专家和提出模型的分类结果,粗体数字表示提出模型正确分类的样本数. 每行的最后3列表示根据混淆矩阵计算的每类的性能指标. 可以看出,针对大多数睡眠阶段的分类效果都很好,F1的取值为86.54~90.32,但N1睡眠阶段的分类表现较差,F1低于60,且大多数错误分类阶段在N2,这可能是由于数据中存在背景波产生的误分. 混淆矩阵的对角线几乎是对称的,这表明错误的分类不太可能是样本类别不平衡导致的[11,22-23]. 如图4所示为睡眠专家人工分期与提出的深度卷积模型自动睡眠分期的对比图. 图中,N为样本数,每个样本表示30 s的睡眠,60个样本占0.5 h. 如图4(a)所示为由睡眠专家对数据(SC4121E0)人工判定得出的睡眠图,如图4(b)所示为由睡眠分期模型对数据(SC4121E0)自动判定得出的睡眠图. 从图4可以看出,提出模型的判定结果从整体上接近睡眠专家人工判定的结果,这说明模型具有较好的睡眠分期能力.
表 3 基于深度卷积神经网络模型的混淆矩阵及各类评价指标
Tab.3
分期 | W | N1 | N2 | N3 | REM | PR/% | RE/% | F1/% |
W | 7295 | 271 | 131 | 37 | 193 | 88.67 | 92.03 | 90.32 |
N1 | 369 | 1396 | 606 | 16 | 417 | 65.57 | 49.79 | 56.60 |
N2 | 378 | 283 | 15582 | 853 | 703 | 91.21 | 87.54 | 89.34 |
N3 | 33 | 3 | 270 | 5397 | 0 | 85.53 | 94.63 | 89.85 |
REM | 152 | 176 | 495 | 7 | 6887 | 83.99 | 89.24 | 86.54 |
图 4
图 4 睡眠专家人工分期与模型自动睡眠分期对比图
Fig.4 Comparison of expert manual sleep staging and model automatic sleep staging
表 4 先进研究与提出模型的结果对比
Tab.4
4. 结 语
本文提出深度卷积神经网络模型,用于原始单通道脑电信号的自动睡眠分期. 该模型通过并行卷积网络提取原始脑电信号的时域特征和频域特征,特征融合网络通过空洞卷积神经网络进行时频特征的融合,分类网络基于融合后的特征进行睡眠阶段分期. SMOTE方法构建的样本类平衡数据在两步训练法中被应用,提高了对少数类识别的准确率. 实验表明,本文提出的深度卷积神经网络模型能够从原始睡眠数据中自动提取特征,进行端到端的学习与分类.
参考文献
Sleep and circadian rhythm disruption in psychiatric and neurodegenerative disease
[J].
A manual of standardized terminology, techniques and scoring system for sleep stages of human subjects
[J].
A convolutional neural network for sleep stage scoring from raw single-channel EEG
[J].DOI:10.1016/j.bspc.2017.12.001 [本文引用: 1]
A single channel sleep-spindle detector based on multivariate classification of EEG epochs: MUSSDET
[J].DOI:10.1016/j.jneumeth.2017.12.023 [本文引用: 1]
基于卷积神经网络的脑电信号上肢运动意图识别
[J].
Recognition of upper limb motion intention of EEG signal based on convolutional neural network
[J].
脑机接口中基于BISVM的EEG分类
[J].
EEG classification based on batch incremental SVM in brain computer interfaces
[J].
Single-channel EEG sleep stage classification based on a streamlined set of statistical features in wavelet domain
[J].DOI:10.1007/s11517-016-1519-4 [本文引用: 1]
Automatic sleep stage scoring using time-frequency analysis and stacked sparse autoencoders
[J].DOI:10.1007/s10439-015-1444-y [本文引用: 3]
Effect of feature extraction on automatic sleep stage classification by artificial neural network
[J].DOI:10.1515/mms-2017-0036 [本文引用: 1]
DeepSleepNet: a model for automatic sleep stage scoring based on raw single-channel EEG
[J].DOI:10.1109/TNSRE.2017.2721116 [本文引用: 3]
SleepEEGNet: automated sleep stage scoring with sequence to sequence deep learning approach
[J].DOI:10.1371/journal.pone.0216456 [本文引用: 6]
SMOTE: synthetic minority over-sampling technique
[J].DOI:10.1613/jair.953 [本文引用: 1]
Feature fusion: parallel strategy vs. serial strategy
[J].DOI:10.1016/S0031-3203(02)00262-5 [本文引用: 1]
Dropout: a simple way to prevent neural networks from overfitting
[J].
PhysioBank, PhysioToolkit, and PhysioNet: components of a new research resource for complex physiologic signals
[J].
Analysis of a sleep-dependent neuronal feedback loop: the slow-wave microcontinuity of the EEG
[J].DOI:10.1109/10.867928 [本文引用: 1]
端到端单通道睡眠EEG自动分期模型
[J].
End-to-end single-channel automatic staging model for sleep EEG signal
[J].
/
〈 |
|
〉 |
