增强深度学习与对抗训练对癫痫发作的鲁棒预测

news2024/11/24 22:31:35

标题:Augmenting Deep Learning with Adversarial Training for
Robust Prediction of Epilepsy Seizures

Abstract:

癫痫是一种慢性疾病,涉及异常的大脑活动,导致患者失去对意识或运动活动的控制。因此,在癫痫发作之前检测出癫痫发作前的状态可以挽救生命。这个问题是具有挑战性的,因为很难区分在频前状态的脑电图信号和正常频间状态的信号。有三个关键的挑战是以前没有解决的:(1)预测模型在患者之间的表现不一致,(2)缺乏完美的预测来保护患者免受任何事件的影响,以及(3)用于推进机器学习(ML)方法的临界前标记数据数量有限。本文通过一种新颖的方法解决了这些限制,该方法使用对抗性示例,并对带有门控循环单元的组合卷积神经网络进行了优化调整。

与目前的技术水平相比,结果表明,模型鲁棒性提高了3倍,曲线下面积(AUC)的变化减少了,AUC精度平均提高了6.7%。该方法在机器学习和癫痫预测领域的其他进展(包括高斯噪声数据增强和多任务学习)中也表现出优异的性能。

1 Introduction

本文解决了这些挑战,并介绍了一些贡献:

用脑电图时间序列数据增强对抗实例(AE)用于癫痫发作预测。对于机器学习领域来说,AE并不陌生,但它在癫痫数据生成方面的应用是新的。该方法有助于确保模型在数据变化的情况下得到训练时的稳健性。随着更多的训练数据变得可用,该方法也有助于克服训练数据的限制。

虽然卷积神经网络(CNN)和门控递归单元(GRU)的选择对于时间序列来说并不新鲜,但它在癫痫以及癫痫发作预测组件优化方面的应用是新的:(1)时间处理,仔细选择时间窗口,同时检查数据的稳定性,以确保窗口足够大,能够捕捉到所需的模式,同时确保不同时间窗口的一致性。(2)层的具体选择是通过调整过程选择的,以确保最高的准确性,同时保持曲线下面积(AUC)达到的所需稳健性。由此产生的网络拓扑不同于先前的工作。(3)通过用独特的患者数据进行训练并为每个患者生成个体AE,为每个患者开发个体模型。这种方法确保了导出的模型可以在患者之间提供改进的区分。所提出的方法在两个基准数据集上实现了最先进的性能,通过AUC、每小时假阳性率(FPR/小时)和灵敏度进行测量,如下所述。与基于频谱分析的现有技术[36]的比较表明了基于时间的处理的优越性。

在稳健性方面,对于两个基准数据集,结果显示患者之间的差异显著减少。稳健性在两个基准数据组中用几个指标证明,包括:每个数据组中患者的AUC平均标准偏差减少2倍和2.5倍,灵敏度的平均标准偏差减少2倍,每个数据组的AUC范围(患者的最大和最小AUC值之间的差异)减少2.5倍和3倍。就发作前预测的准确性而言,结果显示每个数据集的平均AUC分别提高了2.8%和6.7%。对于每个数据集,灵敏度分别平均提高了3.96%和1.8%。每个数据集的FPR/h分别提高了8%和62.5%。本文的其余部分组织如下:第2节概述了癫痫发作预测的相关工作。第3节介绍了我们提出的方法,第4节包含了实验和结果,并与最先进的技术进行了比较。在第5节中,我们包括了结论和研究结果的总结。

2相关工作

使用机器学习技术进行癫痫分类的相关工作可以分为基于特征的方法和深度学习方法。在每个类别中,研究人员已经检查了癫痫检测和预测的两个不同问题,但通常检查信号中的相似特征。这些方法在这里进一步详述。

2.1基于特征的方法

2.1.1癫痫发作检测:

为特定患者的癫痫发作检测而定制的特征工程技术已经成功实现了非常高的灵敏度89.66%,在21名患者中获得了0.49的FPs/h值[11]和(100%),在相同患者中具有非常低的假阳性率[7,27]。在[31]中,作者开发了一个机器学习框架,能够识别癫痫检测的关键特征。他们使用支持向量机构建患者特异性模型,同时考虑灵敏度、特异性和潜伏期作为性能指标。该工作为癫痫脑电数据预处理以及特征提取和评价方法提供了一种新的途径。尽管这些方法获得了非常高的灵敏度,但它们严重偏向于特定的数据集。此外,它们仅用于癫痫发作检测,而非预测。

为了推广使用MTL的癫痫发作检测,在[38]中提出了基于特征的患者特异性MTL-SVM模型。提取的特征是通过使用频率范围为0.5至25 Hz的四个滤波器组对每个通道的EEG信号进行滤波,然后类似于[31]中所做的工作计算每个频带内的能量而获得的。此外,所提出的模型被开发来学习各种患者特异性癫痫发作的一般表示,以便更好地推广到所有不同类型的患者特异性癫痫发作。虽然这项工作的目标是提高模型的可推广性,但模型的特征不足以预测癫痫发作,因为它们仅包括来自滤波器组频带的能量特征,不足以检测代表发作前状态的EEG信号的变化。

