基于C-LSTM模型的端到端多粒度运动想象脑电信号分析方法
2018-07-25李海峰
李海峰 徐 聪 马 琳
(哈尔滨工业大学计算机科学与技术学院,黑龙江哈尔滨 150001)
1 引言
脑电信号(Electroencephalography, EEG)是一种重要的生物电信号,其主要是由大脑皮层内大量的神经元突触后电位同步总和所形成的,是很多神经元共同活动的结果。这种自发性、纪律性、综合性的电活动伴随着人生命的始终。脑电信号是一种更为复杂的时序信号,它是一个由多个源信号混合而成的具有多种成分的多通道信号,具有复杂度高、随机性强、维度高等特点,所以对于脑电信号的研究是极具挑战性的。而运动想象类脑电信号是在脑机接口中应用较为普遍的脑电信号,对于康复医疗[1]以及游戏娱乐[2]等领域的发展都有着重要的意义。
对于EEG信号的分析大多采用传统的分析方法,包括时域分析方法及频域分析方法[3]。其中时域分析主要包括波形特征描述法以及自回归AR模型,频域分析主要包括傅里叶变换、功率谱密度、非参数谱估计法以及基于AR模型的功率谱估计等。对于运动想象EEG信号特征提取来说,比较常用的方法主要有[4]:自适应自回归模型[5]、功率谱分析、公共空间模式(Common Spatial Pattern,CSP)以及小波包分解[6]、独立分量分析(independent component analysis,ICA)、近似熵线性法等,这些方法都是需要人工参与设计和计算的。2015年,王新杰等人提出了一种CSP与非负矩阵分解(NMF)相结合的脑电特征提取方法[9]。然而,由于人们对于人脑的认知工作机理并不完全清楚,无法从本质上对EEG的特征提取进行有效地指导。这就导致手动的特征提取方法存在着信息丢失的问题。另一方面,传统的特征提取在时域分析方面大多基于统计分析方法,难以准确描述脑电信号这样的非线性复杂信号,同时在分析中大部分在同一粒度下进行,缺少多粒度特征的融合分析。在分类建模方法上,目前主要采用线性判别法、支持向量机、神经网络等[7- 8]。这些方法在实际建模分类的时候并没有针对特征中的时序信息进行建模,导致脑电信号中比较关键的时序信息没有得到有效利用。
近年来,随着深度学习技术的不断发展,自编码器、卷积神经网络、递归神经网络等深度模型,在多个领域得到了应用,并取得了不错的效果。卷积神经网络是首个被真正成功训练的深层网络结构[10]。2012年之后,Krizhevsky等人[11]、Zhao等人[12]、Zeiler等人[13-14]以及微软亚洲研究院的研究团队[15]相继利用卷积网络在ImageNet数据上取得突破,并最终超越人眼的识别能力。2014 年,Charoensak等人使用深度学习的神经网络对人的情绪状态进行了识别,取得了十分有效的结果[16]。对于时序信息的建模方面,递归神经网络(Recurrent Neural Networks,RNN)可以有效的进行处理。2014年Sutskever等人[17]使用多层LSTM构建了一个sequence to sequence的框架并应用于机器翻译问题。同年,Cho等人[18]第一次提出GRU(Gated Recurrent Unit,门控循环单元)和RNN的encoder-decoder(编码-解码)框架。2015年,百度团队利用LSTM+CTC(Connectionist Temporal Classifier,联结时序分类器)的网络结构将汉语语音识别的错误率降低了15%以上[19]。
因此,针对目前脑电信号的特征提取有效性有限、粒度单一以及建模分析中时序信息丢失的问题,本文提出了多粒度特征提取与融合方法。结合脑电信号多通道输入、含有空间信息等特点,实现基于CNN的融合空间信息的脑状态分类识别实验。
2 基于C-LSTM结构的端到端时序信号分析处理模型
2.1 基于CNN的端到端多粒度特征提取方法
对于脑电信号而言,传统的时频分析方法在多粒度特征的提取过程中,是相对繁琐的。我们需要对其进行预处理,然后进行加窗、分帧的操作,而且这一系列计算都是建立在脑电信号具有短时平稳特性的假设上。而实际上,其短时平稳的特性并不显著,因此采用加窗分帧的形式进行短时特征的提取时,时频分辨率受窗口大小的影响和不确定原理的限制[20],从而影响特征的性能。卷积神经网络恰恰可以很好的回避这样的问题,通过利用若干权值共享的可自学习的卷积核在原始时序信号滑动卷积,来得到短时特征矩阵,这不仅省去了加窗分帧等预处理操作实现了从脑电信号直接到分类结果的端到端的处理,同时在卷积核滑动的过程中还融入了信号序列先后顺序的特征,使得特征中蕴含的信息更加丰富。另一方面,卷积网络中的卷积核是可以自学习的,卷积核的权值可以根据不同任务,不同样本来自适应的进行调整,从而提取出更加有效的特征信息。最后,对于卷积网络而言,可以很方便的人工设置卷积核的尺寸大小以及权值的大小,使得我们可以很方便的将脑科学中发现的相关认知规律运用其中,来指导整个特征提取的过程。基于CNN的端到端多粒度特征提取的流程如图1所示。
图1 基于CNN的端到端多粒度特征提取流程示意图Fig.1 CNN-based end-to-end multi-granular feature extraction process
我们利用多层CNN直接对原始脑电信号进行卷积,经过多层卷积后,当卷积窗覆盖的采样点和提取帧特征时所划分的帧的窗大小相一致的时候,我们将这个深度的CNN网络输出作为帧特征保存下来。与此同时,卷积网络继续向上进行更深层次的卷积,当卷积窗所覆盖的采样点与依据认知规律所预先设定的段长度相一致时,将这个深度的CNN网络的输出作为段特征保存下来。类似的,卷积网络仍然向更深层进行卷积运算,当卷积窗所覆盖的采样点是整个信号所有的采样点时,将这个深度或者更深的CNN网络输出作为全局的特征。此时,再将所得到的单个粒度的特征信息沿着时间维度拼接在一起,并按时序上的先后顺序依次输入到LSTM分类器中进行分类计算,这便是整个C-LSTM模型的处理流程和总体结构。
2.2 基于CNN的端到端多粒度特征融合方法
在卷积的过程中,我们参考文献[15]中在图像识别上取得显著效果的CNN的参数设置,将卷积核的移动步长设为1,因此,网络中的每一层的输出都是长度为T的特征序列,而特征的维数由卷积神经网络中卷积核的个数而定。
在对由CNN提取出来的多粒度特征进行融合时,我们首先将各个维度在时间维度上进行对齐,我们分别对帧特征、段特征、全局特征矩阵设置对齐因子矩阵Ax、As、Ag。在这里,对齐因子矩阵我们设置为如下形式,其中,I为单位阵。
图2 多粒度特征融合过程Fig.2 Multi-granularity feature fusion process
(1)
(2)
(3)
即分别将帧特征、段特征、全局特征矩阵与对齐因子矩阵Ax、As、Ag相乘。在特征矩阵对齐后,由于各个粒度的特征矩阵都是相同大小,且矩阵中,其他粒度位置的信息是全0的,因此我们利用加和操作进行特征的融合。则融合特征矩阵F可由下式计算得出:
F(P+M+Pg)×T=AxXP×T+AsSM×T+AgGPg
(4)
这样矩阵F中每一列都是一个经过融合的帧特征,其中包含了三个部分:初始计算得到的最小的帧粒度特征,在帧特征上经过高斯函数卷积运算得到的段粒度特征,以及此时序信号的全局特征。在识别的时候,我们通过将融合后的帧特征按照原始信号的先后顺序输入到LSTM网络模型当中进行学习训练和识别。
2.3 基于LSTM的时序信号建模分类方法
经过上述的特征提取过程后,我们得到了从多个粒度上反映脑电信号的特性和其所承载的信息的特征矩阵,同时也是特征的在时间维度上的一个序列,因此我们需要一个可以很好的对时间序列进行建模的分类器模型,来对特征中的时序信息进行准确的建模分析。我们采用单层的LSTM结构,隐层节点个数为128个,选用tanh函数作为LSTM的激活函数,输出层采用softmax函数。与循环神经网络类似,在训练和识别过程中,LSTM的隐层状态依据当前输入以及前一时刻的隐层状态来改变,不断地循环这一过程直至输入处理完毕。
3 C-LSTM模型的脑电分类实验
3.1 数据集
本实验选取BCI2008竞赛中的data set1[注]http:∥www.bbci.de/competition/iv/desc_1.html作为实验数据[21]。该数据集共包含7名健康被试的脑电数据,是一个运动想象的二分类数据集(被试从想象左手、右手、脚运动这三个类别中任选两个)。被试需要按指示完成相应的运动想象任务。每名被试都要进行200次运动想象实验。每次实验记录4 s长的脑电信号,使用BrainAmp MR plus放大器和Ag/AgCl电极帽进行记录,采集在感觉运动区域上密度最高的59个电极位置的信号(如图4所示),采样频率为1000 Hz。在下面的实验中,对于每一名被试,我们将160次实验数据作为训练集,其余40次实验数据作为测试集。
3.2 C-LSTM模型拓扑结构
对于脑电信号,我们这里采用的C-LSTM的网络结构主要是相较于提特征后再送入分类器的传统做法,采用特征提取和拟合回归步骤统一在同一个模型里,在对脑状态进行预测,达到端到端处理的实现。其具体的拓扑结构介绍如下。
时域CNN 我们采用含有40个卷积核的卷积层作为第一层,每个卷积核的大小为(1,5),这样每一个卷积核只是对脑电信号中的5 ms长的片段进行卷积,用来提取短时特征。同时对于不同的电极之间由于没有在排布时体现相互之间的位置信息,故并没有进行卷积操作。
时域池化 每一个卷积核得到的结果都会通过激活函数,然后分别经过pool size大小为(1,2)的时域池化层,从而降采样到500 Hz。
时域CNN 到这里,我们采用含有40个卷积核的卷积层,其中卷积核大小为(1,500),从而达到对脑电信号提取长时特征的作用。
时域池化 同样地,再一次进行时域上的池化操作,这一层采用pool size为(1,2)进一步对脑电信号的时域信息进行降采样。
LSTM层 我们将从上述CNN中不同卷积核上得到的矩阵按照时间维度排成序列,即将每个卷积核产生的矩阵的相同位置的行拼接在一起,再按先后顺序输入到LSTM层中进行识别。
我们用设计好的C-LSTM在数据集上进行了实验,此时在测试集上,基于单一粒度特征的识别率在65%至70%,基于融合多粒度特征的识别率在76%至85%之间,虽然较单一粒度有所提高,但仍然不是很理想。
图3 C-LSTM网络结构示意图Fig.3 C-LSTM network structure diagram
4 C-LSTM模型的改进方法
由于在对脑电数据矩阵进行处理的时候,电极在矩阵中的位置只是依据电极的编号顺序,并没有考虑电极空间位置的信息,因此在CNN的卷积过程中并没有对电极排布的维度进行卷积,这也在一定程度上限制了CNN的作用和效果。所以在此提出对于C-LSTM网络模型的两个改进方法,来帮助提高识别效果。
4.1 基于电极空间排布信息的改进方法
图4 在单一采样点上依据电极空间位置信息重构出的脑电信号矩阵Fig.4 Reconstructed EEG signal matrix based on electrode spatial position information at a single sampling point
我们同样用BCI2008数据对网络进行了实验,在测试集上的实验结果如下表1所示。可以看到,经过空间信息处理的数据相对与之前没有经过处理的数据在结果上有了一定的提升。融合了空间信息的识别结果相比于未融合空间信息的结果有了极大的提升。
表1 C-LSTM模型改进前后实验结果对比
4.2 基于小波变换动态脑网络的改进方法
基于电极空间信息排布的方法是通过对输入数据的处理,重构出带有电极空间信息的矩阵。这样的矩阵虽然包含了各个电极的位置信息,但是各个电极之间的空间关系并没有体现,导致空间信息流失。由于相干(coherence)是频域上两个变量的相关程度的一个指标,于是我们利用基于小波变换的相干分析方法,对每两个电极之间的相关度进行度量,将小波相干作为复杂网络的功能连接指标对脑网络进行构建,不仅将各个电极的空间信息包含在内,还进一步体现了运动想象认知任务形成的脑网络特性。
图5 3D-C-LSTM网络结构示意图Fig.5 3D-C-LSTM network structure diagram
从而构建出在认知任务进行时的动态脑网络。不仅可以反应出电极在空间上的相对位置信息,还可以反应出在认知任务中,在脑功能上的关联信息。
相干函数是计算两个随机过程频谱相关性的直接方法,由于脑电信号是非平稳的、动态的,其内涵的特征信息的频率可能随时间而变化,出现频率分布不均匀,小波分析时,小波分析窗能够适应于信号的频率,因而,引入小波变换进行相干性分析。
(1)小波动态脑网络的构建
小波变换是在伸缩和平移后的小波上的分解信号,能够分析不同大小的信号结构,信号f(t)的连续小波变换可以定义为:
(5)
由上面的定义式(5),有
(6)
并设f(t)=f(kΔt),t∈(k,k+1),则
(7)
其中,a∈R且a≠0。a为尺度因子,表示与频率相关的伸缩,b为时间平移因子。本文中利用快速卷积运算来完成上述公式的计算。
于是,对于给定信号x、y及其各自的小波系数CWTx(a,b)与CWTy(a,b)后,采用交叉小波谱(Wavelet Cross Spectrum, WCS)就可以估计x和y之间的关联性,其定义为:
WCSx,y(a,b)=CWTx(a,b)·CWTy(a,b)
(8)
可见,WCSx,y(a,b)的大小反映了两个信号x和y的时频域的相似度。对于x信号自身,WCSx,y(a,b)即为小波系数的平方值。
为了更好地得到信号之间的同步信息,在计算小波相干前,还要对小波谱作平滑处理。平滑函数作用于时间轴和尺度轴,它可以增加信号做完连续小波变换后的平滑度。时间轴上的平滑操作定义为:
(9)
(10)
这里,c2也是一个标准化系数, Π是矩形函数。
对信号x和y,它们之间的小波相干(Wavelet Coherence,WC)定义为
(11)
Schwartz不等式能够保证WCxy(a,b)的值介于0和1之间。0表示两个信号相应的时间位置上频率成分之间是无关的,1表示完全相关,由此得到小波相干算法如下。
算法1小波相干算法Algorithm 1 feature selection algorithmInput:脑电信号x(f)、y(f)Output:信号之间的小波相干值WCxy 1. begin 2. 初始化:平滑窗长、尺度 3. While获取两个脑电信号x(f), y(f)do 4. 计算信号x(f)小波系数Wx,生成小波谱 5. 平滑小波谱 6. 计算信号y(f)小波系数Wy,生成小波谱 7. 平滑信号小波谱 8. 计算交叉小波谱WCSxy 9. 对交叉小波谱进行平滑处理 10. 计算小波相干WCxy 11. end
(2)基于时间序列的3D-C-LSTM方法
我们将所有时间点上的脑网络矩阵全部保留,同时类比之前处理加入电极空间信息的数据的方法,采用3D-C-LSTM对整个三维的脑网络数据进行处理,在卷积的时候将卷积核设置为三维,不仅在表示脑网络的二维维度上进行卷积,也在时间维度上进行卷积,并在相同的数据集上进行实验,在测试集上获得了93.6%的识别率,与其他分类模型结果对比如下表2所示。其中,CSP被认为是提取时间相关去同步信号的有效方法之一[22],许多研究都证明了它在两类问题中可以得到较好的分类效果,但主要针对两种任务的特征提取。选择CSP方法,对左、右手2分类动作进行特征提取,具体求解算法参照文献[23]。
表2 不同模型结构识别效果对比
从表2我们可以看出,加入了空间信息的C-LSTM的识别效果要明显好于其他方法。同时,以小波脑网络的方式进行空间信息等加工效果要优于基于空间电极排布的改进方法。
5 结论
本文中我们利用CNN对脑电信号进行了多粒度特征提取及融合,并融合LSTM网络构建了C-LSTM网络模型,最后在二分类的BCI2008脑运动想象数据集上进行了分类实验,实现了对脑电信号的端到端处理。本文利用脑电信号多通道,具有空间信息属性的特点对C-LSTM模型进行了改进。提出了基于电极空间信息的模型改进方法,将原始脑电信号根据每个通道所对应的电极之间的相互位置,将每个时刻的数据重构成一个矩阵,再对该矩阵进行卷积识别,有效地提高了识别效果。同时还提出了基于小波动态脑网络的C-LSTM模型,利用小波变换对脑电信号进行初步的处理,得到各个电极之间相关系数的动态脑网络,再利用C-LSTM进行识别,获得了较前一个方法更加优异的识别率,达到了93.6%。说明对于脑电信号而言,除了时序信息之外,空间上的信息和空间信息的动态变化是同样重要的。