APP下载

基于CNN-LSTM网络的睡眠分期研究

2017-09-22张秀丽

网络安全与数据管理 2017年17期
关键词:短时记忆卷积准确率

张秀丽,夏 斌

(上海海事大学, 上海 201306)

基于CNN-LSTM网络的睡眠分期研究

张秀丽,夏 斌

(上海海事大学, 上海 201306)

睡眠分期是睡眠数据分析的基础,用自动标定方法来替代人工标定方法可以提高效率,结果也更为客观。不管是人工手动标定还是自动标定都是基于多导睡眠图(Polysomnography,PSG)。采用长短时记忆模型(LSTM-RNN)及长短时记忆模型与卷积神经网络(CNN)相结合的模型(CNN-LSTM)对三个通道信号(EEG、EOG、EMG)的组合进行自动睡眠分期研究。通过对9个受试数据进行分析,LSTM-RNN和CNN-LSTM分别达到了81.9%和83.1%的分类准确率。相对于LSTM-RNN模型,结合卷积神经网络的CNN-LSTM模型获得的分期准确率更高,平均准确率提高了1.2%。

长短时记忆模型;卷积神经网络; 睡眠自动分期

0 引言

睡眠作为生命中所必需的过程,是机体复原、整合和巩固记忆的重要环节,是健康不可或缺的组成部分。对睡眠进行合理的分期,是研究睡眠质量、诊断睡眠疾病的基础。根据Rechtchaffen和Kales在1968年提出的R&K睡眠分期规则,睡眠过程可分为觉醒期(Awake)、非快速眼动睡眠期(NREM)和快速眼动睡眠期(REM)[1],非快速眼动包括四个阶段:S1~S4。由于S3和S4有非常相似的特点, 美国睡眠医学学会(American Academy of Sleep Medicine)将其组合成深度睡眠(慢波睡眠)阶段。

早期的睡眠分期是人工标定方法即手动睡眠分期,但是手动分期不仅过程复杂、繁琐而且需要特定的专家。随着模式识别技术的发展和国内外专家对睡眠分期的不断研究,他们提出了自动分期方法,将睡眠分期与模式识别技术相结合,睡眠自动分期方法弥补了人工标定方法繁琐耗时等不足。睡眠自动分期方法主要有两大类:(1)浅层学习:在1992年Roberts[2]等人将人工神经网络首次应用到睡眠分期研究领域,为睡眠分期开启了新篇章。20世纪90年代,支持向量机[3](Support Vector Machine,SVM)、Boosting[4]、最大熵方法[5](如Logistics Regression, LR)等浅层学习算法相继被提出。(2)深度学习:深度学习的概念起源于人工神经网络,含有多层感知器,具有优异的特征学习能力,可以通过低层特征形成更抽象更本质的高层特征,在训练过程中通过无监督学习逐层初始化解决了人工神经网络训练难的问题。如深度置信网络[6](Deep Belief Network,DBN)。值得注意的是,睡眠数据作为时序信号,睡眠分期为了达到更佳的效果要考虑到信号前后信息之间的时序相关性,而LSTM-RNN可以更好地挖掘睡眠序列时间信息,所以本文中采用LSTM-RNN。近些年CNN也广泛地被应用于语音识别和语音处理等领域。在2011年Cecotti[7]等人将CNN应用于基于脑电信号的P300研究中,而且也有将CNN与LSTM结合处理时序性序列的案例,如将CNN-LSTM应用于电影的分类,最终得到的准确率达到84.98%。基于以上的研究成果,本文采用CNN与LSTM相结合的方式来对多通道的睡眠数据进行分期研究,CNN的局部感知特性不仅可加快运算速度,而且可以提高运算精度,本文将CNN-LSTM的结果与LSTM-RNN的结果做对比,验证CNN的这一特性是否对分类结果有改善。

1 方法概述

1.1长短时记忆递归神经网络(LSTM-RNN)