2.1.2癫痫发作预测:

癫痫发作预测的主要目标是检测发作间期和发作前状态之间的过渡期,称为发作前状态[12]。在以前的工作中,使用机器学习方法探索了用于癫痫发作预测的不同信号处理技术。例如,在[10]中,探索了用于癫痫发作预测的频域和时域特征组合的合理性。提出的特征向量包括自回归拟合误差、去相关时间、能量、迁移率和复杂度、δ、θ、α、β和γ频带中的谱功率、谱边缘(功率、频率)、四个矩(均值、方差、偏斜度、峰度)、六个分解级的能量小波系数。对216名患者测试了所提出的方法,并且对所有患者实现了38.47%的灵敏度和平均0.2 FPR/小时,而仅对24名患者实现了统计显著性。在[28]中,EEG信号段被过滤以获得四个频带,即δ、θ、α、β和γ。从每个频带中提取以下特征:1)归一化谱功率特征2)四个矩3)活动性、移动性和复杂性特征4)信号的累积能量5)拟合10阶AR模型产生的自回归(AR)误差6)去相关时间7)谱边缘功率8)小波系数。此外,实验还包括确定发作前时间、标准化方法、平滑和异常值去除的最佳组合。发现平滑、异常值去除和通过每个特征的最大值进行归一化为大多数患者提供了最好的结果。所提出的方法实现了73.9%的平均灵敏度,10名患者的FPR/h平均为0.15。以前的方法主要依赖于单变量特征,而不是从多个通道的组合中提取的多变量特征。例如,在[3]中,提出了双变量谱带功率特征用于癫痫发作预测。所提出的特征在24名患者中实现了75.8%的平均灵敏度和0.1的FPR/h。在[22]中,探索了非线性双变量特征的使用,例如小波同步。此外,所提出的特征实现了71%的平均灵敏度,15名患者的平均FPR/小时为零。

虽然在基于特征的癫痫发作预测的文献中可以找到不同的推荐特征集,但没有特定的特征集被证明是预测癫痫发作的最佳集[2]。此外,所提出的方法需要领域知识,并且对于不同的患者或不同的数据集可能不能类似地执行。

2.2深度学习方法

深度神经网络(DNN)模型,如卷积神经网络CNN和递归神经网络(RNNs),已被证明在从时间序列序列中自动提取特征和学习时间动态方面非常有效[25,40]。在[16]中,研究人员引入了一种自动癫痫检测方法,这种方法对现实生活条件下的噪声具有鲁棒性。他们使用具有时间分布密集层的长短期记忆(LSTM)从EEG信号中自动提取鲁棒特征。在一项预测癫痫发作的模型性能研究中,由[13]进行了全面的比较。有人指出,由CNN和长短期记忆(LSTM)组成的模型在灵敏度和虚警率方面优于(隐马尔可夫模型(HMM)、HMM堆叠去噪自动编码器(SdA)、HMM-LSTM、增量主成分分析(IPCA) -LSTM、CNN多层感知器)。

对于癫痫发作预测,[1]的作者使用由5个卷积层组成的1D-CNN从原始EEG信号进行自动癫痫发作预测。这种方法只在FB数据集[24]上进行了测试。在[18]中,作者提出在将数据馈送到CNN模型之前,对EEG信号使用小波变换(CWT)作为预处理步骤。在[19]中,提出了一种可以在低功率设备上运行的深度学习模型,用于使用从大脑表面获得的颅内EEG信号来执行实时癫痫预测。在使用期内,可以使用用户的数据来自动重新训练所提出的模型,其中在每个月之后,可以使用来自患者的新记录数据来微调该模型。该模型还可以在智能手表上运行,并提供比随机预测器好42%的预测,平均灵敏度为69%。所提供的模型是用户特定的,需要在开始预测之前记录用户2个月的数据,并且对于真实世界的使用来说不够可靠,因为它只对15个患者和一个数据集进行了测试。此外,在保持整个发作前状态进行测试,同时对其余数据进行训练以确保概括的情况下,没有对所有前述方法进行评估。在[36]中,研究人员提供了一种癫痫发作预测的通用方法,其中他们使用只有三层的2D CNN以避免过度拟合。使用短时傅立叶变换(STFT)将EEG信号转换成类似图像的数据,以使其适用于2D CNN。然而,这种方法的主要缺点是它不能模拟信号的时间动态和长期相关性。

2.3泛化方法

研究表明,研究深度网络如何失败并强化其对抗对抗性攻击将有助于更好地理解dnn的工作原理并提高其泛化能力[4,23,29,35]。[15]表明,与生成ae的原始数据相比,ae具有不同的统计分布。这表明ae在统计上不同于生成它们的数据集。在[34]中,作者提出用ae增强训练数据以提高网络的鲁棒性。此外,[14]引入了具有对抗目标函数的训练,与dropout相比,该函数表现为更好的正则化器,并实现了更好的泛化。因此,[33]使用ae训练来提高深度神经网络对噪声和信道变化语音识别的鲁棒性。

