基于综合特征学习和多流序列学习的用于睡眠分期的分层神经网络
【2019,IEEE Journal of Biomedical and Health Informatics】
【Chenglu Sun,Chen Chen, Wei Li, Jiahao Fan,Wei Chen:复旦大学,信息科学与技术学院电子工程系,智能医疗电子中心】
Abstract
自动睡眠分期通常提取PSG信号中的人工特征或网络训练的特征,用多种分类器估计它属于哪个阶段。
本文提出了基于分层神经网络的方法处理多通道PSG信号。包含两个阶段:综合特征学习阶段和序列学习阶段。第一阶段,将人工特征和网络训得的特征融合;第二阶段用多流的循环神经网络学习睡眠周期之间的时间信息,并微调第一阶段的参数。
用公开数据集MASS中147份记录来评估模型,总体能达到0.878的准确率,F1-score为0.818。与目前的先进方法相比,这种方法性能更优。消融实验和模型分析证明了模型不同组成部分的有效性。该方法可以根据不同的标准、信号特征和阶段划分的多通道PSG信号对睡眠阶段进行自动分类,具有全面开发睡眠信息的潜力。
关键词:睡眠阶段分期;卷积神经网络;循环神经网络;EEG信号
1. Introduction
背景:AASM标准将睡眠阶段分为五类:WAKE,REM,NREM1,NREM2,NREM3;把睡眠记录分为连续的阶段,专家根据一定标准将每个阶段划分为一个特定的睡眠阶段。为了减轻专家负担并提供辅助诊断,基于传统机器学习的方法应用了PSG信号中的典型特征(具有明显的物理意义),然后用不同的分类器进行睡眠分期。
存在问题:
如何从EEG、EOG和EMG信号中提取超越现有经典特征的新的、有效的特征是一个挑战;
如果根据以已提供的特征,某个阶段的特征仍然难以全面描述,这个阶段就会比较难识别;
- 传统机器学习方法的分类器不擅长处理时间序列信号。
A. 睡眠阶段分期的深度学习方法:文献综述
深度学习方法在很多领域都取得巨大成功。CNN和DBN在特征提取上性能比较好,RNN适于处理时序信号。深度网络在生理信号和医学图像处理方面都表现出良好性能。
睡眠分期分为两步:特征提取和序列信号分类。可以用深度网络来处理睡眠数据:CNN单通道、CNN多通道。信号越多,分类效果越好;序列分类:DBN+HMM,ReNN+LSTM,CNN+BLSTM,只用深度网络,会过度依赖于网络。
PSG信号可提取出三类特征:手动设计特征(可以提取到网络提取不到的特征,但是进步缓慢),网络训得的特征(难以描述和理解,有效性有待研究),从手动设计特征得到的分层特征(忽略了直接从网络提取的特征)。这些网络架构还有很大的提升空间。
B. 本文目标
旨在提出一个更好的方法,能综合的利用睡眠阶段知识,利用深度网络的特点(把手动设计特征和网络科学地结合起来)。还要考虑所训练特征的序列相关性;可以用于多种PSG信号,泛化性强。
本文中提出了基于分层网络的新的分类方法,包括两步:综合特征学习阶段(自动提取特征矩阵)&序列学习阶段(BLSTM和注意力层结合的多流网络进行序列学习)
贡献:
- 提出了一种两阶段的网络结构,提高分类效果。一阶段用三级CNN学习网络特征,将其与手工特征融合;二阶段用多流RNN&注意力机制发掘序列信息,建立“序列-序列”的映射,而不是睡眠阶段之间的一对一映射。
- 为了避免样本不均衡、过拟合问题,提高泛化能力,采用了一些学习策略:focal loss function,去除无用训练轮,选择性的模型储存策略。
- 提出的模型可以完成不同数据集、不同标准、信号特征和阶段划分的睡眠分期。在4个数据集上做了实验,证明了模型的前景和鲁棒性。
2. Methodology
介绍了模型架构,手动设计特征和分层网络。
A. 模型架构
模型结构如图1,初始信号自动预处理生成网络输入,然后通过网络习得特征。特征训练过程中,从网络输入中提取手动设计特征,然后将二者融合得到综合特征。然后训练模型根据综合特征学习时间信息,将网络输入喂给模型,验证模型的可行性。
B. 手动设计特征
根据AASM标准,连续30s长的睡眠阶段被分为WAKE,REM,NREM1,NREM2,NREM3五类。根据R&K标准,连续20s或30s的睡眠阶段被分为Wake, S1, S2, S3, S4, REM六类。每个阶段有自己的特点,即物理特征(如频率范围、振幅、某些特定波的持续时间),物理特征可通过手工设计提取出来,因此,基于睡眠医学先验知识提取手工特征是区分睡眠阶段的一种快速而简单的方法。
EEG EOG EMG信号去噪后进行手工特征提取,提取了122个特征(时域、频域、形态特征),如表1所示。滑窗自动提取,进行z-score归一化,以减少受试者之间生理差异和设备相关差异的影响。特征向量拼接起来,虽然网络习得的特征也很好,但是不能完全抛弃手工设计特征,因为这些特性与睡眠知识是一致的。
C. 网络结构
特征学习阶段(阶段1):三个filter分别学习细节特征、结构特征、形状特征,同时提取手工特征,然后进行融合;
多流序列学习阶段(阶段2):获得混合特征矩阵,习得时序信息,如阶段转换规则;微调stage1模型,得到最终模型。
1)Stage1
CNN可以捕捉局部相关性和空间不变性,参数共享,可用于特征提取。设计了三级CNN结构(图3),有三个分支,分别捕捉细节特征、结构特征、形状特征(对应的filter size和步长不同)。每一个分支有4个卷积层,2个最大池化层,一个dropout层。然后拼接,全连接,输出。
标准化的手工特征也被加入网络中(图4,公式6-8)
2)Stage2
睡眠阶段有内部阶段相关性。阶段2主要捕捉时序信息,调整阶段1模型。LSTM能捕获序列之间依赖,选择性传递信息,BLSTM,输出同时受前后信息的影响。
样本不平衡可能导致有些阶段被忽略/错分。为了保留被忽视的阶段,采用注意力机制。注意力层可以辅助BLSTM捕捉阶段信息(如图5所示),可以加强阶段之间的联系,通过引入新训练变量来突出一些阶段。根据前面和后面的阶段来判断本阶段属于哪个类。
$h_t$是序列h中第t个阶段BLSTM的输出,W和b是序列h的权值和偏置,$I_t$是$\mu_t$的权值矩阵,$\alpha_t$是第t个阶段占的比例,$v_t$是注意力层的输出。
完整的阶段2如图6所示,数据分批输入。阶段2是多流结构,有3个数据通路。三个tensor(三个阶段1的输出)拼接,全连接层,BLSTM,注意力层。三个输出的维度相同,即特征提取、BLSTM、注意力层的提供相同数量的信息(在最后加权之前)。然后经过全连接、softmax提取信息,给出类别概率。
3. Experiment
介绍数据和训练过程。
A. 数据
用147条整晚记录来评估模型。MASS有五个子集,子集内部同质,子集之间差距较大。SS2-SS5都是健康样本,用SS2-SS5进行训练。
SS2-SS5的属性如表2,选共同部分用于训练:C3 EEG,EOG,chin1 EMG(以256Hz频率采样),通过60hz陷波滤波器和带通滤波器进行去噪。所有信号被降采样到128hz,便于后续处理减少、计算复杂度。
四个数据集的人口统计资料、五类睡眠阶段比例和总的test epoch数由表3给出。用LOSO(Leave One Subject Out )来评估模型在四个子集上的性能。训练:验证:测试=k-2:1:1,本课题独立验证更适合实际应用场景。
B. 训练过程
1)训练参数
阶段1:Adam,batchsize,lr,epochs,cross-entropy。
阶段2:两层BLSTM,Adam,batchsize,epochs,SL。同时考虑阶段的时序信息,微调阶段1参数。为了避免梯度爆炸,采用启发式梯度裁剪技术;用focal loss fuction量化真实标签和预测标签之间的一致性。FL如下:
其中$p_t$是每一类的概率,权重因子$\alpha$和集中参数$\gamma$解决样本不均衡问题、区分简单/困难例子,分别设置为0.25和2。dropout,L2正则化,这些超参数的值如表4。
用全局acc、F1-score、kappa系数,精度,recall,每一类的F1-score来评估。
2)学习策略
epoch removal:从训练集中剔除了代表睡眠阶段转换的两个变化期,使模型充分研究纯特征。
oversampling:根据最多epoch数来确定睡眠阶段,然后在训练集中重复地从小睡眠阶段中选取相同的epoch数,使得所有睡眠阶段都有相同数目的样本。所有阶段中的信息能被充分学习。
model storage scheme:每训练一轮,如果满足要求,储存当前模型。该方法可以在不存在过拟合现象的前提下,尽量少存储模型,减少训练时间和存储空间。
5. 结果
本文模型与目前的先进模型对比,探究模型各模块的效果。
A. 睡眠阶段分期表现
图7给出混淆矩阵,N1分类效果相对较差,
评估指标如表5,N1分类效果差,N1在睡眠阶段中比例相对较低,比较难分类。在SS2-SS5上总体的acc、F1-scores和kappa系数分别在0.867~0.897、0.797~0.839、0.806~0.847。kappa系数说明:分类结果和专家意见一致;acc:对于具有不同特征的四个子集,acc高且稳定;F1-score:同时兼顾精度和召回率。
图8给出了一个样本的睡眠图,分类结果和之前提到的阶段匹配规则基本一致,错分的基本上是把N1错分为其他类(与图7显示的结果一致)。
B. 与目前先进模型对比
a). 三层CNN+SGD+Adam+cross entropy
b). ReNN(探测特征)+LSTM(序列数据学习)+SGD+cross entropy
c). CNN(表示学习模块,提取时间不变特征)+BLSTM(序列残差学习模块)+oversampling+Adam++cross entropy
d). EEG features+ stacked sparse autoencoders +L-BFGS+正则化
图9给出四种方法和我们的模型混淆矩阵:
表5给出评估指标的表格:除了N1类的F1-score,其余指标都高于现有模型。结果说明:RNN适于发掘时序信息,特征提取对不同的类别贡献不同。用 Wilcoxon秩和检验探究我们的方法在acc上是否和另外四种有显著差异,表格说明我们的方法有显著提高。表6列出了反映了分类结果、时间复杂度、训练时间、测试时间的指标对比。模型越复杂,训练时间越长。
C. 模型各元素(模块)的表现
提出的结构有4个关键点:三级CNN,手工设计特征,BLSTM,注意力层;以及学习策略。从完整模型中提取5个模型:
1). 三级CNN(没有手工设计特征)
2).先提取手工设计特征,再训练网络特征,并融合
3).stage1+BLSTM,无注意力层
4).stage1+stage2,无学习策略
5). stage1+stage2(含学习策略),即完整模型
图10给出混淆矩阵结果,三级CNN是模型的基础,对分类效果有比较大的影响;模型中每个元素都能提高分类效果。
表7是各指标结果,显示完整的模型效果最好。2、3对比:学习策略的提升效果;12对比,手工设计特征的提升效果;注意力机制有效果;学习策略有用
D. 模型分析
记录融合层中的权值分布。权值为正,正面影响;权值为负,负面影响。权值绝对值越大,影响越大,全连接层中的权值绝对值可以反应传递过来的信息流。提取出特征拼接之后的全连接层的权值,初步总结两类特征的贡献。网络训得的特征信息量如下:
每个特征平均信息量T/1000.
提取了阶段2拼接之后的第一个全连接层的权值,信息总量和平均信息量如表8:
网络训得的特征总量比手工设计特征,提供更多有效信息,网络训得的特征能保存形状信息(卷积核是定长一维张量),手工特征可能会忽略形状特点(压缩了信号信息)。但是平均手工特征更大,说明它也很重要。
注意力机制的信息总量大于BLSTM的,说明注意力机制提供了额外的信息。网络习得的特征和手工设计特征是平行输入的,stage1、BLSTM、注意力机制是级联的。后面模块包含了前面模块的信息。
加入手工设计特征后,后面的全连接层的权值被提取出来。图11给出了SS4中每个手工设计特征的相对信息量,不同滑窗大小、不同时刻下特征的贡献是相似的,MSE特征不能提供足够的信息,被过滤掉了。其中,前7个能区分五个睡眠阶段的特征是:EMG信号PSD平均功率、EMG信号峰值、肌电信号中PSD的平均功率、DFA在3个阶段上的标度指数、脑电图信号中PSD的峰值功率、脑电信号的频域差值分析、EOG信号的谱熵。
网络习得的特征是随机抽取的,下标不固定,不能定量描述形态,很难总结每个特征的贡献。
5. discussion&future work
手工设计特征不能被完全丢弃,不同特征可以通过合适的网络有效结合。实际上手工设计特征也经过一系列线性/非线性操作,其实也是在加深网络,因为网络可以同时进行不同深度的训练。
N1和N2错分,它们比较类似,专家通过前后信息来判断,所以引入序列学习可以提高分类效果。可以试图发现新的验证特征、探究N1的时间信息,或者寻找N1阶段的数据扩增方法,来提高效果。
网络习得的特征比手工设计特征表现力更强。我们推测是专家主要看波形,不能发现隐藏信息。手工设计特征间接形容形态,CNN直接提取形态信息(与专家方法一致)。
深度学习在睡眠分期上有优势。从特征提取角度,CNN能提取不同的形态信息(与专家一致);BLSTM更擅长发掘睡眠阶段之间的联系;结合手工设计特征,得到更全面的特征;注意力机制加强睡眠阶段之间的联系 ;各种学习策略提高模型的泛化性。
表9给出了传统睡眠分期方法和本方法的全面比较结果,说明手工设计特征有待提高。传统方法分类效果也不错,但是样本数量都比较小。手工设计特征需要特征选择过程(避免过拟合)。深度学习方法需要大量数据,若数据量小,也可以考虑传统方法。
局限性和未来方向:深度学习框架可解释性相对较差;手工设计特征需要一些睡眠医学的知识;本文选用的是正常人数据,有睡眠疾病的人睡眠结构会更复杂、分类更难,更多关注有睡眠疾病的人患者的睡眠分期方法,检测相关睡眠疾病;数据扩增(如GAN,可以人工生成睡眠阶段使得阶段样本平衡);解码网络映射关系,探究不同的阶段哪个特征最相关(比较困难),考虑通过模型可解释性/信息追踪来解决这个问题。
6. Conclusion
本文利用EEG、EOG、EMG信号,基于综合特征学习和多流序列学习构造了层次神经网络来解决睡眠分期问题。第一阶段,用三级CNN提取特征,将其与手工设计特征融合;第二阶段用BLSTM和注意力机制进行分类。在四个数据集上进行实验,评估模型,acc达到0.878,F1-score达到0.818,优于目前的先进模型。分析了五个不同模块组合的模型,验证各部分的效果,说明所提出的模型是有效的,有全面地发掘睡眠信息的潜力。