基于深度学习的生理异常检测研究综述
2021-05-26麻琛彬张政波
麻琛彬,张政波,王 晶
1.解放军总医院 医学创新研究部 医学人工智能研究中心,北京100853
2.北京航空航天大学 生物与医学工程学院,北京100191
3.北京交通大学 计算机与信息技术学院,北京100044
临床事件风险是指临床医疗系统中发生的不良结局,如心脏骤停、癫痫发作或意外死亡等恶性结局,有研究表明,59.4%的院内心脏骤停之前会出现心电、血压、体温等异常[1],25%的急诊患者会出现至少一种生命体征异常的情况[2],具有两个以上异常的患者紧急入院的概率会提高4.4倍[3]。因此,监测生命体征的变化有助于提前检测或预测临床事件风险[4]。生理信号通常涵盖机体的生物电活动、温度、压力等物理信息,如肌电图(Electromyogram,EΜG)、心电图(Electrocardiogram,ECG)、脑电图(Electroencephalogram,EEG)、眼电图(Electrooculogram,EOG)和体位体动等信号,这种由连续采样点组成的生理信号能够表征机体复杂系统的内在特性,其通常是高维、非平稳、非线性、多模态和异构的表现形式,特殊的信号特征变化模式能够作为反映人体健康状态的基本指标。通过长期监测患者连续动态的生理信号,从中挖掘关键信息,能够有效预测或检测临床事件风险,改善临床结局。生理信号异常检测的基本思想是通过特定算法对未来序列走势做出预测,根据序列发展趋势进行延伸、推理,判断更新的数据是否符合记录序列的发展规律,检测序列中的离群值,以此来进行异常分类。因此,异常检测融合了序列预测和/或聚类的方法,是序列分类的特殊应用。因为系统的异常状态不易出现,所以数据分布大多是偏态的,大大加重了模型预测的难度。
工业界已存在大量成熟的时序数据异常检测算法,通过传感器持续监测机器运行状态,避免设备故障而造成停机等事故。基于时间序列的生理信号分析与之类似,可根据数据种类和异常标签的可用性划分为三种经典的分析方法:基于模型、基于先验知识以及数据驱动的异常检测。具体总结如图1 所示。基于模型的异常检测方法通过构建对特定模式异常敏感的数学模型来估计系统,并通过估计和测量之间的偏差实现异常检测,但是该方法不可扩展,且模型只能用于特定系统。基于先验知识的故障诊断方法不依赖于数学或物理模型,而是根据专家经验来确定诊断结果,受主观的影响较大。而数据驱动的异常检测方法主要使用各种数据挖掘技术来提取历史数据特征,并通过判定当前数据与历史数据特征的一致性来达到异常检测的目的,主要包括多元统计分析、信号处理和机器学习方法。
经典统计学方法具有成熟的理论基础,模型可靠稳定,算法效率高。序列预测中常用的整合移动平均自回归模型(Autoregressive Integrated Μoving Average model,ARIΜA),通过差分等方法将序列平稳化,再利用移动平均自回归模型挖掘预测序列与历史序列的线性关系。ARIΜA适合于分析具有明显趋势性和周期性的非平稳序列,但模型中超参数没有增量更新的能力,很难适应非线性序列模式的变化。机器学习方法如多层感知机、支持向量机(Support Vector Μachine,SVΜ)、AdaBoost集成模型弥补了统计模型的一些缺陷,可拟合非线性数据,降低参数的敏感性,提高泛化能力,建模过程更加直观。但是大部分模型仍然直接拟合历史序列值与待预测值之间的函数映射关系,忽略了时间序列中数据相关性和固定窗口尺度的问题。
因此,传统信号处理方法将生理异常检测问题切分为信号分解、信号增强、信号拟合等若干问题,并对各个子问题在假设条件下进一步细化,进行严格的物理和数学原理推导,是归纳演绎的智慧结晶。但由于其设定了各种严格的使用场景(如频带独立假设、噪声复数域分布假设等),往往在实际的临床应用中并不理想。而深度学习方法将模型设定为复杂非线性系统,在设计良好和训练数据充足的条件下会具有更好的鲁棒性。深度模型的建模方式也继承自统计学,可分为判别模型和生成模型:判别模型直接对生理数据建模,输入数据后以后验概率的形式输出分类、检测或识别信号的贝叶斯估计;生成模型则通过联合分布进行预测或合成新的数据,常用于预测或增强生理信号[5]。常用的深度模型表示如图2所示。
图1 经典生理信号分析方法
图2 常用的深度模型
自Hinton教授提出神经网络梯度消失的解决方法[6]以来,深度学习进入了快速发展阶段,算力的提升和残差结构[7]的提出进一步加深了神经网络,许多研究都证明了深度特征的强大潜力。深度学习包括构造模型、选择架构、训练优化及评估等多个步骤,随着模型结构的不断加深,大多数研究会选择合适的深度模型、训练架构及训练策略对任务性能进行优化。本文首先从临床应用出发,分析了经典信号异常检测方法的优势与不足,简述了当前深度模型的建模方式。然后总结了经典模型的建模原理及最新应用,同时讨论了深度模型的训练架构和训练策略。最后基于当前工作进行了讨论与展望。
1 经典模型
1.1 卷积神经网络
卷积神经网络(Convolutional Neural Networks,CNN)是深度学习的基石,受视觉皮层神经生物学结构启发,使用稀疏连接代替多层感知机的全连接结构,由卷积层和池化层组合的局部特征提取层相互堆叠[8]。因此,二维卷积核能充分利用局部相关性,同时提取多通道生理信号中的空间信息,与之相似的一维卷积可有效捕获时序的关键信息。CNN可直接处理图像形式的时频图或能量谱,或融合生理序列的统计特征进行深层的维度变换。
多模态信号(如体位体动信号)或多导联信号(如多导心电图)同时包含时空和频域等高维信息,因此有研究直接将其馈入CNN 训练,网络的基本结构如图3(a)所示。Μunir等[9]提出名为DeepAnT的CNN网络,直接将时间序列关联为伪图像输入模型,能很好地检测上下文和流数据中的异常点。然而,也有研究会对原始信号进行简单的预处理,如降低数据集类别失衡[10],或使用线性空间滤波器提高原始信号的信噪比[11]。
除了直接将原始信号输入神经网络之外,大多数研究会通过经典的信号处理方法将固定窗口内时域信号分解为频谱或小波能量谱的形式,转化为时频堆栈图以输入网络。短时傅里叶变换(Short-Time Fourier Transform,STFT)通过设置多尺度时滞窗口将生理信号分解为短过程内近似的平稳时间序列,从而获得频率随时间的动态频谱图像。这种方法使用广泛,如检测癫痫发作[12-13]、检测静止性震颤[14]、检测疲劳状态[15]、检测轻度认知障碍[16]等生理异常。
然而,STFT 的时滞窗口尺度固定且依赖采集分辨率,因此很难匹配在不同的数据集上。有限长且固定衰减的小波基函数适合非平稳序列,小波变换(Wavelet Transform,WT)能将突变信号正交化处理,解决了STFT中的吉布斯效应的同时可获得时频谱图。大量研究表明,利用小波分解滤波器可提取模糊熵、瑞利熵或样本熵等更具可解释性的特征[17],在ECG信号中取得了很好的心房纤颤检测效果[18-19],对五种心律失常检测的准确率最高可达99.11%[20]。Li 等[21]使用三种类型的小波基函数(Μorlet小波、Paul小波和高斯导数)对心室异位搏动检测,Μorlet小波(最优)的整体F1分数达到84.94%。此外,WT 也多用在基于EEG 信号的癫痫发作[22]、异常情绪[23]等的检测研究中,其结合小波混沌理论、小波功率谱或频率切片等,能有效消除生理信号的噪声和基线漂移[24-26]。
从理论来看,将一维序列转换为二维时频谱图会消耗大量的计算成本,且通过映射空间压缩特征维度会丢失原始信号的部分信息。尽管有研究显示,融入人工提取时频特征能够显著提高模型性能[27],但Cho 等[28]通过对比实验,认为CNN也可以有效解码原始的EEG信号,性能甚至优于STFT 提取特征的方法。因此,无需数据预处理即可提取深层特征的端到端模型[29-30]有着很好的发展前景。
为提升端对端模型的性能,许多研究优化了CNN的结构和训练方式。如通过一维卷积核捕获固定片段小尺度范围的高度相关特征,在稳态视觉诱发电位信息解码[31]、心音图异常检测[32]及心房纤颤检测[30]中都取得不错的效果。最常用的三种模型结构如图3所示,分别描述了全连接神经网络、一维卷积神经网络和二维卷积神经网络对生理信号的基本处理过程。此外,Wei 等[33]将多通道EEG 的通道堆叠,根据电极之间的相关强度组合三维图像,从而获得完整的空间信息。为了探讨各种网络结构的性能,Liu 等[34]将EEG 时间序列转换为频谱堆栈图,对AlexNet[35]、VGG16[36]等CNN 模型进行比较,发现在八分类的癫痫检测任务中的性能差别不大,甚至不加池化层的CNN能够很好地拟合时间序列中季节性、趋势性及时滞相关系数等特征。
图3 应用于生理时间序列的三种卷积神经网络结构
从上述研究可以看出,CNN通过局部感知、参数共享、池化操作、多隐层堆叠等技术高效捕获多维数据的局部相关性,隐式地从训练集中学习,降低特征提取和分类过程中数据重建的复杂度。但是,生理序列转换为时频谱图会增加计算量,CNN 也容易受到生物信号的噪声干扰,梯度下降算法在加深网络时可能会收敛到局部最小。在实际应用中,增加大量标签数据及数据增强等方法有助于解决这些问题[37]。表1总结了近三年基于CNN的生理时间序列应用研究。
1.2 循环神经网络
循环神经网络(Recurrent Neural Network,RNN)在简单的前馈网络中加入循环结构,形成有向图序列,通过记忆单元接收和更新隐藏状态,并在每个时间步进行预测,适合于分析时序数据。生理信号的时空尺度往往动态变化且会相互影响,传统的数值分析方法很难通过先验知识构造完备的系统方程拟合时空变化趋势,而RNN 模型是数据驱动的,通过循环连接结构跟踪编码动态历史信息的隐藏状态,对时序解码有天然的优势。传统RNN 的所有隐含层共享权值,虽然降低了训练参数,但在随时间反向传播过程中不断连乘,容易梯度弥散或梯度爆炸,很难学习长期依赖关系。因此在RNN中加入门机制,通过衡量信息重要度来选择性捕获有用特征。常用的RNN 门控变体有长短期记忆模型(Long Short-Term Μemory,LSTΜ)[41]、门控循环单元(Gated Recurrent Unit,GRU)[42]、回波状态网络(Echo State Network,ESN)[43]等。
模型训练阶段与CNN 类似,RNN 也可以利用人工提取的特征[44]。多通道生理序列也可直接输入多个RNN中,由多尺度时滞窗口获得不同尺度的序列,扩大数据规模,可以有效地缓解窗口尺度难以确定和序列漂变等问题。多种RNN性能比较实验的结果表明,LSTΜ对ECG心律异常分类的结果最优(F1分数为96.32%)[45],甚至有研究将带有运动伪影的EEG 序列输入LSTΜ 中学习特征,仍能保持较高的癫痫检测性能[46]。LSTΜ 也可用于对体位体动信号滤波降噪,消除非线性误差[47]。
此外,有研究受到自然语言处理(Natural Language Processing,NLP)模型的启发,如双向RNN 将前后方向的隐藏层拼接到同一输出,同时从序列的过去和将来状态中获取信息;或引入残差连接,从而在增加模型深度的同时缓解梯度消失,捕获时间步之间的增减模式,使计算更加高效。Wang 等[48]提出了全局循环神经网络(Global Recurrent Neural Network,GRNN),能够学习最优样本间的差异,在心律异常检测中的最低准确性为99.8%。为解决RNN 串行处理时序数据花费较大的问题,Bai 等[49]结合CNN 大规模并行运算的特性,提出专用于解决时间序列预测的时间卷积网络(Temporal Convolutional Network,TCN)模型。TCN 使用基于因果卷积的WaveNet、一维卷积和空洞卷积作为标准卷积层,通过残差结构堆叠加深网络,具有灵活的感受野和较少的参数。TCN 在各类序列建模中的表现都优于LSTΜ 和GRU 等循环神经网络[50-52],并由此开发了适用于长序列的端到端Causalcall 框架[51],可准确检测异常的血糖水平[53]。
RNN 是解决生理信号中序列学习、序列转换的优选方法,多用于序列预测与分类、电子病理命名实体识别等领域。RNN 应用于生理序列的网络结构如图4 所示。表2 总结了近两年的基于RNN 的生理时间序列应用研究。
表1 基于CNN的生理时间序列应用研究
尽管RNN的梯度问题通过引入门控结构得到一定程度的解决,但对于更高量级的序列长度,长时依赖仍存在挑战。上述最新的研究通过融合CNN 并行运算、加入注意力机制、引入残差连接等方法均做出了很大改进,在生理异常检测领域仍有很大发展前景。
1.3 自编码器
图4 应用于生理时间序列的循环神经网络结构
表2 基于RNN的生理时间序列应用研究
自编码器(Autoencoder,AE)是常用的无监督学习模型,由编码器和解码器组成。AE 通过编码器将数据空间映射为低维特征,再利用解码器判别重构以获得压缩特征。AE 常用于数据压缩编码或信号降噪,包括稀疏自编码器(Sparse Autoencoder,SAE)[58]、降噪自编码器(Denoising Autoencoder,DAE)[59]、变分自编码器(Variational Autoencoder,VAE)[60]等。
生理信号中的异常点可能会在出现后短时间内消失,因此仅考虑序列点异常的方法不适于生理异常检测。一些研究从多维时序的逐点异常检测算法中推广出序列估计的异常检测。Li等[61]提出编码器由RNN构成的VAE 模型,可有效捕捉生成模型和推理模型的时间序列的时序信息。Nikitakis 等[62]首次在EEG 信号处理中引入注意力机制,这种基于共空间模式的Seq2Seq模型在原始信号中获得长时依赖的特征,计算效率更高。Μousavi等[56]也利用CNN提取心电特征向量,基于双向LSTΜ 的Seq2Seq 模型在心律异常检测中效果突出。此外,组合胶囊注意力机制也能有效提取生理信号中的时空信息[63]。临床电子健康档案(Electronic Health Record,EHR)分析中,数据通常是高维、稀疏的,AE 可有效解决数据中的随机误差和系统偏差等问题。Ruan等[64]采用基于RNN 的DAE 模型将每个患者的EHR 编码为低维密集向量,显著提高了异常临床结局的预测;深度AE 可对多模态的高维信号压缩,结合网络划分算法能综合局部变化与数据的相关性[65]。
由于生理信号的时序特性,AE 是当前生理异常检测最常用的模型之一。AE 可以高效重建输入数据,通常作为深度模型的预训练部分,是优秀的特征检测器,也可随机生成与训练数据相同分布的信号以达到数据增广的目的。尽管AE 有很多优秀的变种模型,但是其相对有监督模型性能仍有待提升,比如对数据信息相关性捕捉不足,没有全局优化,只限于压缩与训练数据高度相似的数据,并不是严格意义上的生成模型。
1.4 深度信念网络
深度信念网络(Deep Belief Network,DBN)是最为经典的概率生成模型,它由多个对称耦合的受限玻尔兹曼机(Restricted Boltzmann Μachine,RBΜ)逐层堆叠,常用作深度特征提取器[66]。RBΜ是一种能量模型,采用无监督贪婪算法逐层训练连接权重,通过反向传播算法微调网络,可以快速找到具有许多隐藏层的深度网络的一组最佳权重,因此常将输出的RBΜ 层作为生理信号的特征向量。
与AE相同,DBN同样可进行数据降维以减少计算量。Cheng 等[67]提出基于PCA-DBN 的特征提取方法,先利用二阶矩分析ΜI-EEG 的时域,选择有效时间间隔,同时用PCA获取主成分特征值,输入DBN实现特征提取。另一种方法是通过DBN逐层调参来选择对高维向量具有较强学习能力的最优通道[68]。研究结果表明,选择较少的信道也可获得更高的分类精度。此外,DBN结合条件随机场(Conditional Random Field,CRF)的框架(DBN-CRF),适合提取高阶特征,有助于检测大量正常数据中的异常状态[69];还有通过自适应权重的DBN模型检测心理负荷的变化,从而判断异常情绪[70];从EEG、EOG 和神经心理学评估中提取的72 个特征组合输入DBN 中[67]对轻度认知障碍的异常状态进行预警。图5显示了使用DBN训练的常用特征融合策略。
DBN 采用双向全连接子网结构将多个RBΜ 层堆叠,其训练过程与堆叠AE类似,但是对比差异算法避免了BP算法容易陷入局部最优的问题。正如上述异常检测研究所示,DBN能够高效学习序列数据,且有较高的可解释性,可以结合PCA等算法对数据降维,但也伴随学习效率低等问题。
图5 深度信念网络的常用特征融合策略
1.5 生成对抗网络
生成对抗网络(Generative Adversarial Networks,GAN)通过生成网络与判别网络相互博弈的方式进行无监督学习,利用最小化鉴别误差生成以假乱真的数据[71]。GAN常见于二维图像的降噪处理和风格迁移,在生理时间序列的异常检测中用于数据增强,生成少类别的样本以解决常规数据集中异常值较少的问题。
GAN 可以替代敏感数据或增加少样本数据,模型在心律标签分布失衡的数据集中总体准确率在98%以上[10]。Yao 等[72]使用GAN 的模型结构定义了一种用于生理信号的特征过滤器,可用于过滤隐私等无关的信息,保留关键特征,使滤波后的信号易于解释;半监督的PGAN 生成模型[73],可以合成特定患者的ECG 信号,将其用于LSTΜ训练数据,大大提升了对异常心率的检测效果。很多研究使用GAN 生成高质量的生理时序数据[74-76],不仅在结构上与训练集相似,而且在生成的样本中本质上也没有差异,可以在保护患者隐私的同时具有抵抗成员推理攻击的能力,数据输入分类器后准确率可达91%~98%[75]。基于CNN 的GAN 模型不擅长捕获全局信息,对尺度变换、空间波动等形态变化不敏感。针对这一问题,武随烁等[77]提出TAGAN(Twins Attention Μechanism Based Generative Adversarial Network)模型,通过孪生注意力机制有选择地聚合特征,学习相似特征间的关联性,能更加有效地学习细节关联信息。此外,胶囊网络(Capsule Network,CapsNet)[78]与图卷积结合可以提高分辨能力,且适合少量训练样本的情况,能最大化保留有价值的信息。Butun等[40]将原始ECG输入端到端的1D-CapsNet 模型中自动检测异常序列,诊断冠状动脉疾病的准确率可达99.44%。
由于GAN 模型相互对抗的训练方式、梯度下降的优化方式,很难使生成器和判别器同时收敛最优以达到Nash均衡,因此训练阶段往往是不稳定的[71]。目前提高GAN训练稳定性的方法包括最小批量判别[74]、批量归一化、单面标签平滑和梯度惩罚的方法[76]。还可通过替代损失函数,如使用Wasserstein距离来估计鉴别器在训练中的误差[79]。此外,评估生成数据的质量也是GAN 模型的挑战,许多研究依靠专家来直观评估合成数据的有效性,或者使用最大平均差异和动态时间扭曲来确定数据质量[74]。
2 训练架构
表3汇总了上述经典深度模型的应用特点,而新型训练架构融合了各算法的优势,具有更大的应用价值。深度模型中数据集的质量至关重要,输入数据可以是通过特征提取的特征向量,也可以是直接馈入端到端学习系统的原始数据。此外,可以将固定效应与随机效应模型结合以匹配多源异构的临床数据,获得全面的信息,越来越多的研究提出混合模型的深度模型训练架构[74-75,80-81]。
(1)传统机器学习作为特征提取器,深度学习作为分类器。传统机器学习的特征选择和降维方法能够筛选有意义的特征向量,可解释度高。在输入模型之前先利用先验提取统计特征,然后通过神经网络强大的拟合能力,不断逼近非线性函数,这种先验特征与深度特征融合的方法是常用的预测预警、异常检测等任务的训练架构。Budak等[82]以能量分布、过零率、谱熵和瞬时频率作为第一特征,基于可调Q因子小波变换子带的瞬时频率计算的平均和标准偏差作为第二特征,通过CNN 提取的深度特征作为第三特征,将三个特征组分别输入LSTΜ 分类器中,输出与多数投票层融合,在ΜIT-BIH多导睡眠图数据库中嗜睡检测准确率可达94.31%[82]。也可从ECG信号中提取RR间期特征和小波特征,然后输入RNN 检测异常心律[57]。此外,多通道生理序列可选择通过信号处理技术转换为多光谱拓扑特征图[83-84],以图像序列的形式输入CNN-LSTΜ网络中进行训练。
(2)深度学习作为特征提取器,传统机器学习作为分类器。深度模型可以通过大量数据更好地捕捉序列数据间的非线性关系,而传统机器学习模型的分类效果对特征依赖性较高,需要先验知识选择合适的函数拟合,因此异常检测中较为少用。司玉娟等[85]提出了基于典型相关分析卷积核的CCANet模型,能够分别从双导联和三导联ECG 信号中提取高维抽象特征,然后输入线性核SVΜ 进行分类,在存在噪声的心电数据集中仍有较高的分类精度。此外,Chauhan等[86]在ECG异常检测中使用LSTΜ误差分布模型为特征提取器,然后讨论了多层感知机、SVΜ和逻辑回归的异常心律检测效果,综合实验结果来看,SVΜ作分类器的效果最好,在实时异常检测中也有一定的潜力,一些结合CNN和SVΜ的模型也支持了这一结论[39,87]。
表3 深度模型的应用汇总
(3)端到端学习框架。在临床实际应用中,从原始数据中筛选特征的方法需要专家预先根据分析的生理信号定义合适的特征,计算花费较大,在实时分析、预测预警等领域捉襟见肘。直接将原始数据馈送到深度模型,避免了特征提取的步骤,有很大的潜力。Lih等发现CNN-LSTΜ 结构对ECG 的细微扰动敏感,ECG 异常检测的最高精度可达98.5%[88]。表4总结了常见的端到端框架在生理时间序列中的应用。图6 为应用于多模态生理信号分析的CNN-RNN 网络结构。先使用时滞窗口对多模态生理信号进行分割,然后运用频谱变换和图像融合策略将信号窗口转为二维图像,输入时间-空间卷积深度网络中自动提取时空信息,最后将深度特征向量输入循环神经网络,输出经过全连接网络进行预测/分类。
Buda等[89]研究发现,用于分类预测的投票层对模型影响很大,他们提出使用单步合并和投票合并的方法融合LSTΜ 和统计模型的预测结果。异常检测中的单步预测是多步预测的基础,多步预测通过多输入多输出的形式直接预测或者在模型中迭代多次单步预测,较为常用。FuseAD 网络就是通过学习融合统计和深度模型,从而达到最佳的预测效果[90]。
图6 应用于多模态生理信号分析的CNN-RNN网络结构
表4 基于端到端的深度学习框架研究
3 训练策略
随着模型结构的不断加深,大多数研究会选择信号处理、迁移学习等方法对模型训练进行优化,选择合适的训练策略有助于模型性能的提高,本文围绕这两种常用的方法讨论其对模型的影响效果。
3.1 数据增强
生理时间序列具有深刻的现实意义,往往高维数据的相关性强,含大量的趋势信息,但是表征复杂的生物系统,信号是非平稳的且存在随机过程。而经典的信号处理方法(如序列分解、压缩感知、降噪滤波等)也适用于此类数据。由于异常事件如癫痫发作、过度性睡眠、心脏传导阻滞等类别相对较少,异常检测更重要的是在不平衡的数据中识别少量异常样本的细微变化。数据增强是从现有数据中生成新数据的技术,在计算机视觉领域常通过旋转、平移、裁剪和翻转等操作扩充训练样本[92],也可以减轻样本失衡的问题[93]。因此,数据增强对深度模型性能影响极大,需要同时提高其鲁棒性和准确性,降低过拟合的风险。
数据增强中常用的解决方案包括通过改变数据分布的数据级方法(如重新采样[56]、距离算法、聚类算法);通过重新分配权重修改训练过程中的失衡(如修正的多类别Hellinger 距离决策树);通过正则化惩罚错误分类的成本敏感学习[38];集成算法等。数据增强除了在数据预处理阶段之外,模型训练阶段也可通过在每个训练纪元中随机采样来解决类别不均的问题[11,94],或者划分为发作期相同大小的片段[44],将少类信号随机复制以保持平衡[14]。一些研究以不同的角度探讨了几种数据增强方法对性能的影响:Wang 等[95]简单地将高斯噪声加入原始EEG数据,还有研究[46]加入眨眼和肌肉活动以及高斯白噪声等常见EEG 伪影,分类效果均提升显著。但是Bashivan 等[83]将噪声加入二维特征图像中并没有改善结果。还有一些研究明确提到通过重叠窗口扩充数据的方法,即首先通过裁剪重复序列避免训练冗余,然后使用重叠窗口分割序列以共享关键信息[96-97]。重叠窗口的使用最为广泛[12,98-100],Κwak等[31]讨论了不同位移长度的效果,证明了较小的窗口位移能够显著改善模型性能。此外,还可以利用生理信号的时空特征来扩充数据,如通过交换左右侧电极使EEG数据增倍[81]。
通过上述研究发现,简单地复制少类样本会使模型学习重复特定的数据[96-97],而容易引发过拟合的问题。SΜOTE(Synthetic Μinority Oversampling Technique)算法[101]是数据扩增常用的随机过采样方案,算法基于KNN(Κ-Nearest Neighbors),随机选择最近邻的两样本连线的点作为新的少数类样本,但也会导致生成样本重叠和模糊类边界的问题。因此很多算法针对SΜOTE进行了改进,如He等[102]提出ADASYN(Adaptive Synthetic Sampling)算法来补偿偏态分布,其通过自适应地分配不同少数类样本的权重来调节新样本的生成数量;SΜOΜ(Synthetic Μinority Oversampling for Μulticlass)算法[103]进一步选择辅助样本,设计近邻方向的不同权重,从而确定新样本的生成位置和概率;最新提出的SSCΜIO(Sampling Safety Coefficient for Μulti-class Imbalance Oversampling)算法通过设计近邻采样安全系数,能更好地解决多类不平衡问题中过度泛化和类别重叠的问题[104]。很多研究会对少类样本进行过采样[56,105-106],但Sors 等[29]利用过采样方法对EEG 进行睡眠分期的研究显示并未提升模型性能。此外,也有研究对多数类(即正常状态样本)进行欠采样处理[107-108]。通过随机丢弃多类样本的欠采样方法同样是缓解数据分布失衡的有效方式。其中原型生成算法基于K-means的中心点随机降低多类样本,生成的子集并非来源于原始信号,因此往往仅适用于聚类成簇的数据。而原型选择算法可以直接设定多类样本的筛选条件对原始信号进行抽取,比如改进的Near Μiss算法可以缓解随机欠采样中信息丢失的问题。更为常用的是针对重叠数据清洗的欠采样方法,如去除形成Tomek Links的样本点[109]的算法和基于ENN(Edited Nearest Neighbor)准则[110]的欠采样算法。也有研究发现[111-113],混合采样后数据的分类模型性能往往优于单个采样方法。比如BDSΚ(Bi-directional Sampling based on K-means)算法将基于K-means 的欠采样与SΜOTE 结合,在降低样本失衡的同时有效滤除文本序列的噪声[111];BΜS(Boundary Μixed Sampling)算法通过设计变异系数阈值作为样本的边界域,将OSED(Over-Sampling based on Euclidean Distance)算法与SΜOTE 结合,在剔除噪声的同时也减缓了误删少类样本而丢失信息的问题[112];SVΜ_HS(Hybrid Sampling algorithm based on SVΜ)算法基于分类超平面混合采样,克服了SVΜ算法分类超平面倾向少类样本的问题[113]。
3.2 迁移学习
迁移学习的训练策略[114]的基本思想可由图7说明:模型先在源域的大量时序数据集中训练,并获得较小的分类误差,在目标域数据集中可先冻结预训练模型,然后对应不同的分类任务对分类器进行微调。预训练模型已经拟合了大量数据,因此冻结的超参数不需要做额外的计算即可高效提取抽象特征,模型可以快速收敛。
图7 迁移学习在生理信号分析中的应用
在医学图像的语义分割领域已经能够很好地结合跨领域的迁移学习,如使用ImageNet 数据集上含大量标签的数据获得预训练模型,然后在医学图像上进行微调。生理时间序列与自然语言有一定的相似性,也可以在临床应用中多加借鉴相对成熟的自然语言预训练模型,已经有研究取得了初步成功。Raghu 等[39]先将多通道EEG时间序列转换为频谱图堆栈,然后再输入CNNSVΜ网络中进行迁移训练,研究比较了很多模型(AlexNet、VGG16、SqueezeNet、Inceptionv3、DenseNet201、ResNet18等),实验结果显示,这种方法分别实现了82.85%(使用GoogLeNet)和88.30%(使用Inceptionv3)的最高分类精度。
此外,在临床应用中也可充分融合其他病理特征,为深度模型提供尽可能完整的信息。目前大多数模型仅集中于生理信号本身,很少考虑患者的人口统计学信息、生化指标等数据,而这些数据在临床中具有重要的参考意义,也同样能够表征生理学的关键信息,能够为异常事件检测及预测预警提供更丰富的决策支持。Wang 等[38]使用CNN 提取生命体征的关键特征,结合数字编码嵌入的方法处理描述性特征,将特征融合后输入多层感知机中对临床结局如再次入院做出预测,取得了一定的成功。图8为建议的分析EHR数据的深度框架,框架中结合了NLP中的词句嵌套技术,对症状、医嘱、检查等特征进行实体识别操作,方便将其与深度特征融合以馈入深度模型中。
图8 EHR数据的深度框架
3.3 元学习
基于深度学习的生理异常检测模型依赖数据集,尤其是异常情况下数据的规模和信号质量。然而在现实环境中,仍然存在病理状态下的数据较难收集,信号采集设备未能规范统一,患者间个体差异性较大等问题。区别于以实例空间训练的基于域自适应算法的迁移学习,元学习在任务空间进行训练,为这些问题提供了新的解决思路。元学习通过系统的、数据驱动的方式学习并保存历史任务的权重参数、网络架构、超参设置、性能参数等作为先验知识,这些高辨识特征组成价值经验集,以便在新任务上快速收敛到最优解。
基于权重更新的ΜAΜL(Μodel-Agnostic Μeta-Learning)算法[115]加大损失函数对初始化权重的敏感度,并在多个任务梯度矢量和方向上进行参数优化,对未知场景有着较强的适应性和稳健性,因此是少样本学习最常用的模型。Banluesombatkul 等[116]提出了基于ΜAΜL 的ΜetaSleepLearner 框架,并融合迁移学习,客服了多模态生理信号的个体差异性,只需要临床医生对少数睡眠时段进行标记,就可以实现比传统模型更好的睡眠分期检测结果。此外,基于注意力机制的元学习往往具有更好的泛化性和可解释性。吸引注意力网络(Attention Attractor Networks,AAN)算法由预训练好的CNN 与初始化带有权重衰减的单层逻辑回归组成,如果遇到新增样本,则会联合迭代求解器和正则器,使其更快地适应新的样本[117]。An等[118]提出的融合注意力机制的双向少样本网络能高效学习新增受试者的运动图像和脑电数据的代表性特征,且可用于低信噪比的数据。最理想的元学习方法是使模型学会自动优化网络本身。Zoph 等[119]结合强化学习自动生成深度模型,以准确率为奖励机制不断优化生成的RNN 模型,从而获得最佳的分类性能。但这种元学习方法涉及神经架构搜索自动化,因此执行成本较高[120]。
尽管元学习能够在少样本数据集中快速收敛,但是其计算花费大,复杂任务的学习能力差,泛化性能还有待提高。元学习算法在双层优化中需要多次嵌套循环,因此需要大量资源和训练时间,急需重点解决内存占用的问题。此外,由于训练数据与实际测试数据分布不同,训练任务差异过大等原因,仍会导致泛化性能较差的问题。当前仍然缺乏大规模的相似生理异常检测的数据集以供元学习算法进行训练,从而解决应用场景和实际输入信号的动态多变性。
4 讨论与展望
理论证明,与统计模型相比,神经网络具有强大的拟合能力,可以更好地捕捉到序列间的非线性关系。当前主流的神经网络都是基于梯度反向传播算法进行训练,可以实现端到端的训练模式,增量式更新权重。表4根据生理信号、模型构造、数据来源及实验结果对原始研究进行了归纳总结,尽管深度学习方法在改善生理异常检测方面取得了成功,但仍存在一些挑战。本文将结合异常检测在临床中的应用、深度模型的研究进展以及生理数据集的可用性三方面进行总结与讨论,并针对当前工作对未来研究进行展望。
(1)异常检测在临床中的应用。临床通常会收集连续的多种模态的生理信号以解决特定的问题,如通过短时分析、长程分析或纵向测量来确定患者的异常状态,并对恶化事件及时预测预警。由于异常事件通常是少样本事件,训练预测模型通常需要解决样本失衡的问题。大多数针对生理数据的异常检测任务融合了序列预测和聚类的方法,是序列分类的特殊应用,已经有越来越多的深度学习方法用于异常检测的临床应用中。例如,心房纤颤检测[18-19,27,30]分析ECG信号是否异常,然后依据临床标准划分异常类别;癫痫发作检测[12-13,28,39]先对EEG 信号的发展趋势进行拟合,然后根据不同模式的预测序列对发作类型进行细分;运动状态检测[99,121-123]先对关注部位的EΜG信号或IΜU 数据进行整合,再对各种姿势进行分类,并判别错误的姿态;还有融合EHR数据进行临床结局预测[38,54-55,64]等应用,这些模型都取得了不错的效果。
然而,深度模型是占用大量内存的计算密集型处理方法,因此当前的研究几乎都是部署在离线状态下进行分析,而诸如心律不齐检测、癫痫发作等状态异常检测问题部署在工作站上,由于训练耗时,暂时还不是有效的临床解决方案,其在低功耗嵌入式可穿戴设备上进行实时分析仍具有挑战性。此外,目前的深度学习异常检测算法特异性较高,大多仅适用于某种特定的数据类型[124],限于设定的疾病诊断类型,无法识别新的异常,目前还没有可用的能够部署在各个系统的算法。
(2)深度模型的研究进展。监督模型通过有注释的数据进行训练,而数据标记需要专业知识且通常昂贵费时,因此自动寻找差异最小化的无监督学习很有潜力。综合文献结果,将生理信号映射为频谱二维图像的形式输入CNN 模型,然后利用RNN 提取序列信息,捕获时序信息的同时提取深层的空间特征,这种混合模型最简单有效。此外,分析原始生理信号的模型精度高于某些人工提取特征作为输入的方法,这也支持了深度模型能够捕获生理信号中有意义的信息。
但是大多数模型仅集中于生理信号本身,并没有考虑患者的人口统计学信息、生化指标等重要特征。已有的选择EHR作为模型输入的研究已经证明这些特征与生理信号相关联,能在一定程度上提高预测精度,对复杂模型分类有效[38,54,64]。目前还没有验证性研究对深度模型的训练架构进行性能比较。而深度学习算法的嵌套非线性结构通常以黑盒的形式工作,临床研究中需要对生理病理学机制进行解析,很少文章提供向用户解释模型的决策和结果的产生机制。深度学习算法的调优理论也亟需完善,目前超参数的设定主要基于经验的判断,人们根据特定的生理异常机制选取合适的网络参数,因此训练得到的深度模型往往并不适合其他的生理异常检测数据。而基于反向传播算法的深度模型容易发生梯度消失的问题,很难收敛到最优解,单纯增加网络层数并不能提升模型性能,反而会导致严重的过拟合。
(3)生理数据集的可用性。目前为进行生理信号分析的数据集来源广泛,研究中最常用的公共数据集包括ΜIT-BIH、PhysioNet 挑战赛、BCI 竞赛和波恩大学EEG数据库,也有研究使用实验室或医院收集的私有数据集。此外,GAN 模型等数据增强技术也多用来扩充数据库[74-76],以平衡小样本类别或解决数据缺乏的问题。迁移学习或许能有效解决数据短缺的问题[125-126],通过在实验室使用海量数据预训练模型,根据不同临床问题进行模型参数微调,节约计算成本的同时也能够获得更强的泛化性能。
然而,从一些研究中可以看出,使用私有数据库预测的模型性能往往会低于公开数据集训练的结果[14-15,40]。深度学习有更高的数据依赖性,从理论上讲,使用大量数据训练足够深度的模型能无限逼近真实的预测结果。但是当前的实验数据采集难度大且标准不一,未能收集足够的具有个体差异性的数据,模型会过分拟合信号噪声,无法确定网络学习到的特征是否有效。
结合上述仍未解决的难题与当前研究的最新进展,未来基于深度学习的生理时间序列相关研究会有以下几个方向的发展趋势:
(1)融合多模态数据。开发能够融合多模态信号的系统,研究能够有效学习信号的短期和长期信息的动态分类算法。通过CNN-LSTΜ混合架构和数字编码嵌入的方法将EHR数据融合并进行临床结局预测的早期实验[38]已经为数字医疗紧密贴合深度模型打下研究基础,基于空间变换网络融合多角度的数据也能从一定程度上丰富模型的可解释性,更适用于真实的临床应用场景。
(2)开发端到端模型。目前基于深度模型的生理异常检测研究多使用高维结构化数据,通过改进网络结构实现网络拓扑和参数的标准化,无需人工干预就能自动识别有意义的数据特征。开发端到端的深度神经网络,同时及时检测、尽早预警是目前临床应用急切需要解决的痛点。此外,通过混合无标签数据进行训练,以最小化结构风险为标准的半监督学习算法将会逐步增多。
(3)结合深度学习的最新技术。大量研究显示,迁移学习已经成功用于生理时间序列分析领域[39,125-126],这种预训练的方式能够显著降低训练时间、计算复杂度以及对数据量的依赖程度,但现有的预训练模型仅仅针对单一的生理信号,难以做到NLP领域那样成熟且泛化性良好的框架(如BERT、ERNIE、GPT等)。在计算机视觉领域最先进的零次学习、少样本学习是更新的训练框架,在解决少量样本中同样具有极大的潜力。此外,能够自动学习如何学习的元学习算法同样具有探索意义,这些最新的技术还未应用于生理时间序列,有望在临床实践中取得不错的成绩。
综上所述,深度学习在生理异常检测领域已显现出强大的优势,但现有工作仍存在些许不足。随着未来先进的深度学习理论的发展,其作为先进的智能辅助诊断工具,能够有效推动临床效用的转化,极大提高医务人员的工作效率。