总之,现有的方法都没有解决模型对其他大脑活动噪声的鲁棒性和患者癫痫发作预测的差异。

3 所提出的机器学习模型

本文的目的是开发一种适用于从原始脑电信号中自动提取特征、准确检测癫痫发作前状态并对脑电信号中的噪声具有鲁棒性的方法。癫痫发作预测的主要挑战之一是一些发作间期状态类似于发作前状态,如图2所示。可以看出,有时,对一个患者来说似乎是发作前信号的信号可能对另一个患者来说似乎是发作间信号,反之亦然。

 图二 来自CHB-MIT数据集的EEG信号。a)患者(1)在频域和时域中的发作间信号。b)患者(3)在频域和时域中的发作前信号。频域中每个子图的“X”轴表示频率,单位为赫兹,时域中表示时间,单位为秒。两个子图的“Y”轴是以微伏为单位的振幅。

另一个更具挑战性的情况是,发作间状态可能类似于同一患者的发作前状态,如图3所示。

 图3 来自CHB-MIT数据集的EEG信号。a)患者(14)在频域和时域中的发作前信号。b)患者(14)在频域和时域中的发作间信号。频域中每个子图的“X”轴代表以Hz为单位的频率,时域中代表以秒为单位的时间。两个子图的“Y”轴是以伏特为单位的幅度。

图4显示了针对提议的对立示例(AEs)的高级解决方案。图4描述了使用(AEs)进行学习的高级步骤,其中首先使用EEG信号训练建议的模型,然后使用训练的模型生成AEs。然后,将训练数据与AEs相结合,以在扩充数据上重新训练模型。系统的输入包括从颅骨外的皮肤电极(头皮脑电图)和大脑表面的植入电极(颅内脑电图)记录的脑电图信号。该系统的输出是癫痫发作状态预测、发作间期或发作前状态。

3.1数据预处理

采用陷波滤波器对脑电信号进行滤波,去除电力线噪声。Freiburg数据集被50 Hz的电源频率污染,而CHB-MIT数据集被60 Hz的电源频率污染。因此,对于Freiburg数据集和CHB-MIT数据集,频率范围为47–53Hz和97–103Hz以及57–63Hz和117–123Hz的分量分别被移除。

之后,使用z-score对数据进行归一化,以确保所有通道的平均值和单位方差为零。之后,EEG信号用长度为30s的滑动窗口分割,50%重叠以确保平稳性。使用增广的Dickey-Fuller (ADF)测试检查加窗信号的平稳性,这是一种单位根测试,使用自回归模型并优化多个不同滞后值的信息标准[9]。在ADF测试中,我们首先定义了零假设,该假设表明信号可以由单位根来表示,单位根表示信号中的时间相关结构,因此表示其非平稳性。我们指定显著性水平为5%。在对加窗信号应用这种测试方法之后,我们发现所有生成段的p值都显著低于5%。因此,我们拒绝零假设,并得出结论,有足够的证据表明,所产生的部分是稳定的。

3.2 CNN-GRU模型

 图5所示 采用CNN-GRU架构,其中FB和CHB-MIT数据集的批大小为256,脑电信号的窗口长度为7680,通道数分别为6和22。

所提出的模型如图5所示,其简短描述如下:C(f,k,s):用过滤器数量“ f ”、内核大小“k”和步进数量“s”表示卷积层。该模型由卷积层组成,通过叠加多个操作符来创建抽象特征的层次。在处理EEG时间序列时,采用一维卷积运算对时间序列信息进行建模。每个卷积核都充当一个过滤器,过滤掉时间序列数据并检测相关模式。此外,卷积核对多变量信号进行深度滤波,其中每个通道对应的权重在训练阶段被学习,从而通过通道获得最佳的信号集成。

循环层由门控循环单元(gru)组成,对脑电信号的时间依赖性进行建模。gru是一种特殊的循环单元,它具有更新和重置门,允许模型决定保留多少历史信息。该特性使所提出的深度体系结构能够对时间序列的时间动态以及长期依赖关系进行建模。

 3.3对抗性学习

通常,经过良好训练的机器学习模型 f(x:θ)能够捕捉模型的输入 Xi 和输出 Yi 之间的非线性关系,其中 θ 代表模型参数。为了给学习模型提供更好的泛化,我们建议使用用对抗性示例来增强训练数据的想法,以提高模型对对抗性示例以及来自破坏EEG信号的真实生活条件的噪声:肌肉伪影和眨眼的稳健性。

文献中已经表明,最先进的模型很容易对与原始数据略有变化的示例进行错误分类[14]。此外,已证明神经网络的分类决策在高维是线性的,它只需要知道扰动的方向就可以越过分类边界并误导模型预测。因此,我们期望对抗性样本训练方法将有助于模型更好地区分具有较高相似性的不同脑电信号,并降低噪声引起的虚警率。

