基于CNN-LSTM 模型的癫痫脑电信号识别方法
2023-11-09赵伟
赵 伟
( 集美大学 诚毅学院, 福建 厦门 361021 )
0 引言
癫痫是由脑部神经元突发性异常放电所致短暂的大脑功能失调的一种慢性神经系统疾病[1]。脑电图(electroencephalography, EEG)信号是由大脑神经元自发性电位活动产生的, 蕴含着大量的生理和病理信息, 是临床上诊断和治疗癫痫的重要依据[2]。 传统的癫痫诊断主要依靠经验丰富的医师通过肉眼判读EEG[3]。 然而EEG 数据量巨大, 该方法耗时费劲。 因此研究基于EEG的癫痫自动分析方法具有重要的临床意义。
近年来, 国内外科研人员在癫痫自动识别技术方面做了大量的研究工作。 这些研究工作可大致分为基于传统的识别方法和基于深度学习的方法。 基于传统的识别方法首先采用信号分析技术来提取癫痫EEG 的特征, 再结合人工经验进行特征选择, 最后训练机器学习的分类器实现癫痫自动识别[4-6]。 深度学习可以自主学习数据的内在特征, 并根据分类任务自主选择特征。 2018年Acharya 等首次将卷积神经网络(convolutional neural network, CNN)模型应用于癫痫EEG 信号识别, 其识别正常、 癫痫发作间期和癫痫发作期EEG 信号的准确率达到了88.7%[7]。 Rubén 等将傅里叶变换(Fourier transform,FT)与CNN 相结合, 研究了多个分类任务下的癫痫EEG 信号识别问题[8]。 Abbasi 等提出了一种基于长短期记忆网络(long short-term memory network, LSTM)的癫痫EEG 信号自动识别模型, 其识别正常和癫痫发作期EEG 的准确率达到了99.2%[9]。CNN 具有良好的局部特征提取能力, LSTM 具有较强的长期依赖学习能力, 因此笔者提出了一种结合CNN 与LSTM 的新模型(CNN-LSTM 模型)用于癫痫EEG 信号自动识别。
1 研究方法
CNN-LSTM 模型结构如图1 所示。 该模型可划分为特征提取和分类识别两个阶段。 特征提取阶段采用CNN 与LSTM 相结合的网络结构, 其中CNN 部分包含3 个卷积块, 每个卷积块包含5层结构, 依次为卷积层、 批归一化(batch normalization, BN)层、 ReLU 激活层、 丢弃(Dropout)层和池化(Pooling)层; LSTM 部分由3 层LSTM 堆叠而成。 分类器采用3 个全连接(fully connected, FC)块, 并结合Softmax 激活函数来实现各种分类任务下的癫痫EEG 信号自动识别。
图1 CNN-LSTM 模型结构图
1.1 CNN
CNN 是一种包含卷积计算且具有局部连接和权值共享特点的前馈神经网络。 它能自主学习数据的内在特征, 并且取得较高的识别率, 在生物医学信号处理领域已有较多应用[10-11]。 CNNLSTM 模型中, 卷积块依次包含如下5 层结构。
(1)卷积层。 卷积层采用若干个卷积核对输入的EEG 序列进行特征提取。 卷积操作将卷积核与EEG 序列中对应元素相乘, 并不断移动卷积核继续进行计算。 采用误差反向传播算法可学习到卷积核的参数。 一维卷积操作可表示为:
其中,x为EEG 序列,w为卷积核,a为卷积核的大小,s(t) 为t时刻的卷积运算结果。
(2)BN 层。 在CNN 中添加BN 操作可减少内部协变量转移, 达到加快训练速度和提高模型泛化能力的目的。 BN 操作主要计算公式如下:
其中,xl为第l个BN层的输入向量,μ和σ2为其均值和方差,zl为标准化后的向量,ε为一个小数值的常数,yl为第l个BN 层的输出向量,γ和β分别为可学习的缩放系数和偏移量。
(3)ReLU 激活层。 为了提高网络的表达能力, 通常在每个BN 层之后应用一个激活函数。ReLU 函数是CNN 中比较常用的一种激活函数,它可以将非线性和稀疏性应用到网络结构中, 并防止梯度消失, 其表达式如下:
(4)Dropout 层。 为了进一步提高模型的泛化能力以适应各种不同的分类任务, 在卷积块中添加Dropout 层。 Dropout 操作在网络训练过程中, 以一定的概率将网络中的神经元“丢弃”;在测试过程中, 则使用所有的神经元。 其主要计算公式如下:
其中,B表示伯努利分布函数,为第l层第j个神经元以概率p生成的伯努利随机变量,yl为第l层Dropout 的输入向量,为训练过程中使用的神经元。
(5) 池化层。 池化技术是对数据进行降维,用于保留主要特征和减少网络的训练参数量, 同时可以减小过拟合。 CNN-LSTM 模型采用最大池化(max pooling) 进行下采样。 它只取局部接受域中值最大的点, 其公式如下:
其中,表示第l层第i通道第t个神经元的值;S表示池化核的尺寸;表示第l层第i个通道第j个神经元的输出值。
1.2 LSTM
LSTM 是Hochreiter 和Schmidhuber 针对传统RNN 网络模型在处理长序列数据时出现的梯度消失问题而提出的一种特殊的循环神经网络[12]。LSTM 已广泛应用于癫痫识别[13]。 LSTM 引入门机制来控制特征的流通和损失。 LSTM 单元核心由遗忘门ft、 输入门it和输出门ot构成, 其原理图如图2 所示。 首先, 遗忘门用于控制输入xt和上一个隐藏状态ht-1被遗忘的程度; 接着, 输入门用于控制何时将数据读入记忆元Ct; 最后, 输出门控制当前记忆元的信息输出。 具体表达式如下:
图2 LSTM 原理图
其中,σ为sigmoid 函数,W为权重参数,b为偏置参数,为候选记忆元, ☉为哈达玛积运算符,ht为t时刻的隐藏状态。
1.3 分类器
CNN 通常采用具有Softmax 激活函数的全连接神经网络来实现分类。 CNN-LSTM 模型的分类器包含3 个FC 块。 其中, 前两个FC 块包含3层结构, 依次为FC 层、 ReLU 激活层和Dropout层; 最后一个FC 块包含FC 层和Softmax 激活层。 Softmax 激活函数用于输出EEG 信号属于各个类别的概率, 其表达式如下:
其中,zi为Softmax 激活前的FC 层的输出,i表示类别序号,N为类别总数。
2 数据来源
本研究的实验数据来自德国波恩大学癫痫研究室的癫痫数据库[14]。 该数据库采集自5 名健康志愿者和5 名癫痫患者。 该数据库已被广泛应用于癫痫EEG 识别研究。 数据库由5 种类别的EEG 组成, 分别记为A、 B、 C、 D、 E。 其中,A 和B 分别为健康志愿者睁眼和闭眼时的EEG;C 和D 分别为癫痫患者发作间期大脑病灶对侧区域和致痫区内的EEG; E 为癫痫患者发作期的EEG。 每种类别数据集包含100 个信号片段, 每个信号片段记录23.6s 的EEG, 采样率为173.61Hz。为提高数据量将每个信号片段不重叠地切割为23份, 每份样本包含178 个数据点, 每种类别包含2300个样本。 不同类别的EEG 参见图3。
图3 不同类别的EEG
3 实验分析与讨论
3.1 评价指标
为了评估CNN-LSTM 模型的性能, 实验采用十折交叉验证, 结果取其平均值。 模型性能的评价指标选用准确率(accuracy,Acc)、 阳性预测值(positive predictive value,PPV)和灵敏度(sensitivity,Sen), 其公式定义如下:
其中TP表示预测为正类的正样本数,TN表示预测为负类的负样本数,FP表示预测为正类的负样本数,FN表示预测为负类的正样本数。
3.2 实验参数
实验在Windows10 操作系统下使用开源深度学习框架PyTorch 进行。 模型采用Adam 优化器,其学习率、β1和β2分别设置为0.0005、 0.900 和0.999; 损失函数选用交叉熵; 丢弃概率设置为20%; 批次大小设置为128, 总共对模型进行300 次迭代训练。
图1 中, 所用卷积层均采用大小为7 的一维卷积核, 步长为1; 所有池化层采用大小为2、步长为2、 填充为1 的最大池化操作; 卷积块1、卷积块2 和卷积块3 的通道数分别设置为40、80 和150。 LSTM 层数为3, 每层包含300 个隐藏单元。 前2 个FC 层的神经元个数为1 024, 最后一个FC 层的神经元个数为分类任务的类别总数。
3.3 实验结果
采用波恩大学癫痫数据库中的数据进行了二分类和三分类实验。 二分类用于识别癫痫是否发作; 三分类用于识别处于正常、 癫痫发作间期或癫痫发作期的EEG 信号。 实验结果如表1 所示。可以看出, CNN-LSTM 模型在二分类任务A\ E、B \ E 和AB \ E 中, 准确率分别为99.9%、99.7%和99.9%; 在三分类任务A \ D \ E 和B\ D\ E中准确率分别达到97.4%和98.8%。 5个分类任务的平均准确率、 阳性预测值和灵敏度分别为99.1%、 99.2%和99.0%。
表1 CNN-LSTM 模型性能表 %
为进一步分析CNN-LSTM 模型的性能, 将CNN-LSTM 模型的识别准确率与使用同一数据库测试的CNN 模型、 LSTM 模型和CNN+LSTM 混合模型的识别准确率进行对比, 结果如表2 所示。 分析表2 中数据可知, 在大部分的癫痫EEG 信号识别任务中, CNN-LSTM 模型的识别准确率优于其他模型。
表2 CNN-LSTM 模型与现有模型的性能对比表
4 结论
本文提出了一种基于CNN-LSTM 模型的癫痫EEG 信号自动识别方法。 CNN-LSTM 模型充分利用了CNN 的局部特征学习能力和LSTM 的长期依赖学习能力。 采用德国波恩大学癫痫研究室的癫痫数据库中的数据进行多个分类任务实验, CNN-LSTM 模型平均准确率达到99.1%。 实验结果表明本文提出的方法在大部分的癫痫识别任务中表现较佳, 具有一定的临床应用潜力。