基于自适应多任务学习的睡眠生理时序分类方法
2024-03-21宋钰丹王雪徽马朝阳林友芳
宋钰丹,王 晶,3*,王雪徽,马朝阳,林友芳,3
(1.北京交通大学 计算机与信息技术学院,北京 100044;2.北京交通大学 交通数据分析与挖掘北京市重点实验室,北京 100044;3.民航旅客服务智能化应用技术重点实验室,北京 101318)
0 引言
睡眠对人体健康至关重要,高质量的睡眠可以补充人体能量,增强机体免疫力,帮助人体保持健康的生理和心理状态。即使睡眠模式的短暂改变,如急性睡眠剥夺,也可能损害人类的判断和认知能力[1],而长期的睡眠异常与疾病的发展密切相关,因此,睡眠质量的研究对生物医学实践有重要意义。睡眠医师通常利用多导睡眠图(PolySomonGraphy,PSG)评估睡眠质量,其中包括脑电图(ElectroEncephaloGram,EEG)、眼电图、肌电图和心电图(ElectroCardioGram,ECG)等。PSG 包含丰富的生理信号,但要求受试者在睡眠实验室中佩戴多种仪器监测,限制了它的应用场景。本文考虑基于单导EEG和单导ECG的睡眠质量评估,设置只需少量电极片,不会给受试者带来强烈不适,并且可以快速部署到可穿戴设备等家庭医疗和移动医疗场景中。
睡眠分期与睡眠呼吸暂停低通气综合征(Sleep Apnea Hypopnea Syndrome,SAHS)检测是全面评估睡眠质量的重要任务。睡眠分期是指睡眠医师利用PSG 中的生理信号,根据睡眠分期标准,如R&K(Rechtschaffen 和Kales)标准[2]和美国睡眠医学会(American Academy of Sleep Medicine,AASM)标准[3],对睡眠阶段进行分类。EEG 会随睡眠阶段的变化而变化,常被用于睡眠分期。正常的人类睡眠包含快速眼动(Rapid Eye Movement,REM)睡眠和非快速眼动(Non-REM,NREM)睡眠,这两种状态循环交替。具体地,根据R&K 标准,非快速眼动阶段可以按照睡眠的程度由浅到深进一步分为N1、N2、N3 和N4,在AASM 标准中则把N3 与N4 合并为N3。睡眠专家根据不同阶段的占比和循环过程评估受试者的睡眠状况。睡眠呼吸暂停低通气指睡眠期间持续10 s 及以上的呼吸暂停或低通气,并伴有血氧饱和度降低或觉醒。ECG 中包含了呼吸节律,常用于SAHS 检测。临床上,SAHS可分为阻塞性、中枢性和混合性,通过每小时呼吸暂停和低通气次数,即呼吸暂停低通气指数(Apnea-Hypopnea Index,AHI)来定量评估该综合征的严重程度。SAHS 是最常见的睡眠呼吸障碍,在人群中发病率较高但不易察觉,可引起觉醒、重复呼吸短促和睡眠片段化,严重影响睡眠质量[4]。长期的睡眠呼吸暂停低通气可能导致心血管疾病和神经系统疾病,增加患高血压的风险,因此,研究睡眠分期和SAHS 检测对全面评估、改善睡眠质量具有重要意义。
目前已经有很多自动睡眠分期算法和SAHS 检测算法,但未考虑二者之间的相互作用关系。实际上,睡眠阶段和呼吸暂停低通气是相关的。从临床医学来看,SAHS 是一种睡眠障碍,它会导致睡眠阶段频繁变化,扰乱正常的睡眠周期。图1 显示了健康受试者和重度SAHS 患者的睡眠时相图,其中:WAKE 表示清醒,REM 表示快速眼动睡眠期,N1~N3 分别表示非快速眼动阶段中的不同时期。与健康受试者相比,患者频繁醒来,深度睡眠较少。在睡眠分期与睡眠呼吸暂停低通气的人工判读过程中,睡眠医师需参考另外一个任务的标签确定本任务的标签。此外,通过对数据集的统计分析,发现不同睡眠时期发生呼吸暂停低通气的频率不同。睡眠阶段的变化会影响阻塞性睡眠呼吸暂停的易感性[5]。具体地,胆碱能介导的舌下神经抑制导致颏舌肌张力降低,REM 期内上气道塌陷的趋势增加[6],因此许多患者的阻塞性睡眠呼吸暂停在REM 期会趋于恶化。在SAHS 患者中,REM 期的呼吸暂停比NREM 期持续时间更长。在阻塞性睡眠呼吸暂停患者中,REM 期每小时血氧饱和度下降的频率比NREM 期高,血氧饱和度水平也更低;相反,如果患者进入慢波睡眠,通常会保持一段较长时间的稳定呼吸[7]。总之,睡眠分期和睡眠呼吸暂停低通气相互作用,但尚未利用该相关性提升睡眠生理任务的性能。
图1 不同受试者的睡眠时相图Fig.1 Hypnograms of different subjects
因此,本文设计多任务学习(Multi-Task Learning,MTL)框架建模睡眠阶段和睡眠呼吸暂停低通气之间的相关性。具体地:1)提出一种MTL 框架,用于睡眠分期和SAHS 检测,对睡眠质量的全面评估具有重要意义;2)设计自适应任务间关联性学习模块,捕获任务间的相互作用关系,构造双流时间依赖学习模块,从EEG 和ECG 中提取共享特征,建模时间依赖性;3)在两个公开数据集上进行实验,实验结果表明,与基准方法相比,所提方法可以同时完成这两项任务,在睡眠分期方面,性能与基准方法相当,在SAHS 检测方面,能检测出更多的患病片段。
1 相关工作
自动睡眠分期、SAHS 检测算法以及高效的MTL 方法是与本文工作相关的3 个研究领域。
1.1 自动睡眠分期
睡眠医师通过识别EEG 等生理信号中的一些典型波确定睡眠阶段。然而,这一过程繁琐耗时,且评分结果取决于专家的专业知识。在早期的研究中,从生理信号中手动提取特征,再利用支持向量机(Support Vector Machine,SVM)和随机森林等分类器分类睡眠阶段。文献[8]中基于单通道脑电信号,利用小波变换算法提取节律波的能量作为第一部分特征,利用多尺度熵算法选取第二部分特征,随后输入分类器实现睡眠阶段识别。但传统方法中的数据处理、特征设计和特征选择依赖专家的先验知识,耗费大量时间。近年来,深度学习技术迅猛发展,并在多个领域取得了较好的效果。深度学习方法从输入数据中自动提取特征并分类,是一种端到端的学习方法。文献[9]中利用卷积神经网络(Convolution Neural Network,CNN)提取单通道EEG 中的时不变特征,通过双向长短期记忆(Bi-directional Long Short-Term Memory,BiLSTM)网络学习睡眠阶段之间的过渡规则。文献[10]中针对现阶段可用睡眠脑电数据皆为类不平衡小数据集,深度学习模型的直接应用进行分期效果较差的问题,分别从数据集重构和模型训练优化两方面入手,提出可用于少量类不均衡原始睡眠脑电数据集的深度自动睡眠分期模型。GraphSleepNet[11]是一种用于睡眠分期的深度图神经网络,它的主要优点是能自适应学习不同脑电通道之间的内在联系。此外,Eldele 等[12]设计多分辨率CNN 和自适应特征重新校准提取单导EEG 中的特征,并使用时间上下文编码器捕获所提特征之间的时间相关性,进而对样本进行分类。这些深度学习模型从多通道或单通道EEG 中提取特征并进行分类,多通道EEG 包含更多的信息,但过多的电极片会给受试者带来强烈的不适。相反,单通道EEG 的采集不会对受试者的睡眠产生很大影响,更适用于家庭监测和移动医疗场景。本文沿用深度学习方法,基于单导EEG 对睡眠阶段进行分类。
1.2 睡眠呼吸暂停低通气检测
PSG 是诊断SAHS 的金标准。根据PSG 中的ECG、血氧饱和度、口鼻气流和胸腹呼吸等信号,专家可以判断受试者是否有呼吸暂停或低通气的发生。由于PSG 不易获取,人工判读的复杂性较高,许多研究基于单导ECG 进行SAHS 检测。大多数研究对ECG 波形、ECG 衍生的心率变异性(Heart Rate Variability,HRV)和ECG 衍生呼吸(ECG-Derived Respiratory,EDR)进行分析。Almazaydeh 等[13]提取了RR 间期(RR Interval,RRI)的特征并进行组合,使用SVM 分类器检测呼吸暂停。与睡眠分期类似,越来越多的研究人员通过神经网络自动提取特征。Wang 等[14]提出了一种改进的LeNet-5 卷积神经网络检测SAHS。这些方法需要对数据进行预处理,例如从ECG 中提取R 波进而获得RRI。Sharan等[15]将原始ECG 输入残差网络检测睡眠呼吸暂停,直接从原始信号学习时间特征,避免了数据预处理和特征工程造成的信息损失。
通常,EEG 用于睡眠分期,ECG 则在SAHS 检测中起主要作用。然而,人体是一个整体,生理状态的变化可以反映在多种生理信号中。ECG 可以提供与睡眠相关的生理信息[16],揭示睡眠结构,部分研究已经使用ECG 信号进行睡眠分期。同理,当睡眠呼吸暂停发作时,EEG 会移动到δ 频带以上[17],当呼吸暂停结束时,EEG 也会出现突然的频率偏移,即EEG 和ECG 都可用于睡眠分期和SAHS 检测。
1.3 多任务学习
现有研究分别执行睡眠分期和SAHS 检测,未考虑它们之间的相关性,实际上这两项任务相关。因此,本文利用MTL 建模睡眠阶段和睡眠呼吸暂停低通气之间的复杂相互作用关系,同时完成这两项任务,利用相关性提升分类性能。
Caruana[18]总结了MTL 的定义和优势:MTL 是一种归纳迁移的方法,并行学习多个任务,为解决一个任务学到的知识,也可用于解决框架内的另一个任务。通过并行学习多个任务,学习相关任务间的共享表示,能够利用相关任务的训练信号中包含的关于域的额外信息,并使模型能够在原始任务上更好地泛化。
在MTL 中,确定网络结构是由多个任务共享还是特定于单个任务、如何优化多个任务的损失函数是两个关键问题。近期关于MTL 在深度学习中的研究集中在两个方面:网络结构设计和损失函数优化策略。在网络结构设计方面,Misra 等[19]提出了十字绣单元,它可以自动学习共享表示和特定任务表示的最佳线性组合。常用的MTL 模型的性能通常对任务之间的关系敏感,因此Ma 等[20]提出了一种新的MTL 方法,即多门混合专家,该方法显式地从数据中建模任务关系。在优化策略方面,Kendall 等[21]利用每个任务的同方差不确定性对多个任务的损失函数进行加权,允许网络同时学习具有不同数量级损失函数的多个任务。
近期,MTL 已初步应用于各种生物医学任务中。在预测情绪、压力和健康方面,Taylor 等[22]使用MTL 技术训练个性化机器学习模型,并解释了个体差异。Pang 等[23]利用深度多任务循环神经网络,将抑郁症分类主任务与一类度量学习和异常排序两个辅助任务联合优化。Bendjoudi 等[24]提出了一种基于上下文的多标签多任务情感识别的深度学习架构,并设计了一个新的多标签焦点损失函数。
总之,已有方法分别执行睡眠分期或SAHS 检测,未将MTL 方法应用在睡眠生理任务中,探索任务间的相关性提升性能。本文设计MTL 框架,建模睡眠分期与睡眠呼吸暂停低通气之间的相互作用关系,并利用相关性提升分类性能。
2 本文方法
本文方法的总体架构如图2 所示,包含3 个主要模块:1)双流时间依赖学习模块;2)自适应任务间关联性学习模块;3)分类。首先,利用两流CNN 并行提取共享EEG 与ECG特征,将它们融合获得多模态共享特征;其次,利用全连接(Fully Connected,FC)层和激活函数实现两个分类器分支,进而实现睡眠分期和SAHS 检测。在得到睡眠分期的预测结果后,利用自适应任务间关联性学习模块建模两者之间的相互作用关系,辅助SAHS 检测。
图2 本文方法总体架构Fig.2 Overall framework of proposed method
2.1 双流时间依赖学习模块
双流时间依赖学习模块是所提方法的第一个关键部分。在睡眠分期和SAHS 检测两个任务的联合监督下,该模块分别从EEG 和ECG 提取共享特征,学习时间依赖性,用于后续分类。特征提取模块的具体结构如图3 所示,输入信号是单通道EEG 或ECG,相邻epoch 的信息可以帮助网络更好地建模睡眠评分规则,检测到更多的呼吸暂停事件,所以输入信号还包含当前样本前后的各两个epoch,学习生理信号中的时间依赖性。该结构由7 层一维CNN 和残差连接组成,提取脑电与心电信号中的波形特征。前6 层中的每一层都包含卷积层、批归一化(Batch Normalization,BN)层、ReLU 激活函数和最大池化层,逐层降维。为了降低过拟合风险,每两个卷积层后都加入了概率为0.5 的dropout 层。第7 层的卷积核大小为1、通道数为5,将输入特征从32 通道降到5 通道。为了提高网络的表示能力,在第2 层和第6 层之间添加残差连接,利用卷积池化等操作将输入特征的尺寸与第6 层输出的特征尺寸进行匹配,以进行相加,最终得到每个30 s EEG epoch 对应的5 通道特征。对于输入的多个epoch,先逐个epoch 提取特征,再进行拼接聚合,以获得整体特征。假设有5 个30 s 的EEG epoch {si-2,si-1,si,si+1,si+2},用脑电特征提取模块提取第i个epoch 的特征fi,整体特征为,该过程如式(1)与式(2)所示:
图3 时间依赖学习模块Fig.3 Time-dependency learning module
脑电与心电都是电极片测得的人体体表的电信号,它们的数值在量级上也比较相近,约为几百微伏,采样频率也相同,所以本文采用图3 的通用结构并行地处理EEG 与ECG,获得心电特征。获得相同尺寸的共享EEG 与ECG 特征后,如式(3)所示按元素相加进行特征融合,得到最终特征Fi,实验结果表明按元素相加方法优于按通道拼接的方法。
2.2 自适应任务间关联性学习
如引言中所述,睡眠分期与睡眠呼吸暂停低通气相关,在不同的睡眠时期,呼吸暂停低通气的发生概率和严重程度也不同。考虑到该相关性,设计了自适应任务间关联性学习模块,建模睡眠时期与呼吸暂停低通气它们之间的相互作用关系,将该相互作用关系与提取的共享特征相结合,提升分类性能。
具体地,许多患者的阻塞性睡眠呼吸暂停严重程度在REM 期趋于恶化。在呼吸暂停患者中,REM 期的呼吸暂停持续时间比NREM 期更长;相反,如果患者能进入慢波睡眠,他们通常能保持较长时间的稳定呼吸[7],即在不同的睡眠阶段,患者发生睡眠呼吸暂停低通气的概率和严重性不同。根据数据集的统计分析,在REM 期更易发生呼吸暂停低通气,在N3 期则较少。如图4 所示,本文将通道注意力机制应用于多任务学习框架,学习任务间的关联性,建模不同睡眠时期发生呼吸暂停和低通气的可能性辅助SAHS 检测。
图4 自适应任务间关联性学习模块Fig.4 Adaptive inter-task correlation learning module
注意力机制在人类感知中起着重要作用。人类通常不会试图一次性处理整个场景,而是选择性地关注较为突出的部分。从广义上讲,注意力机制是一种工具,它为不同的部分分配不同的权重,将处理资源更多地分配给信息量较大的部分。Hu 等[25]提出了“挤压和激励”结构,显式建模信道之间的相互依赖性,自适应地重新校准信道特征响应,通过全局平均池化将全局空间信息压缩至信道描述符。随后用全连接层和sigmoid 激活函数实现激励操作,利用挤压操作中聚集的信息,建模信道依赖性。
本文旨在利用通道注意力机制学习不同睡眠时期发生呼吸暂停低通气的概率。如2.1 节所述,首先提取到5 通道的共享脑电与心电特征,随后将特征输入由FC 和Softmax 激活函数实现的分类器分支,获得长度为5 的概率向量,确定该样本的睡眠阶段。该过程可以描述为式(4):
2.3 损失函数
在MTL 中,如何联合优化多个任务的损失函数至关重要,如式(8)所示,联合损失的常见形式是多个任务损失函数的加权和:
其中:k是任务数,wi和Losstaski分别代表第i个任务的权重和损失函数。在训练过程中,合适的权重能平衡各个任务,防止模型偏向于数值较大的损失函数[26],使网络参数收敛到对所有任务都有用的鲁棒的共享特征。由于睡眠分期的损失函数和SAHS 检测的损失函数具有相同的数量级,并且这两个任务同等重要,因此如式(9)所示,所提方法的目标函数是两个损失函数之和:
3 实验与结果分析
3.1 数据集与预处理
为了评估所提方法的性能,在两个公开数据集上使用都柏林大学学院睡眠呼吸暂停数据库和ISRUC睡眠数据集实验。
3.1.1 都柏林大学学院睡眠呼吸暂停数据库(UCD数据集)
都柏林大学学院睡眠呼吸暂停数据库[27]包含25 名疑似睡眠呼吸障碍患者的整晚PSG,这些患者是从都柏林圣文森大学医院睡眠障碍门诊随机选择的,平均年龄50±10 岁。PSG 中包含128 Hz 的EEG 信号、128 Hz 的ECG 信号、眼电信号、下颌肌电信号等其他多模态生理信号。每个30 s 的epoch 被标记为6 个睡眠阶段(WAKE、N1、N2、N3、N4 和REM)之一或UNKNOWN,排除了UNKNOWN 数据,因为该标签不属于睡眠分期研究的任何一个阶段,通常出现在一整晚记录的首尾,并根据AASM 标准将N3 和N4 阶段合并为N3。此外,睡眠医师对呼吸事件的开始时间和持续时间进行了标注。呼吸事件包括阻塞性、中枢性、混合性呼吸暂停和低通气,以及周期性呼吸事件。忽略了周期性呼吸事件,合并了呼吸暂停和低通气的不同类别。为了与睡眠分期标签一致,以每30 s 为一个epoch,如果在30 s 内有超过5 s 的呼吸暂停或低通气,该epoch 将被标记为阳性。
3.1.2 ISRUC-sleep数据集
ISRUC-sleep 数据集[28]包括3 个子集,其中每个PSG 记录都是在科因布拉大学医院睡眠医学中心采集的记录中随机选择的。本文采用了子集I进行实验,因为大多数受试者都检测到了呼吸暂停低通气事件。子集I 包含100 个受试者的整晚PSG记录,平均年龄51±16岁,每个记录包含多通道生理信号,如100 Hz的EEG 信号、100 Hz的ECG 信号和眼电信号等。该子集的所有记录被划分为30 s的epoch,每个epoch标记了对应的睡眠时期(WAKE、N1、N2、N3和REM)和呼吸事件(混合性、中枢性、阻塞性低通气和中枢性、阻塞性呼吸暂停),合并了不同类型的呼吸暂停和低通气,并将该epoch标记为阳性。
3.1.3 数据预处理
由于PSG 采集成本较高,在日常生活中不易获取,本文基于单导EEG 和单导ECG 进行睡眠质量评估。睡眠阶段之间的过渡遵循一定的原则,睡眠呼吸暂停低通气事件通常跨越多个epoch。因此,使用当前和相邻时期窗口(前两个和后两个epoch)的数据作为输入,来预测当前时期的睡眠分期标签和呼吸暂停低通气标签。将每个受试者的数据(C3-A2 导联EEG、V2 导联ECG,对应的睡眠分期标签和睡眠呼吸暂停低通气标签)平均分成5 部分,每个部分的前80%作为训练片段,后20%作为测试片段。对于每个训练或测试片段,使用长度为5 个epoch 的窗口进行滑动,步长为一个epoch,最终获得包含上下文信息的输入样本,且训练片段和测试片段之间没有重叠。将所有受试者的数据拼接起来,获得最终的训练集和测试集。在一整晚的睡眠中,不同时期睡眠阶段的分布是不同的,开始和结尾多WAKE 期,前半夜多N3 期,后半夜多N2 期和REM 期。同理,睡眠呼吸暂停事件在整夜睡眠中也不是均匀分布的,因此分层抽样的方式使得训练集数据更加均衡。数据集的详细统计信息如表1 和表2 所示。表1 给出了UCD 和ISRUC 两个数据集在上述的数据划分方式下,睡眠分期5 类标签的样本量和占比;表2 给出了UCD 和ISRUC 两个数据集在上述的数据划分方式下,SAHS 检测中两类标签的样本量和占比。划分完成后,在训练集和测试集内部对每个通道的生理信号进行z-score 标准化,以消除受试者差异性对生理信号数值的影响。z-score 标准化定义如式(10)所示:
表1 数据集睡眠分期统计信息Tab.1 Statistics of datasets about sleep stages
表2 数据集睡眠呼吸暂停低通气统计信息Tab.2 Statisticss of datasets about sleep apnea hypopnea
其中:x是待标准化的数据,μ和σ分别是x的均值和标准差。
3.2 评估指标
采用总体准确率(Accuracy,ACC)、宏F1 分数(Macro F1-score,MF1)和受试者特性曲线下面积(Area Under Curve of Receiver Operating Characteristic,ROC-AUC)这3 个指标评估睡眠分期的性能。ROC-AUC 是ROC 曲线与坐标轴包围的区域,其中横轴是假阳性率,纵轴是真阳性率,它可以全面衡量分类器的性能,ROC-AUC 越高,分类性能越好。
对于SAHS 检测,采用ACC、宏F2 分数(Macro F2-score,MF2)、ROC-AUC 和召回率(Recall)来进行评估。在机器学习的二分类问题中,值得关注的类通常被视为阳性(如呼吸暂停和低通气),另一类则为阴性。虽然假阳性(False Positive,FP)和假阴性(False Negative,FN)都是疾病初筛中的误诊,假阳性只需要进一步检查,而假阴性可能会导致患者错过最佳诊断和治疗机会,因此,在SAHS 检测中,召回率比精确率更重要,它可以反映阳性样本被正确分类的比例。如式(13)所示,F-score 是同时考虑精确率(Precision)和召回率的指标,P是正确预测为正类的占全部预测为正类的比例,R是正确预测为正类的占全部实际为正类的比例。可以通过修改β改变精确率和召回率之间的相对重要性。如果β<1,精确率更重要;如果β=1,二者同等重要;如果β>1,则召回率更重要。因此,如式(14)所示在睡眠分期任务上选取MF1 来评估分类性能,如式(15)所示,在SAHS 检测中,使用MF2 来评估性能,重点关注本文方法和基准方法对患病片段(阳性样本)的检测能力。给定真阳性(True Positive,TP)、FP、真阴性(True Negative,TN)、FN,上述指标的定义如式(11)~(15)所示:
3.3 实验设置
采用PyTorch 1.4 构建并复现了基准方法,批大小设置为64,选用Adam 优化器最小化损失函数,学习率设置为0.001,进行300 轮训练,以获得稳定的性能。
3.4 对比算法
为了验证本文方法的有效性,将所提方法与近年先进的单导EEG 睡眠分期单任务学习(Single-Task Learning,STL)方法、单导ECG 的SAHS 检测STL 方法进行对比。
3.4.1 基准方法
尽管已有很多MTL 方法,但这些方法可能不适用于EEG和ECG 等生理信号和睡眠生理任务,或者对网络结构有特定要求,不便应用到本文方法中。因此,将本文方法与以下单通道EEG 的睡眠分期STL 基准方法和单导联ECG 的SAHS检测STL 基准方法进行了比较。这些STL 基准方法的简要描述如下:
DeepSleepNet 一种基于原始单通道EEG 的CNN-LSTM模型,提取时不变特征并学习睡眠阶段的过渡规则[9]。
12-layer CNN 基于单通道EEG 的12 层CNN 睡眠分期模型[15]。
TinySleepNet DeepSleepNet 模型的改进版本,该模型利用CNN 和LSTM 更有效地对睡眠阶段进行分类[29]。
AttnSleep 基于单通道EEG 进行睡眠分期,使用多分辨率CNN、自适应特征重新校准提取特征,用时间上下文编码器捕获所提取特征之间的时间相关性[12]。
6-layer CNN 基于CNN 架构,使用单导ECG 记录对正常、阻塞性睡眠呼吸暂停和低通气进行分类[30]。
1D-ResNet 使用单导ECG 信号检测睡眠呼吸暂停的一维残差神经网络,采用加权交叉熵损失函数,解决呼吸暂停样本和正常样本之间的类不均衡情况[15]。
为了对比不同方法的性能,使用了AttnSleep[12]公开的代码,并复现了其他基准方法。一些已发布的基准方法代码基于Tensorflow 框架实现,公平起见,使用PyTorch 框架进行复现,在相同的数据集和实验设置下评估了所有方法的性能。
3.4.2 性能比较
在两个公开数据集上比较了本文方法与STL 基准方法在睡眠分期任务上的ACC、MF1 和ROC-AUC,以及SAHS 检测任务上的ACC、MF2、ROC-AUC 和Recall 指标。
为了使实验结果更具说服力,在5 个随机种子下测试了所有方法,并记录了5 次实验中所有评估指标的均值和标准差。若将长度为5 个epoch 的样本全部打乱再随机分成k折进行交叉验证,每个样本中相邻epoch 的数据也会出现在其他样本中,即部分数据可能同时出现在训练集和测试集,造成数据泄漏。并且,将样本全部打乱也会切断睡眠的连续性,也会切断一个连续的呼吸暂停低通气事件。因此在输入样本需要包含相邻epoch 的情况下,本文选择了前文所述的数据划分和实验设置。此种数据划分方式下训练集和测试集已经包含了不同的数据分布,在一定程度上消除了数据分布对方法性能波动性的影响;同时,在实验过程中发现在不同的随机种子下,实验结果也会随着初始化过程中的随机因素而波动,因此随机选取了5 个种子进行实验,探究方法在不同种子(即不同初始化)情况下的分类性能和鲁棒性。
所提方法从单通道EEG 和单导联ECG 信号中提取共享特征,进行睡眠分期以及SAHS 检测,而STL 基准方法基于单通道EEG 或单导联ECG 分别完成两个任务。公平起见,使用脑电特征提取器提取EEG 特征进行睡眠分期,使用心电特征提取器提取ECG特征进行SAHS检测。在UCD数据集上的结果表明,采用与STL基准相同的输入输出设置时,所提方法的特征提取模块可以实现与STL基准方法相当的性能。以睡眠分期为例,UCD 数据集上基于EEG 的睡眠分期任务中ACC、MF1 和ROC-AUC 分别为74.13%、73.01%和0.933 2,这些指标表明,MTL 框架的有效性主要归功于MTL 机制和任务间关联性学习模块,而不是引入更多的生理信号。
表3、4 分别报告了本文方法与睡眠分期STL 基准方法和SAHS 检测STL 基准方法在UCD 数据集和ISRUC 数据集上的性能比较。在睡眠分期任务上,本文方法在两个数据集上实现了与基准方法相当或更好的分类性能。如表3 所示,在UCD 数据集上,与基准方法相比,本文方法在所有评估指标上都达到了更好的分类性能,其中一次实验的混淆矩阵如图5 所示,矩阵中每个元素代表实际类别为纵坐标值并且预测类别为横坐标值的样本数量,以此来评估分类性能。
表3 UCD数据集和ISRUC数据集上基准方法与本文方法的睡眠分期性能比较Tab.3 Sleep stage classification performance comparison between proposed method and baseline methods on UCD and ISRUC datasets
图5 UCD数据集睡眠分期混淆矩阵Fig.5 Confusion matrix of sleep staging on UCD dataset
对于SAHS 检测,本文方法在两个数据集上都获得了较好的结果。尽管所提方法的ACC 略低于其他方法,但获得了更高的MF2、ROC-AUC 和Recall,UCD 数据集上一次实验的混淆矩阵如图6 所示,即所提方法检测到了更多的呼吸暂停和低通气片段。在一整晚的睡眠中,呼吸暂停低通气的标签通常比正常标签少得多,高的ACC 可能无法全面证明某方法的优越性。例如,100 个样本中有10 个呼吸暂停低通气样本和90 个正常样本,不作任何学习,将所有样本预测为正常,ACC 仍然高达90%,然而,该方法不具备区分呼吸暂停低通气样本和正常样本的能力。
图6 UCD数据集睡眠呼吸暂停低通气检测混淆矩阵Fig.6 Confusion matrix of SAHS detection on UCD dataset
根据表1、2 所示的数据集统计结果,以30 s 的epoch 为一个样本,UCD 数据集中的呼吸暂停低通气样本与正常样本的比例约为1∶4,ISRUC 数据集中的比例约1∶12。与基准方法相比,本文方法侧重于检测更多的呼吸暂停和低通气,这对于SAHS 的初步筛查具有重要意义,因此,本文方法的ACC 虽略低于基准方法,但从睡眠疾病初筛的角度,本文方法优于STL基准方法。由于ISRUC 上的呼吸暂停和低通气样本数较少,ISRUC 数据集上各方法的总体性能比UCD 数据集上的性能略差。然而与基准方法相比,本文方法仍达到了相当或更好的性能。如表4 所示,在ISRUC 数据集上本文方法与6-layer CNN模型具有相当的ACC,但Recall提高到了39.11%。
表4 UCD数据集ISRUC数据集上基准方法与本文方法的SAHS检测性能比较Tab.4 SAHS detection performance comparison between proposed method and baseline methods on UCD and ISRUC datasets
在SAHS 检测研究中,大多数研究人员在Apnea-ECG 数据集上进行实验,该数据集包含35 个训练记录的17 010 个样本(其中6 514 个呼吸暂停样本)和35 个测试记录的17 268个样本(其中6 550 个呼吸暂停样本)。每个样本长度为1 min,并标记有阻塞性呼吸暂停、低通气、混合性呼吸暂停或正常标签。然而Papini 等[31]发现,在该数据集上成功训练的呼吸暂停检测算法,在其他包含呼吸暂停事件的数据集上表现不佳。该研究表明,用于训练模型的数据集会影响SAHS 检测算法的性能。Apnea-ECG 数据集不包含复杂多样的睡眠呼吸暂停和低通气样本,用该数据集训练的模型不能轻易迁移到复杂的睡眠呼吸暂停场景中。因此,大部分论文中报告的呼吸暂停检测方法在Apnea-ECG 数据集上的表现更好,但是本文选择的两个数据集更接近患者的实际情况,能够反映算法在实际应用场景中的性能。
在两个公开数据集上的实验结果表明,本文方法可以同时实现睡眠分期和SAHS 检测。在睡眠分期上,本文方法达到了与基准方法相当的水平,在SAHS 检测任务上,检测到了更多的患病片段,对于SAHS 的初步筛查和睡眠质量的综合评估具有重要意义。
3.5 消融实验
双流时间依赖学习模块、多任务学习机制和自适应任务间关联性学习是该方法的关键部分,为了进一步分析每个模块的有效性,在UCD 数据集上进行了消融实验,表5 显示了实验结果。3 种变体如下。
表5 UCD数据集上消融实验结果Tab.5 Ablation study results conducted on UCD dataset
1)A:基于单导EEG 和单导ECG 的双流STL 方法,用于SAHS 检测。
2)B:基于单导EEG 和单导ECG 的双流MTL 方法,用于睡眠分期和SAHS 检测。
3)C:本文提出的基于单导EEG 和单导ECG 的双流MTL方法,具有自适应任务间关联性学习模块,用于睡眠分期和SAHS 检测。
如表5 所示,使用单导EEG 和单导ECG 进行SAHS 检测的STL 方法的性能优于基准方法,表明双流时间依赖学习模块提取到了有效的特征,用于检测呼吸暂停和低通气。
基于该STL 方法引入MTL 机制,共享特征提取模块,设置两个特定任务的分类器分支,实现睡眠分期和SAHS 检测。通过并行训练两个任务,提取共享特征,利用任务间的相关性提升性能。如表7 所示,引入睡眠分期后,SAHS 检测的性能有所提升,同时,睡眠分期的性能与基准方法持平。这种在所有任务之间共享隐藏层并保留多个特定任务输出层的方式是硬参数共享,是神经网络中最常用的MTL 结构。硬参数共享大幅降低了过度拟合的风险,并行学习的任务越多,就越需要学到一个能够满足所有任务的表示,在原始任务上过拟合的可能性就越小[26]。
如引言所述,睡眠分期和睡眠呼吸暂停低通气是相关的,因此设计了自适应任务间关联性学习模块,学习不同睡眠时期发生呼吸暂停低通气的概率。与方法B 相比,方法C在睡眠分期上表现更好,在SAHS 检测任务中,也取得了更高的MF2 和Recall。实验结果表明,自适应任务间关联性学习模块可以建模睡眠分期和呼吸暂停低通气之间的相互作用关系,利用当前输入样本的睡眠分期结果和该时期发生呼吸暂停低通气的概率辅助SAHS 检测。
为了验证自适应任务间关联性学习模块的有效性,训练完成后,记录了该模块分配给各睡眠时期的权重,并统计了UCD 数据集的训练集中每个睡眠时期发生阻塞性呼吸暂停低通气的频率,结果如表6 所示。
表6 UCD数据集上训练集中各时期发生睡眠呼吸暂停低通气的频率以及训练过程中最后五轮的平均权重Tab.6 Probability of sleep apnea hypopnea of each stage and average weight in last five rounds on training set in UCD dataset
研究结果表明,呼吸暂停更易发生在REM、N1 和N2 期,而较少发生在WAKE 和N3 期。表6 为训练过程中最后5 轮的平均权重,其中REM、N1 和N2 期的权重较大,而WAKE 期的权重较小。由于N3 的样本较少,分配给N3 的权重未得到充分学习,因此该权重略高于预期。总体来看,自适应任务间关联性学习模块学到的权重与数据集中统计的不同睡眠时期发生呼吸暂停低通气的频率基本一致。计算权重向量与呼吸暂停低通气频率向量之间的相关系数为0.908 4,表明它们之间存在较强的正相关性,也说明自适应任务间关联性学习模块可以自动建模任务之间的相互作用关系,提升分类性能。
3.6 时间复杂度分析
在时间复杂度方面,计算并比较了本文所提方法和STL基准方法的浮点运算数(Floating-point Operations Per second,FLOPs)、参数量、训练占用的GPU 显存以及在UCD数据集上的训练时间,各方法的指标对比如表7 所示。
表7 本文MTL方法和STL基准方法的时间复杂度对比Tab.7 Time complexity comparison between proposed MTL method and baseline STL methods on UCD dataset
根据表7 所示的结果,本文的方法能够同时完成两个任务,与STL 基准方法中效率较高的两个方法体量之和(TinySleepNet+6-layer CNN)相比,本文方法有更少的参数量,占用GPU 显存更小,训练时间相当。本文的方法以单导脑电和心电作为输入,相比更多导的信号,信号采集成本较低,较为轻量级的方法也便于部署在家庭医疗和移动医疗等小型设备上。同时,多任务学习机制和自适应任务间关联性学习模块学到了两个任务间的相关性,利用相关性提升了方法的分类性能和泛化性,最终实现便捷高效的睡眠分期与SAHS 检测,对受试者的睡眠质量进行全面评估,辅助医生对睡眠疾病进行诊断和治疗。
4 结语
本文提出了一种新的MTL 框架,基于单导EEG 和单导ECG 进行睡眠分期和SAHS 检测。由于睡眠阶段和睡眠呼吸暂停低通气是相关的,构建了双流时间依赖学习模块,在两个任务的联合监督下学习共享的EEG 和ECG 特征。设计了自适应任务间关联性学习模块,将注意力机制应用于多任务学习框架中,捕获睡眠时期和呼吸暂停低通气之间的相互作用关系,对不同睡眠时期发生呼吸暂停低通气的概率进行建模。在两个公开数据集上进行了实验,并与STL 基准方法进行了对比。实验结果表明,本文方法在睡眠分期任务上达到了与基准方法相当或更好的分类性能,在SAHS 检测任务上优于基准方法,能检测更多的患病片段,对于SAHS 的初步筛查具有重要意义。此外,本文方法只需要单通道EEG 和单导联ECG 作为输入,单导信号的采集不会严重影响患者的正常睡眠,采集成本也低于多通道数据,因此,本文方法可以应用于家庭监测和移动医疗设备中的睡眠质量评估以及睡眠疾病的初步筛查[32],辅助睡眠医师诊断和治疗睡眠疾病。
本文方法在一个框架中训练睡眠分期与SAHS 检测两个任务并取得了较好的效果,但是当前方法未特别处理呼吸暂停检测中的类别不均衡问题。在多任务学习设置下如何解决其中单个任务的类别不均衡问题,进而提升总体的分类性能,还需进一步地探讨与分析。另外,本文的实验设置是不跨受试者的,受试者之间的差异会影响方法的性能,如何解决个体差异问题,提升方法的鲁棒性和泛化性,也是值得深入探究的。