AES是一种特殊类型的数据,它是通过向原始输入数据添加噪声而生成的,该噪声经过优化以误导模型分类。增加的对抗性噪音是人类感觉不到的。在这篇文章中,我们假设一个白盒设置,在这里我们可以访问模型参数θ。为了生成与模型 f(x':θ)相反的实例X',通过计算关于导致网络到错误分类Yt的输入的梯度来获得少量噪声 σ,如等式所示(1-4)。

图6进一步说明了生成ae的过程。第一步是在真实数据上训练模型 f(x;θ) 通过最小化损失函数        J ( f(x;θ),y) 相对于模型参数 θ 。损失函数J ( f(x;θ),y) )是平均交叉熵。在第二步中,保持模型参数不变,并通过计算相对于输入的梯度来获得所需的噪声′σ′,该噪声将使网络对相应的输出进行错误分类。生成AEs需要找到 x' ,x' = x + σ, 最小化损失函数的选择相应的目标类 yt ,yt ≠ ytrue, ytrue 才是真正的 x 相应的类,M是类的数量,N是批处理的样品数量,是在Eq(5、6)。

L2范数正则化加上Eq.(5)中的损失 J (yt,y^) 用于惩罚优化过程中较大的噪声值,其中 λ 表示最小化噪声的重要性。正则化确保生成的ae接近原始输入。

图6所示。对抗性示例生成方法的框图。输入是一个三维张量[B, W, CH],其中“B”表示批大小,“W”表示脑电信号的窗口长度,“CH”是通道数,对应于用于脑电信号记录的电极数量

4实验与结果

提出的方法通过受试者工作特征曲线(ROC)进行评估,该曲线绘制了所有分类阈值的真阳性率与假阳性率。计算曲线下面积(AUC)、灵敏度和每小时FPR/h假阳性率,量化各模型的性能。为了得到FPR/h,我们进行k-of-n分析,与[36]保持一致,其中对于每n个预测,只有在至少有k个正预测时才会发出警报。在[36]中,k和n的取值分别为8和10。由于数据是用30秒的窗口分割的,所以模型每30秒产生一次预测。如果有告警,35分钟内算作1次告警。

为了与[36]进行公平的比较,对两个数据集的每个患者采用留一发作交叉验证方法。如果患者有N个发作前状态,则在每一叠中保留一个状态进行测试,并使用N-1个发作前状态进行训练。发作间期状态被随机分成N个部分,但每个发作间期状态都比发作前期状态长得多。训练数据是平衡的,使得发展前状态的数量等于发作间期状态的数量。因此,在每一叠中使用N-1个间期状态和N-1个前期状态进行训练,使用一个间隔状态和一个前期状态进行测试。此外,将训练数据分成90%用于训练,10%用于监测模型在每个epoch的学习过程,如图7所示。

 

4.1实验设置

 所有的单任务模型都是使用谷歌的深度学习库Tensor-Flow实现的。我们在一台配备NVIDIA GTX 1080 GPU、英特尔酷睿i7-7700 (3.60 GHz) CPU和32gb内存的PC上运行我们的模型。对于Multitask模型,我们使用了一台配备NVIDIA Tesla T4 GPU、16个vcpu、128 GB RAM的Google Cloud虚拟机。

4.2数据集

为了将我们的结果与[36]得到的结果进行比较,我们遵循相同的数据准备步骤,为两个数据集Freiburg Hospital dataset (FB)[24]和CHB-MIT dataset[31]提取每个患者的发作前和发作间状态。FB数据集包含21例患者的颅内脑电图(iEEG)信号,采用6个通道,采样率为256hz。然而,由于缺乏完整的FB数据集,仅选择了13例患者。CHB-MIT数据集由23名患者的头皮脑电图(sEEG)数据组成。该数据以256hz的采样率为每位患者使用22个通道记录844小时。

在[36]的工作中,间期状态定义为癫痫发作前至少4小时至癫痫发作结束后4小时之间的时间段。多次发作可能彼此紧密地发生,因此癫痫发作前状态与前一次发作间隔小于30min的癫痫发作前状态被视为一次癫痫发作前状态,癫痫发作预测任务成为预测前次癫痫发作的任务。此外,有些患者平均每2小时发作一次,这不足以预测癫痫发作。因此,只考虑每天癫痫发作少于10次的患者。根据这些定义,仅从CHB-MIT和FB数据集中选择了13例患者。癫痫发作前状态被认为是30分钟,在癫痫发作前5分钟结束,让患者有足够的时间采取适当的行动。

 4.3 CNN-GRU模型参数的整定

为了对CNN-GRU模型进行超参数调优,我们采用了与[36]相同的方法,从不同时期选择训练和测试样本,以避免过拟合。具体来说,发作间期和发作前期的后30%的样本被选择用于测试而前70%的数据用于CHB-MIT和FB数据集的训练。架构大小和复杂性的选择都经过仔细检查,以确保模型不会太复杂而过拟合数据,也不会太浅而欠拟合。我们使用AUC度量作为真阳性和假阳性之间平衡的指标。卷积层从(1-6)层变化,核数从(32、64、128、256)中选择。内核大小和步进数量的选择使得每次执行一个步进时过滤器至少重叠30%。从(3,5,7,9,11)中采样核的大小,每个核对应的步长为(1,2,3,4,5),并在每个大小和步长为2的卷积层后进行最大池化操作。可以获得最佳性能的层数为4层,如图8所示。