长短时记忆递归神经网络(Long Short-Term Memory Recurrent Neural Network,LSTM-RNN)是递归神经网络(Recurrent Neural Network, RNN)的改进模型,在1997年为了解决梯度消失的问题,Hochreiter和Schmidhuber提出了长短时记忆模型(LSTM)[8]。长短时记忆法模型(LSTM)类似于标准的含有递归隐藏层的网络,仅有的变化是使用记忆模块代替原有的隐藏层单元,通过记忆细胞内部状态的自反馈和输入输出对误差的截断,解决梯度消失和激增的问题。但是传统的LSTM虽然可以利用远距离的信息,但是如果一个序列长度过长,细胞内部状态Sc会无限制增长,致使输出函数h会达到饱和,饱和会使h的导数消失,因此会导致细胞失去记忆功能。在2000年Gers和Schmidhuber提出了遗忘门[9],遗忘门类似于输入输出门,可以学习是否保留隐层节点存储的历史信息。如果是1则保留,是0则清空。此外,他们还提出了窥孔连接[10]。改进后的LSTM记忆模块如图1所示。

图1 包含遗忘门的记忆模块

在本文中,采用的就是这种包含遗忘门的记忆模块,为了更好地联系序列前后的关系,采用双层LSTM网络结构,结构图如图2所示。

图2 LSTM网络结构图

图中TimeDistributedDense层是一个基于时间维度的全连接层,主要用来构建RNN,输入数据的格式为:(nb_sample,time_steps,input_dim),其中nb_sample表示每次训练的样本数,因为本文中每次一个序列用于训练,每次nb_sample均为1。time_steps表示当前输入序列的长度,input_dim为输入的特征维度。输出为(nb_sample,time_steps,output_dim),其中output_dim为输出的特征维度。第一层的单元数为500;结构中共有两层LSTM层,第一层LSTM的单元个数为200,第二层LSTM的单元个数为100。最后一层的TimeDistributedDense为输出层,单元个数为6,这是因为本文做的是六分类。

1.2卷积神经网络(CNN)

卷积神经网络(CNN)是误差反向传播网络(BP)的改进。在1962年Hubel和Wiesel[11]发现猫脑皮层中含有一种独特的网络结构,这种结构可以非常有效地降低传统的BP神经网络计算的复杂性,继而提出了CNN这一概念。

卷积神经网络的核心思想是:局部感知、权值共享以及下采样这三种思想结合起来,获得了某种程度的位移、尺度、形变不变性,提高了运算速度和精度。局部区域感知,使隐藏单元与输入单元的部分相连接而不是全连接,减少了全连接时权重计算复杂的问题。权值共享,不同的图像或者同一张图像共用一个卷积核,减少重复的卷积核。下采样是指对卷积之后的特征进行采样,如果每个图像的卷积向量的维数过高,特征输入过大,分类器会出现过拟合,这就需要对图像进行池化。池化可以降低特征维度,不容易过拟合,而且可以减小图像的规模,提升计算速率。

1.3 CNN-LSTM网络结构

CNN-LSTM是将LSTM-RNN中的第一层LSTM替换成CNN,CNN和LSTM结合在一起对睡眠数据进行特征提取,先通过CNN获取特征,再将CNN的输出按时间顺序通过LSTM,LSTM将底层CNN的输出链接起来作为下一时刻的输入。CNN-LSTM的网络结构如图3所示。

采用留一验证的方法,在训练时,将9个受试的睡眠时间序列依次加入到网络结构中,每次留一个序列作为测试集,其余8个序列作为训练集,依次输入8个序列,进行8次训练。CNN-LSTM输入数据的格式为(nb_sample,time_steps,input_dim),nb_sample表示每次训练的样本数,因为每次只有一个序列用于训练,所以每次nb_sample均为1。time_steps表示当前输入序列的长度,每个序列含有不同数目的时间步长,具体如表1所示。input_dim为输入的特征维度。第一层TimeDistributedDense的单元数为500;第二层CNN层的隐层单元个数为200,卷积核的维度为1,池化的维度为1;第三层LSTM的单元个数为100。最后一层的TimeDistributedDense为输出层,单元个数为6。

表1 9个受试睡眠序列的长度

2 实验数据

本文用到的实验数据是由德国图宾根大学在2014年采集的。数据集来自9个健康受试、平均年龄在23.50±3.76之间的成年人,其中包含3名女性和6名男性。所有受试都无吸烟、酗酒等不良嗜好。受试保持规律的作息时间,并且要求在实验当天和试验前3天禁止喝咖啡和含有酒精等刺激性饮料。

