system: [SYSTEM]

user: 3. LSTM睡眠分期算法 3.1. 睡眠分期 人的睡眠一般可以划分为几个相对稳定的阶段，为方便清楚地表示睡眠的这一过程，Rechtschaffen等以EEG、眼电图(Electro-oculogram， EOG)、肌电图(Electromyogram， EMG)为依据，把睡眠划分为6个时期，这种分期方法被称为R&K准则，这6个时期分别是：清醒期(Wake， W)、快速眼动睡眠期(Rapid Eye Movement， REM)和非快速眼动睡眠期(Non-Rapid Eye Movement， NREM) [ 5 ] 。其中NREM，被划分为1期(Stage 1， S1)、2期(Stage 2， S2)、3期(Stage 3， S3)以及4期(Stage 4， S4)。后来，人们逐渐发现这种分期标准存在着不便之处，容易导致判断错误，因此又对睡眠分期标准进行修改。目前，世界使用的分期标准一般采用AASM的睡眠分期准则，其将睡眠分为W、NREM1 (N1)期、NREM2 (N2)期、NREM3 (N3)期和REM期5个不同的时期，其中NREM3为原来的NREM中S3与S4合并得到 [ 6 ] 。睡眠分期准则结构图如图2所示。 图2. 睡眠分期准则结构图 人体在睡眠过程中的状态是交叉处于NREM期和REM期的，这种循环称为NREM-REM循环，大约形成4~6次循环，每次维持的时间为90~120 min左右。人体正常的睡眠，各个时期的产生都是有规律的，即从W-N1-N2-N3-N4-REM，接着再循环N2-N3-N2-REM，如图3所示。在其整个夜晚睡眠中，REM期占20%~25%；NREM期占75%~80%。在NREM睡眠中，NREM1期占整个睡眠时间的5%~10%，第二阶段占50%，第三阶段与第四阶段共占25%，其中第三阶段约占12%，第四阶段约占13%。 图3. 睡眠周期循环示意图 3.2. 睡眠脑电特征 睡眠专家主要根据单个通道EEG信号对睡眠分期进行分析。EEG信号由不同的节律波组成，各种节律波在人体睡眠过程中呈现出一定的规律变化，随着人体进入不同的睡眠阶段而出现不同的特点 [ 7 ] 。如表1所示。因此不同睡眠状态下EEG信号中各种节律波的变化可以帮助我们更好的标注睡眠阶段。 Table 1 Correspondence between sleep stage and rhythm wav 睡眠阶段 节律波成分 W 主要以α波(8~12 Hz)为主，每一帧EEG信号比例超过50%以上；β波(14~35 Hz) N1 α波所占比例小于50%，并逐渐下降；θ波(4~8 Hz)的比例逐渐增加 N2 出现一个或多个spindle波(12~14 Hz)，k复合波(0.5~2 Hz)；EEG信号振幅增加 N3 以δ波(0.5~4 Hz)为主，所占的比例慢慢上升最后50%，以慢波活动为主，人进入深睡期 REM 以α波和β波为主，夹杂着部分θ波，还会出现锯齿波(2~6 Hz) 表1. 睡眠阶段与节律波的对应关系 3.3. LSTM神经网络 人体的睡眠是一个时间连续的过程，睡眠阶段在整晚的时间上是循环的，故睡眠过程产生的生理数 图4. 基于LSTM神经网络的睡眠阶段分析模型 据是一个时间序列信号，且这些生理信号在睡眠阶段循环过程中是具有相关性的。LSTM (Long Short-Term Memory)长短期记忆网络是一种由LSTM单元构成的RNN，它是为了克服RNN无法很好处理远距离依赖而提出的 [ 8 ] 。它的优点是能处理和预测时间序列中间隔和延迟相对较长的重要事件，故很适合用于进行睡眠阶段分析。而且睡眠专家在进行睡眠分期的过程中对输入的睡眠数据序列进行标注时，需要长期的依赖信息以及睡眠分期准则，这与有监督LSTM神经网络的工作方式很类似。综上，我们选择使用LSTM神经网络来对睡眠的不同阶段进行分析。 本节给出基于LSTM神经网络的睡眠阶段自动分析模型，该模型由EEG数据处理模块与LSTM神经网络模型两个部分组成，如图4所示。其中EEG数据处理模块负责对原始EEG数据进行处理，将其转换为适合LSTM神经网络模型的矩阵数据，LSTM神经网络模型对输入的EEG数据进行分析得出睡眠分期结果。 本文中的LSTM神经网络模型由数据输入层、包含神经单元的记忆单元层以及分类器构成。输入层在每一个时刻 输入经过处理的EEG数据矩阵，矩阵包括100个EEG信号特征数据点，在180个时刻内将18，000个EEG信号特征数据点全部输入到记忆单元层。LSTM记忆单元层由两层LSTM网络构成，每层LSTM网络由180个记忆单元组成。分类器由全连接层与输出层组成，全连接层将记忆单元输出的128个权重向量转换成5个概率分布向量，通过输出层输出最终的分类结果。 3.4. 数据处理 3.4.1. 数据集 本文中使用2018年PhysioNet心脏病学计算挑战赛(You Snooze， You Win: the Physio-Net/Computing in Cardiology Challenge 2018)的数据集，它是由马萨诸塞州总医院计算临床神经生理学实验室(Computational Clinical Neurophysiology Laboratory， CCNL)和临床数据动画实验室(the Clinical Data Animation Laboratory， CDAC)提供的，可以公开使用的数据集(https://www.physionet.org/physiobank/database/ challenge/2018/#files)。该数据集包含1985个样本，包括以200 Hz进行采样的脑电信号(EEG)等6种生理信号。每个样本的睡眠阶段由MGH的临床工作人员进行标注，分为6个阶段：W，N1，N2，N3，REM和未定义阶段(Undefined)。本文选用上述数据集的训练集中的500个睡眠个体的F4-M1脑电信号作为样本，其中前400个样本作为LSTM深度神经网络的训练集，后100个作为测试集。数据集不同睡眠阶段占比情况如表2所示。 Table 2 The proportion of different sleep stages in the datase 睡眠阶段 数据集(n = 500) W 28% N1 19.6% N2 51% N3 14% REM 15.5% 表2. 数据集不同睡眠阶段占比情况 3.4.2. 数据预处理 本文按照AASM的修正准则，将原数据集中六个睡眠阶段的Undefined阶段并入NREM3，调整为五个睡眠阶段。同时我们对单通道EEG信号数据进行重采样到100 Hz，每30秒数据(包含3000个采样点数据)分为一个片段(Epoch)。然后对3000个EEG数据采样点数据进行快速傅里叶变换(Fast Fourier Transform， FFT)，将信号从时域转换到频域，截取6种EEG节律波对应频率，这6种节律波分别为α波，β波，θ波，spindle波，k复合波以及δ波 [ 9 ] 。6种节律波对应的频率经过快速傅里叶逆变换(Inverse Fast Fourier Transform， IFFT)之后进行数据重构，产生18，000个EEG数据采样点序列，即6 × 3000个，其中每一种节律波都有3000个采样数据。在输入LSTM神经网络之前，需要将数据序列转换成矩阵形式，如公式(1)所示，此矩阵包含180行，100列。通过LSTM神经网络模型的输入层，在 t 0 时刻向LSTM神经网络输入EEG信号特征序列 [ a 1 ， 1 ⋯ a 1 ， 100 ] ，然后依次在 t i 时刻输入对应的EEG信号特征序列 [ a i + 1 ， 1 ⋯ a i + 1 ， 100 ] ，直至将18，000个信号特征数据全部输入到LSTM神经网络之中。 A = [ a 1 ， 1 ⋯ a 1 ， 100 ⋮ ⋱ ⋮ a 180 ， 1 ⋯ a 180 ， 100 ] (1)