循环层的数量从(1,2,3)改变,单元的数量从(32,64,128,256)中选择。结果发现,增加1层以上的层数和增加128层以上的单元数并不能提高精度。因此,我们选择了一层128个单元的GRU。

4.4对抗性学习

为了生成对抗性示例,在优化过程中使用Eq.(5,6),并遵循图6所示的方法。此外,对噪声采用L2范数,使其不超过原脑电图信号L2范数的1%。生成的样本由50%的间期和50%的前期组成,因为发作间期状态的信号如[36]中被下采样,以使数据平衡。Eq.(6)中 λ 的最佳值选择0.001,既保证了快速收敛(200步),又保证了有效的脑电信号与原始脑电信号无法区分,如图9所示。在一次发作-遗漏交叉验证期间,只有训练数据在每一叠上增加ae。选择此配置是为了在训练数据增强后测量测试数据上的确切性能。

为了验证声ae增强不会破坏窗口的平稳性,我们运行了增强的Dickey-Fuller (ADF)测试,该测试通常用于检查平稳性。ADF检验表明,所有AE生成片段的p值都显著低于5%,保证了平稳性。

图9所示。用对抗性噪声干扰脑电图前信号分类的实例。“X”轴以秒为单位表示时间,“Y”轴以微伏为单位表示振幅.

4.5结果与讨论

表(1,2)总结了在FB和CHB-MIT数据集上使用AEs增强和不使用AEs增强训练的CNN-GRU基础模型的结果,并与MTL增强方法和现有技术进行了比较[36]。此外,我们将我们提出的ae增强与高斯噪声(GN)的数据增强进行了比较。灵敏度、FPR/h和AUC通过对每个患者的一次发作遗漏交叉验证的折叠数进行平均得到。

可以看出,我们提出的ae增强模型在FB和CHB-MIT数据集上的平均灵敏度分别为83.18%和85.16%,FPR/h分别为0.055和0.06。将我们提出的方法与先前[36]的工作进行比较,我们注意到它在CHB-MIT数据集上的灵敏度提高了3.96%,平均降低了62.2% FPR/h的相对百分比。另一方面,对于FB数据集,我们提出的方法的灵敏度提高了1.8%,平均降低了8% FPR/h的相对百分比。此外,

结果显示,与目前的技术水平相比,CHB-MIT和FB数据集的灵敏度平均标准差显著降低了约2X[36]。还可以注意到,与没有AEs增强的FB数据集相比,所提出的CNN-GRU模型在CHB-MIT数据集上的平均灵敏度更高,FPR/h更低。这些结果是合理的,因为CHB-MIT数据丰富,有22个通道,而FB数据集iEEG信号只有6个通道。

图10。发作前和发作间分类的15号患者嵌入的2D t-SNE可视化FB数据集。a)没有AEs的所提出的CNN-GRU方法的嵌入。b)提出的CNN-GRU方法与AEs的嵌入。

我们现在进一步分析和讨论了CNN-GRU模型在FB和CHB-MIT数据集上对ae增强数据的训练效果。在每个折叠中,只使用训练数据生成3.3节所述的ae,而测试数据保持不变。可以注意到,在用ae增加数据后,大多数患者的敏感性提高了,两个数据集的FPR/h都降低了。对抗性样本的训练可以作为一种正则化器,防止模型过度拟合。从患者14 FB数据集的AUC结果可以看出,在增加ae数据后,AUC从0.72跃升至0.98。在CHB-MIT数据集的患者(2,3,5)和FB数据集的患者(5,15,20)中观察到类似的结果。增强结果的改进也可以从对抗性训练模型的思想来解释示例允许模型为分类任务绘制更鲁棒的边界决策,因为这些示例被明确地精心制作以误导模型预测,同时在视觉上与原始数据无法区分。通过可视化基于原始数据训练的基础模型的嵌入,以及使用t分布随机邻居嵌入(t-SNE)进行AEs增强训练的基础模型的嵌入[21],对这一想法进行了进一步分析,如图10所示。很明显,经过ae增强训练后,两个类有了更好的分离边界。这两个数据集的其他患者也注意到这些结果。用ae增加训练数据的另一个优点是,这有效地增加了训练集的大小,而不需要新的数据。实验结果证明了用ae增强脑电信号数据的有效性,提高了模型的泛化能力

图11所示。在(a) Freiburg和(b) CHB-MIT数据集下,采用AE增强方法的STL的训练样本大小与灵敏度的性能增益.

图12所示。我们提出的带有ae增强的CNN-GRU模型和最先进的谱图方法在所有患者中的AUC性能比较[36]。可以看出,我们提出的方法的结果平均实现了更高的AUC,每个数据集内和两个数据集之间的方差较小