本文中使用的数据集包括9个PSG。使用的数据包含一导EEG、一导EOG和一导EMG,信号的采样率均为500 Hz。所有受试者的时序图均由专家基于R&K准则进行人工标定,对每30 s采集的数据进行标注,0~5分别代表AWAKE、S1、S2、S3、S4、REM睡眠时期。由于本文做的是6类分期,所以只保留此6个睡眠状态的数据,最后得到8 810个30 s的数据。数据需要做预处理:(1)将数据进行快速傅里叶变换;(2)进行滤波,对于EEG和EOG信号取0.5~35 Hz之间的频域数据,EMG信号取35~100 Hz频域之间的数据;(3)将数据进行归一化。6类睡眠时期比例如表2。

表2 6类睡眠时期比例表

3 试验方法

实验中使用两种策略来实现睡眠自动分期,即LSTM-RNN和CNN-LSTM。在本文所采用的CNN-LSTM结构如图3,第一层TimeDistributedDense是一个全连接层,单元数为500;第二层CNN层的隐藏单元个数为200,卷积核的维度为1,池化的维度为1;第三层LSTM隐藏层单元数为100,batchsize=1;第四层TimeDistributedDense是一个全连接层的输出,单元数为6。学习率设定为0.001,迭代次数为20。

有一系列的研究工作只是把EEG信号作为睡眠分期研究对象,并且指出EEG中包含有各个睡眠状态的信息。为了提高准确率,通常会加入其他电生理信号,包括EMG和EOG信号。本文采用的是三通道(EEG、EOG、EMG)的数据组合,因为这3个数据的维度分别为2 070、5 055、6 090,在将数据进入到网络模型之前要对数据进行PCA降维得到低维的数据。输入数据是经过转换的频域数据,频域范围分别为0.5~35 Hz和35~100 Hz。为了验证该方法的分类性能,采用留一验证方法,将两种策略得到的结果进行对比。

4 实验结果

9个受试的分类准确率如图4所示。其中,LSTM的平均分类准确率为81.9%,CNN-LSTM的平均分类准确率为83.1%,显示CNN-LSTM在所有数据中优于LSTM,平均准确率提高了1.2%。由表3可知,在子类分类准确率上,两种网络结构均在AWAKE、S2、S4和REM这四类获得了较高的分类准确率。除了S4和REM,CNN-LSTM网络的准确率都优于LSTM网络结构的准确率。

图4 9个受试的分类准确率柱状图

算法模型子类准确率/%AWAKES1S2S3S4REMLSTM-RNN53.9530.8887.7738.8990.9192.75CNN-LSTM60.5554.5493.4945.4989.0990.29DBN36.032.0387.3521.7073.8172.12

本文研究了基于三个通道的长短时记忆模型(LSTM-RNN)和CNN-LSTM模型的睡眠自动分期。与文献[13-15]中DBN、SVM算法的结果相比较,结果显示,LSTM-RNN和CNN-LSTM方法实现了较高准确率的睡眠分期,并且实现了6分类。使用三个通道信号进行睡眠分期研究,CNN-LSTM和LSTM-RNN得到的结果显示,准确率虽然近似,但是CNN-LSTM的平均准确率相对较高,子类的结果显示,两种网络结构均在AWAKE、S2、S4和REM这四类获得了较高的准确率,S1和S3的准确率较低。其中各子类的准确率只有S4和REM的CNN-LSTM准确率低于LSTM-RNN的准确率,这说明不同睡眠时期的生理电信号之间存在相似性,导致了睡眠分期存在不确定性。

其中,在子类分类准确率上,多通道信号中为了去除冗余信息采用PCA进行降维,会导致信息的丢失,所以子类分类准确率没有太大的提高。其中子类准确率的高低受到子类在总数据所占比例的影响,占据的比例越高,所获得的分类准确率相对越高,反之越低。

5 结论

本文采用CNN-LSTM和LSTM-RNN方法进行了多通道的整体睡眠分期对比研究,分别获得了83.1%和81.9%的准确率,CNN-LSTM的平均分期效果优于LSTM-RNN。

[1] RECHTSCHAFFEN A,KALES A. A manual of standardized terminology,techniques and scoring system for sleep stages of human subjects[M].Los Angeles:Brain Information Service/Brain Research Institute,1977.

[2] ROBERTS S,TARASSENKO L. New method of automated sleep quantification[J]. Medical and Biological Engeering and Computing,1992,30(5):509-517.

