赵 伟
(集美大学 诚毅学院,福建 厦门 361021)
癫痫是一种影响所有年龄段人群的慢性脑部神经系统疾病[1]。脑电图(Electroenc ephalography ,EEG)是通过放置于头皮或颅内特定位置的电极采集获得的大脑活动的电信号,已被广泛用于癫痫诊疗[2]。临床上,脑电图的识读和分析主要依赖神经科医生通过肉眼进行检测和手工标注。然而,EEG数据量巨大,传统的人工判读不仅耗时费劲,也会因专家的主观经验差异造成诊断结果的差异[3]。因此,设计高效、可靠的癫痫EEG自动识别算法,从而协助神经科医生高效地对癫痫患者进行诊疗具有重要的临床意义。
传统的EEG分析方法主要包含特征提取和模式分类两部分。其中,常用的特征提取方法有时域分析法、频域分析法、时频域分析法和非线性动力学方法。常用的分类器有支持向量机(Support Vector Machine,SVM)、人工神经网络和K最近邻分类器等[4]。传统的EEG识别方法过程相对繁琐,而且需要结合人工经验进行特征提取。目前,深度学习已广泛应用于图像识别、语音识别、文本分类等领域,并取得了良好的分类效果。与传统方法相比,基于深度学习的方法不需要根据人工经验提取特征,可直接对EEG信号进行训练,实现自主学习其内在特征并完成癫痫自动识别。ACHARYA[5]提出把深度卷积神经网络(Convolutional Neural Networks,CNN)应用于识别癫痫EEG信号。ABBASI[6]将长短期记忆网络(Long Short-Term Memory,LSTM)应用与癫痫脑电识别,取得了比SVM更好的结果。此外,一些研究者提出了混合的癫痫识别模型。潘奕竹等[7]提出了一种基于信号转差分模块(Difference Module,DM)与CNN结合的癫痫脑电分类方法。齐永锋等[4]提出了一种采用多尺度卷积特征融合与LSTM相结合的癫痫EEG自动识别模型。
(1)残差网络。为了解决随着网络模型深度加深而出现的网络退化问题,HE[8]提出了残差网络。残差网络是一种经典的卷积神经网络。它由多个残差模块堆叠而成,残差模块结构如图1所示。残差模块的输入为x,期望输出为H(x),学习目标为F(x)=H(x)-x。残差模块可以实现网络的恒等映射,通过残差模块的快捷连接实现高层直接对底层的信息传递,以此解决深度网络的退化问题及防止出现梯度消失。ERNet模型中的残差单元结构是在此基础上进行改进的。
图1 残差模块结构
(2)改进的残差模块。为了提高模型的泛化能力,使其能够适用于不同的癫痫EEG识别任务,本研究构建ERNet深度网络模型对残差模块进行改进,引入了批归一化(Batch Normalization,BN)和Dropout操作。改进后的每个残差模块包含两个卷积块和一个快捷连接,每个卷积块依次进行卷积、BN、ReLU和Dropout操作,其结构如图2所示。
图2 改进的残差模块结构
残差模块采用一维卷积来自动提取EEG时间序列中的内在特征,其卷积核越大,感受野越大,可以捕获EEG序列更抽象的特征,反之亦然,具体表达式为:
(1)
其中,x表示EEG序列,w表示卷积核,a表示卷积核的大小。为了避免了梯度消失或梯度爆炸的发生,在卷积操作之后进行批归一化,同时,该操作还能减少内部协变量偏移,加速神经网络训练过程。激活函数采用目前卷积神经网络中常用的ReLU激活函数,其定义如下:
(2)
为进一步提高模型的泛化能力,在激活函数之后采用Dropout操作。Dropout在模型训练过程中会随机丢弃一些隐藏神经元,削弱隐藏神经元之间的依赖性,防止特征提取时一直放大或缩小某些局部特征。它既保证模型的泛化能力,也避免产生过拟合现象,其表达式如下:
(3)
(4)
(3)ERNet网络模型。本研究提出的基于改进残差网络的癫痫EEG自动识别模型ERNet如图3所示。首先对原始EEG时序信号进行标准化;再利用32个1×7的卷积核提取EEG浅层特征,滑动步长为2;接着进行最大池化操作以减少参数训练量;然后,堆叠6个残差模块来捕获不同层次的特征,其卷积核尺寸、个数及步长如图3所示。利用平均池化来融合残差模块底层和高层的特征;然后利用全连接(Full Connect,FC)来提取与癫痫识别任务最相关的EEG特征;最后利用Softmax分类器来识别癫痫EEG信号。
图3 ERNet深度残差网络
(1)数据集说明。本研究实验数据来自于德国波恩大学癫痫病研究中心,数据集详细描述见文献[9]。该数据集被广泛应用于癫痫检测和识别。数据集包含5个子集分别为A、B、C、D、E,每个子集有100个样本,信号采样频率为173.61 Hz,持续23.6 s,每段信号有4 097个采样点,数据集描述如表1所示。
表1 波恩大学癫痫数据集描述
(2)性能评价指标。为了全面评估模型性能,采用十折交叉验证,即将数据集分成10份,其中9份作为训练集,1份作为测试集,最终结果取10次实验的平均值。评价指标采用准确率(Accuracy,Acc)、精确率(Precision,Pre)和召回率(Recall,Rec)作为模型评估结果。其各项指标的取值范围均为[0,1],数值越大,模型性能越强,具体定义如下:
(5)
(6)
(7)
其中,TP为正样本的正确预测数量,TN为负样本的正确预测数量,FP为负样本的错误预测数量,FN为正样本的错误预测数量。
(3)实验结果与分析。本实验在Windows10操作系统下进行,基于开源深度学习框架PyTorch,编辑语言采用Python3.8。ERNet网络模型采用Adam(Adaptive Moment Estimation)优化器,其学习率、β1和β2分别设置为0.000 5、0.9和0.999;选用交叉熵作为损失函数,Dropout随机丢弃概率设置为20%。在实验中,批次大小设置为48,总共对模型进行300次迭代训练。
为了测试模型对于不同癫痫识别任务的泛化能力,本研究基于波恩大学癫痫脑电数据集进行了5种不同分类任务的测试,其中,2个二元分类任务用于区分正常和癫痫发作EEG;3个三元分类任务用于识别正常、发作间期与发作期的EEG。采用十折交叉验证对模型性能进行评估,实验结果如表2所示。可以看出,ERNet对5种分类任务的准确率、精确率和召回率均较高,在二元分类任务A/E、B/E中,准确率达到了100.0%和99.5%,在三分类任务A/D/E、B/D/E和AB/CD/E中达到了98.7%、97.3%和98.4%。
表2 ERNet各分类任务测试性能
为了进一步分析ERNet网络模型的性能,使用波恩大学癫痫EEG数据集进行识别的方法与ERNet进行比较,对比结果如表3所示。表中分别列出了目前主流的CNN模型、LSTM模型、CNN+LSTM模型、离散小波变换(DWT)和SVM模型等方法在不同识别任务中的实验结果。经过对比可以看出,本研究提出的ERNet网络模型面对不同的分类任务有较强适用性,总体而言,分类识别准确率较高。
表3 相同数据集的不同分类方法准确率比较
提出了一种改进的残差网络模型ERNet,并将其应用于癫痫EEG的自动识别。在波恩大学癫痫EEG数据集上进行了癫痫两分类和三分类实验,识别准确率为97.3%~100.0%,并在同一公开数据集与目前主流的其他识别方法进行比较,证明了该方法的有效性。