此外,研究所提出的带有AE增强的STL模型的性能如何随不同患者的训练样本量的变化而变化,将是一个有趣的问题。图11 (a)显示,最大样本数为1020的患者的平均表现与最大样本数为765的患者相似。此外,具有510个训练样本的患者比具有更高训练样本计数的数据集中的所有其他患者表现更好。同样,对于CHB-MIT数据集的图11 (b),我们看到500-600个训练样本的患者与1530个样本的患者具有相似的性能。此外,拥有1277个训练样本的患者似乎在所有患者中表现最差,包括那些只有510个训练样本的患者。性能与训练样本数量之间缺乏相关性,这可能表明所提出的模型对输入间期进行了过采样,因此,对于实例数量较少的患者来说,该模型是足够的,并且表现同样良好。

最后,为了比较所有阈值的灵敏度和FPR/h,获得了FB和CHB-MIT数据集的AUC结果。这些结果是在使用大小为256的小批进行50次epoch后获得的。使用所有患者的平均AUC及其方差来比较我们提出的CNN-GRU方法与ae增强和[36]的工作,如图12所示。

总体而言,我们提出的方法在CHB-MIT和FB数据集上的平均AUC分别达到90%和89%,显著高于谱图方法[36]的83.3%和86.2%。此外,我们的AUC结果显示,在每个数据集中,CHB-MIT和FB的AUC范围分别减少了3倍(从0.7到0.23)和2.5倍(从0.5到0.20),患者之间的范围变化较小(患者之间最大和最小AUC值的差异)。结果,我们注意到CHB-MIT和FB患者AUC的平均标准差分别显著降低了2倍和2.5倍,如图6所示。这些结果表明了我们的方法的鲁棒性,它以更少的方差实现了更高的AUC。这是预期的,因为大多数先前提出的癫痫发作预测方法在研究中过度拟合到特定的数据集,并且无法在不同的数据集之间保持一致的结果。

4.6与其他泛化方法的比较

在先前针对癫痫发作检测的工作中,已经表明多任务学习(Multitask Learning, MTL)有助于增强不同患者的训练数据,从而提高灵敏度和FPR/h[38]。我们将ae方法提供的性能增益与基线MTL方法提供的性能增益进行比较。

我们实现了一个与我们在3.2节中提出的模型在架构上相似的MTL模型,该模型由共享CNN层和GRU层组成,以提取不同患者的共同特征,然后为每个患者建立一个完全连接的层。MTL模型输出对多个患者的预测,其中对特定患者的预测被认为是一项任务。在MTL训练的每次批处理迭代中,训练优化共享层和特定于患者数据的GRU层。属于其他患者的其他GRU层在该批处理期间保持不活动状态。在从训练集中的所有患者中提取批次的epoch中,对所有患者重复该过程。

表1和表2分别显示了我们提出的单任务学习(STL)模型不加对抗示例(AE)增强、STL模型加AE增强、MTL模型同时在所有受试者上联合训练的结果。通过检查表1和表2,我们可以看到,就这两个指标而言,我们的AE增强方法在所有患者中平均优于MTL方法。

对于表1中的个体患者,患者21除外,AEs增强法在FPR/h方面优于MTL法,在敏感性方面优于MTL模型,但患者除外(6,17,19,20,21)。对于表2中的个别患者,我们的AEs增强方法在灵敏度和FPR/h方面优于MTL方法,除了患者5。

为了使MTL为不同的任务提供改进,这些任务之间应该存在大部分共享信息;否则,不同任务之间会发生负向信息传递,导致性能下降[30]。我们探讨不同患者之间的相似性,以便深入了解MTL方法在不同患者上的表现。首先从脑电信号中提取两种不同类型的特征:

•手工特征:我们按照[39]中提出的方法提取患者特异性特征,用于癫痫发作预测。

深度学习(DL)嵌入:我们对每个患者进行无AE的STL模型训练。训练后,在输出处得到的特征向量被提取为每个输入样本的特征向量。

在特征提取之后,利用欧氏距离对发作前期和发作间期特征进行K-means聚类。选择的簇数等于数据集中患者的数量。只有当两个患者的发作前期和发作间期特征向量大部分属于同一聚类时,我们才定义两个患者是相关的。

 图13所示。CHB-MIT数据集中使用手工特征的患者大脑活动的相似矩阵。a)临界点前信号的相似矩阵。b)间隔信号的相似矩阵。

图13 (a)和(b)分别显示了CHB-MIT数据集中患者发作前期和发作间期手工特征之间的相似程度。该图显示,大多数患者聚集到单独的集群中,解释了为什么MTL对这些患者的效果不佳。然而,该图并不能解释表2所示患者5 MTL表现良好的原因。

图14所示。使用DL嵌入的CHB-MIT数据集中患者大脑活动的相似矩阵。a)发作前期信号的相似矩阵。b)发作间期的相似矩阵。

图14 (a)和(b)分别显示了CHB-MIT数据集中患者发作前期和发作间期深度学习嵌入特征之间的相似程度。与手工制作的特征相比,这些数字显示不同患者的特征之间有更多的相似性。与手工特征相反,嵌入的相似性解释了为什么MTL模型在表2中对患者5表现良好。然而,它并不能解释为什么,例如,患者21的表现下降,尽管患者5和21与其他患者存在普遍的相似性。