[3] KHALIGHI S, SOUSA T, OLIVEIRA D, et al. Efficient feature selection for sleep staging based on maximal overlap discrete wavelet transform and SVM[C]. Engineering in Medicine and Biology Society, EMBC, 2011 Annual International Conference of the IEEE. IEEE,2011:3306-3309.

[4] MASON L, BAXTER J, BARTLETT P, et al. Boosting algorithms as gradient descent[J]. Advances in Neural Information Processing Systems, 2000,12(10):512-518.

[5] LIU F, JENSSEN T K, NYGAARD V, et al. FigSearch: using maximum entropy classifier to categorize biological figures[C]. IEEE Computational Systems Bioinformatics Conference,2004:476-477.

[6] WULSIN D, BLANCO J, MAIN R, et al. Semi_supervised anomaly detection for EEG waveforms using deep belief nets[C]. Machine Learning and Applications (ICMLA),2010 Ninth International Conference on. IEEE,2010:436-441.

[7] CECOTTI H,GRASER A. Convolutional neural networks for P300 detection with application to brain-computer interfaces[J].IEEE Transactions on Pattern Analysis and Machine Intelligence,2011,33(3):433-445.

[8] HOCHREITER S,SCHMIDHUBER J.Long short-term memory[J]. Neural Computation, 1997, 9(8): 1735-1780.

[9] GERS F A, SCHMIDHUBER J, CUMMINS F. Learning to forget: continual prediction with LSTM[J]. Neural Computation, 2014, 12(10): 2451-2471.

[10] GERS F A, SCHMIDHUBER J. Recurrent nets that time and count[C]. Proceedings of the IEEE-INNSENNS International Joint Conference on Neural Network, 2000: 189-194.

[11] GRAVE A, SCHMIDHUBER J. Framewise phoneme classiffication with bidirectional LSTM and other neural network architectures[J]. Neural Networks, 2005,18(5-6): 602.

[12] TAGLUK M E, SEZGIN N, AKIN M. Estimation of sleep stages by an artificial neural network employing EEG,EMG and EOG[J].Journal of Medical System, 2010,34(4): 717-725.

[13] 李倩云.基于深度学习的睡眠分期研究[D]. 上海:上海海事大学,2015.

[14] 李倩云.基于电生理信号的睡眠模式自动分类方法研究[D]. 上海:上海海事大学,2014.

[15] 阿伯德.基于支持向量机的睡眠自动分期研究[D]. 南京:东南大学,2013.

Sleep classification based on CNN-LSTM network

Zhang Xiuli, Xia Bin

(Shanghai Maritime University, Shanghai 201306, China)

Sleep classification is the basic step of sleep data analysis.The automatic classification method can improve the efficiency and obtain more objective result compared with manual calssification method.Automatic or manual classification of sleep stage are based on the Polysomnography (PSG) .In this paper,we employed the long short-term memory recurrent neural network (LSTM-RNN) and the long and short memory model combined with convolution neural network (LSTM-CNN) to perform automatic sleep classification with multichannel sleep data(EEG, EOG and EMG). In 9 subject’s sleep data, the classification accuracy were 81.9% and 83.1% by using LSTM-RNN and LSTM_CNN respectively. The CNN-LSTM method increased 1.2% accuracy than LSTM-RNN.

LSTM-RNN; CNN; automatic sleep classification

TP391.9

:A

10.19358/j.issn.1674- 7720.2017.17.026

张秀丽,夏斌.基于CNN-LSTM网络的睡眠分期研究[J].微型机与应用,2017,36(17):88-91.

2017-04-14)

张秀丽(1991-),通信作者,女,硕士研究生,主要研究方向:电子与通信工程。E-mail:1286809038@qq.com。夏斌(1975-),男,博士,副教授,硕士生导师,主要研究方向:脑-机接口、云计算及人工智能。

猜你喜欢

短时记忆卷积准确率
基于非稳态调和分析和长短时记忆神经网络的河口潮位短期预报混合模型
基于长短时记忆神经网络的动力电池剩余容量预测方法
基于3D-Winograd的快速卷积算法设计及FPGA实现
乳腺超声检查诊断乳腺肿瘤的特异度及准确率分析
不同序列磁共振成像诊断脊柱损伤的临床准确率比较探讨
2015—2017 年宁夏各天气预报参考产品质量检验分析
卷积神经网络的分析与设计
从滤波器理解卷积
高速公路车牌识别标识站准确率验证法
基于傅里叶域卷积表示的目标跟踪算法