同样,FB数据集显示,在患者之间显示的相似性与他们在MTL模型中的相应表现之间的解释不一致。虽然FB患者的相似性解释了表1所示患者21和19的表现改善,但相似性测量显示患者(6、17、20)独立于其他患者,而表1中他们的表现在敏感性方面有所改善。

我们可以得出结论,使用上述手工制作和深度学习的特征并不能准确反映不同患者之间的关系,因此不能解释MTL模型的性能。对于未来的工作,我们建议探索一种准确、一致地反映不同患者数据之间关系的特征提取方法。

另一种常用的数据增强方法是高斯噪声(GN)增强。GN增强通常用于图像数据,以提高模型的泛化性。在这一部分中,我们比较了我们提出的ae数据增强方法与传统GN增强方法的性能。训练数据用以下标准差的GN增强:0.01,0.001和0.0001。结果如表3所示,其中列类似于训练数据上使用的增强技术,行类似于FB和CHB-MIT数据集上的性能,格式如下:[灵敏度,FPR/h, AUC]。

可以看出,对训练数据进行GN增强后,与未进行增强的原始信号和AE增强相比,性能更差。而且,随着GN标准差的增大,结果会变差。另一方面,AE增强被证明是优越的。

5 结论

在这项工作中,我们提出了一种新的方法,通过对抗性示例(AE)训练来优化分层卷积神经网络(CNN)和门控循环单元(GRU)网络,用于癫痫发作预测。提出的方法旨在解决癫痫发作预测文献的三个主要局限性:(1)不同患者和同一患者数据中,癫痫发作前和正常活动之间的信号差异很大;(2)预测精度仍未达到为避免受影响患者发生危及生命的情况所要求的标准;(3)每位患者的癫痫发作前状态样本标记训练数据数量有限。

在波士顿儿童医院(CHB-MIT)和弗莱堡医院(FB)这两个基准数据集上,所提出的方法在灵敏度、每小时假阳性率(FPR/h)和曲线下面积(AUC)方面,与现有技术水平[36]相比有了显著改进。我们显示,在患者和数据集之间,模型稳健性提高了3倍在AUC变化中。此外,我们发现两个数据集的平均AUC增加了6.7%。最后,我们比较了传统的数据增强方法,包括多任务学习(MTL)和高斯噪声增强,其中所提出的方法在所有指标上都优于这两种基线。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/708236.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Learn Mongodb DB数据库部署 ②

作者 : SYFStrive 博客首页 : HomePage 📜: PHP MYSQL 📌:个人社区(欢迎大佬们加入) 👉:社区链接🔗 📌:觉得文章不错可以点点关注 &#x1f44…

类加载的时机

类加载的时机 类的生命周期 类从被加载到虚拟机内存开始,到卸载出内存为止,它的整个生命周期包括以下 7 个阶段: 加载 验证 准备 解析 初始化 使用 卸载 验证、准备、解析 3 个阶段统称为连接。 加载、验证、准备、初始化和卸载这 5 个阶段的…

【MATLAB第49期】基于MATLAB的深度学习ResNet-18网络不平衡图像数据分类识别模型

【MATLAB第49期】基于MATLAB的深度学习ResNet-18网络不平衡图像数据分类识别模型 一、基本介绍 这篇文章展示了如何使用不平衡训练数据集对图像进行分类,其中每个类的图像数量在类之间不同。两种最流行的解决方案是down-sampling降采样和over-sampling过采样。 在…

力扣 -- 64.最小路径和

题目链接&#xff1a;64. 最小路径和 - 力扣&#xff08;LeetCode&#xff09; 下面是用动态规划的思想解决这道题的过程&#xff0c;相信各位小伙伴都能看懂并且掌握这道经典的动规题目的。 参考代码&#xff1a; class Solution { public:int minPathSum(vector<vector…

filezilla 刷新文件

ubuntu上的filezilla一直右键找不到文件刷新的选项&#xff0c;今天终于找到了 点击那个循环利用的按钮&#xff0c;就是刷新文件和文件夹&#xff0c;这个和mac上的操作有点不一致&#xff0c;很奇怪哈

PHP --- 基础(01)

简单介绍 &#xff08;1&#xff09;PHP基本语法操作 <?php $iphone13 5880; // 变量首字母不能是数字&#xff0c;同时变量区分大小写 $iphone12 5000; // 变量名尽量有意义 $shen $iphone13 $iphone12 echo $shen; // echo是在php中常用的输出、显示功能的命令 ?&…

使用 arpl 在 PVE 上安装黑群晖

arpl 是 GitHub 上开源的自动装载程序&#xff0c;能够实现使用 arpl 在物理机或虚拟机中安装黑群晖 1. 下载 arpl 在 GitHub 项目 fbelavenuto/arpl 的 Releases 中选择下载最新版本&#xff0c;选择 img.zip 后缀的文件进行下载 解压后可以得到一个名为 arpl.img 的文件&am…

一.《泽诺尼亚》背包物品数据分析和遍历

寻找突破口 1.首先寻找突破口,围绕一个“变”字去找 2.之前在别的课程中也给同学们说过,我们在找背包物品遍历,无非就是要先拿到物品对象 3.然而要拿到物品对象,必须先拿到物品属性,然后逆向分析拿到物品对象 4.那么问题来了, 怎么拿到物品属性呢&#xff1f; 5.这时候就要…

Fiddler如何进行弱网测试

目录 前言 1、Fiddler设置 2、手机设置 3.设置模拟调制解调器的速度&#xff1a; 4.设置手机代理 前言 使用Fiddler对手机App应用进行抓包&#xff0c;可以对App接口进行测试&#xff0c;也可以了解App传输中流量使用及请求响应情况&#xff0c;从而测试数据传输过程中流量…

上海师范大学Windows端VPN使用教程及课表查询方法

1、首先强调&#xff1a;学生电子邮件和 VPN 服务须在修改初始密码之后才能登录使用。 2、其次&#xff1a; 学校已为每位新生开通了统一身份认证账号&#xff08; CUID &#xff09;&#xff08;如&#xff1a;1000101010, 详见录取 通知书上的 CUID&#xff09; 。 初始密码…

protobuf的Proto3语法学习 (二)

文章目录 五、proto3语法详解1. 字段规则2. 消息类型的定义与使⽤2.1 定义2.2 使⽤2.3 创建通讯录2.0版本2.3.1 通讯录2.0的写⼊实现2.3.2 通讯录2.0的读取实现2.3.3 验证写入是否正确 3. enum类型3.1 定义规则3.2 定义enum类型的注意事项3.3 升级通讯录⾄2.1版本 4. Any类型4.…

【SpringBoot】基于SSM框架的题库系统的设计与实现

文章结构 课题&#xff1a;一、项目简介主要功能技术选型 二、 模块介绍学生端教师端(一)考试管理(二)试题管理(三)学生成绩管理 管理员三、 B站项目演示地址 四、本项目其余相关博客 课题&#xff1a; 题库系统的设计与实现一、项目简介 简介&#xff1a;主要分为三个端&…

总结下 89C52 单片机中 Timer 2 作为定时器(工作在16位自动重装方式)的使用方法

从应用角度来学习&#xff0c;一切从效率&#xff08;益&#xff09;出发。 计数功能是指使用计数器的计数脉冲输入端&#xff08;T0对应P3.4&#xff0c;T1对应P3.5&#xff0c;T2对应P1.0&#xff09;对外部脉冲信号的计数&#xff1b;定时功能是指对内部晶振驱动时钟进行计…

Unittest初体验

前言 Unittest优点 UnitTest是Python自带的一个单元测试框架&#xff0c;具有以下特点&#xff1a; 1)轻量、简易&#xff0c;易于上手 2)根据自己的要求&#xff0c;定制优化&#xff0c;如httprunner就是基于unittest完成的 3)能够组织多个用例去执行 4)提供丰富的断言…

熔断与降级 Hystrix

一、Hystrix(豪猪)简介 1、Hystrix的设计目的 &#xff08;1&#xff09;对依赖服务调用时出现的调用延迟和调用失败进行控制和容错保护。 &#xff08;2&#xff09;阻止某一个依赖服务的故障在整个系统中蔓延&#xff0c;服务A->服务B->服务C&#xff0c;服务C故障了…

结构体和数据结构--结构体数组的定义和初始化

目录 一、结构体数组的定义 二、结构体数组的初始化 一、结构体数组的定义 一个结构体变量只能表示学生成绩管理表中的一个学生的记录信息&#xff0c;代表其中的一个实例&#xff0c;而实际数据库中有多个学生的记录&#xff0c;每个记录对应一个学生的信息&#xff0c;如何…

通过Python的tkinter,在滚动条中添加各种控件

在用tkinter设计UI时,需要在有限的空间里面堆叠多行元素,此时就需要用到滚动条的效果。案例效果如图: 框架思路: 通过tkinter中的画布canvas与滚动条scrollbar进行联动,并将所有的控件都塞入到画布canvas中。其中有一步对画布大小的设置也很关键,即canvas.config(width=…

存储过程和存储函数

存储过程没有返回值&#xff0c;存储函数有返回值 存储过程 存储过程的参数类型有这几种&#xff1a; 没有参数&#xff08;无参数无返回值&#xff09;带in&#xff08;有参数无返回值&#xff09;带out(无参数有返回值)跟着——在查询语句后面加上into看下面的例子即带in又…

“ReferenceError: Dialog is not defined“

“ReferenceError: Dialog is not defined” 解决办法&#xff1a;变成this.$dialog 引入 Dialog 组件后&#xff0c;会自动在 Vue 的 prototype 上挂载 $dialog 方法&#xff0c;在所有组件内部都可以直接调用此方法。

【Java EE】-博客系统一(前后端分离)

作者&#xff1a;学Java的冬瓜 博客主页&#xff1a;☀冬瓜的主页&#x1f319; 专栏&#xff1a;【JavaEE】 分享: 谜一样的 沉默着的 故事你真的在听吗 ——《平凡之路》 主要内容&#xff1a;准备工作&#xff1a;创建maven&#xff0c;引入依赖。设计数据库并编写数据库代码…