穆建秋
(贵州师范大学大数据与计算机科学学院,贵阳550000)
根据世界卫生组织(WHO)报道[1],全世界约有5000 万人患有癫痫症。癫痫是一种由大脑局部放电异常并向周围扩散引起的慢性脑部疾病,具有反复性和突发性。癫痫病的临床表现具有多样性,不同患者的癫痫发作持续时间和表现各有不同。目前,近30%的患者患有医学上的顽固性癫痫,他们不能彻底避免癫痫发作,使用药物只能减少癫痫发作的次数,不能彻底根除。脑电信号(Electroencephalogram,EEG)分析是检测癫痫发作的主要方法,经验丰富的专家可以从患者脑电信号的波形判断患者的大脑状态,但是这样的人工观察存在一些弊端,例如:长时间观察脑电信号会使人身心疲惫,使得效率变低、误差变大。此外,医生对癫痫患者的诊断往往是通过对脑电信号的观察并结合患者是否出现异常抽搐,进而判断癫痫是否发作。人工判断是一个主观过程,不同的专家对同一段脑电信号的诊断可能不同,导致得出的结果不同。因此,有必要寻找一种实时、准确的自动检测技术对患者脑电信号进行智能检测,这对癫痫病患者和患者家属具有十分重要的现实意义。
基于脑电信号的研究方向诸多,例如Manzano[2]使用深度学对睡眠状态分类;Alhagry[3]使用长短期记忆网络(Long Short-Term Memory,LSTM)进行情感识别;林伟成[4]对认知任务模式分类;Hajinoroozi[5]预测司机睡意和警觉状态等等,本文涉及的癫痫检测只是其中之一。由于以上研究的本质都是对脑电信号进行某种处理,所以即便研究方向不同,它们之间的研究方法却存在着可互用、相似之处。
前期的脑电信号相关研究主要使用非深度学习模型[4,6-11],而近些年深度学习逐渐成为主流,研究人员越来越多的使用深度学习进行脑电信号处理。本文将从数据预处理,特征提取、模型选择和训练对目前基于深度学习的脑电信号处理现状进行介绍:
(1)数据预处理
脑电信号的数据预处理通常包括下采样和高通滤波等。Hefron 等人[12]指出使用深度学习处理脑电信号时,需要经过“大量的数据预处理”。作者将数据下采样至512Hz、计算64 个电极的平均参考值、对数据频率由低到高的进行高通滤波。Koelstra[13]在DEAP 数据集上进行情绪识别的研究中将脑电信号下采样至256Hz,并对频率为2Hz 的脑电信号进行高通滤波。
有一种技术叫“伪影处理”[11],用于消除特定类型的噪音,例如眼部和肌肉伪影,YANG 等人[14]认为去除伪影对于脑电信号实现良好的解码性能至关重要。Nolan[15]提出伪影处理需要专家参与,即便没有专家去除伪影,较少的人为干预也可以取得更好的结果,例如Sun 等人[16]利用独立成分分析从脑电信号中分离出眼部活动信号。
(2)特征提取
Zhang 等人[17]提出特征提取是脑电信号处理中最苛刻的步骤之一,甚至Patanaik 等人[18]的主要目的之一就是通过深度学习自动学习有效特征。除了使用深度学习自动学习有效特征之外,Pouya 等人[19]使用手工设计的特征作为深度学习模型的输入,作者将脑电信号转换成一系列保留拓扑结构的多光谱图像,这样能够最大程度的保留原始脑电信号中的空间和时间结构。Wulsin[20]在深度信念网络(Deep Belief Network,DBN)使用未处理过的脑电信号和手工设计的特征作为输入,比较了两者在分类和异常检测任务上的性能。结果表明,在深度信念网络中使用原始脑电信号能取得更好的结果。Tsiouris 等人[21]发现LSTM 网络无法从原始脑电信号中获得有效特征,而使用手工设计的特征作为模型输入时效果良好。田晓彬等人[22]提出了一种融合深度和浅层特征的多视角癫痫检测算法。该算法首先使用快速傅里叶变换(Fast Fourier Transform,FFT)和小波包分解(Wavelet Packet Decomposition,WPD)来获取脑电信号频域和时频域的浅层特征;然后使用卷积神经网络(Convolutional Neural Network,CNN)学习并得到频域和时频域的深层特征。
(3)模型的选择
在2014 年前,研究人员进行脑电信号处理使用的主要是深度信念网络。Wulsin 等人[20]使用深度信念网络对临床脑电信号进行快速分类和异常检测;Zheng 等人[23]从多通道脑电信号中提取特征作为模型输入,使用深度信念网络进行情感分类;Turner[24]使用深度信念网络在高分辨率多通道脑电信号中进行癫痫检测。
从2015 年开始,由于CNN 在计算机视觉上的优异表现,许多研究人员开始使用CNN 进行脑电信号处理。Yang 等人[25]利用卷积神经网络和增广特征对多类运动图像进行脑电信号分类;Tsinalis 等人[26]使用CNN对单通道脑电信号的睡眠阶段进行自动评分;Wei 等人[27]基于多通道脑电信号使用三维CNN 进行癫痫自动检测。同时,由于循环神经网络(Recurrent Neural Net⁃work,RNN)在处理时间序列上的优势,RNN 的使用率也不断提高。Kuanar 等人[28]使用RNN 来学习特征和预测脑电信号中记录的认知负荷水平;Talathi[29]基于RNN 设计了一个针对癫痫发作前的癫痫检测系统。
一些文章专门研究了模型层数对性能的影响。Zhang 等人[30]评估了层数从2 到10 的模型在基于脑电信号的精神负荷分类任务中的表现,结果表明层数为7层的模型优于层数较浅的模型(两层和四层),也优于层数较深的模型(10 层)。Kwak 等人[31]在动态条件下对基于脑电信号的稳态视觉诱发电位(Steady State Vi⁃sual Evoked Potential,SSVEP)进行分类,并研究了模型层数对CNN 性能的影响,文中设计了三个模型,它们分别为:①由两层CNN 和输入输出层组成的模型1;②由两层CNN 和一层全连接层和输入输出层组成的模型2;③两个全连接层和输入输出层组成的模型3。结果表明,在提供足够的训练数据(均为已标注数据)时,三种模型都表现出很好的性能,但是在训练数据不充分的情况下,层数较少的模型1 则表现得更加优秀。
(4)模型训练
不同的训练方法和超参数的选择会极大的影响模型的性能,本节主要讨论以下三个方面:正则化、优化器和超参数。
正则化是一种为了减少测试误差的行为(有时候也会增加训练误差),目的是让模型在面对新的数据时可以有很好的表现。其中最常见的是权重衰减(L1 和L2 正则化)、Early Stopping(提前停止)、Dropout 和La⁃bel Smoothing(标签平滑)。目前关于脑电信号的研究中,超过一半的文章采用了至少一种正则化方法。例如,Hefron 等人[32]使用Dropout、L1&L2 正则化的组合来学习不同参与者的时域和频域特征。Lngkvist 等人[33]在睡眠阶段分类中使用权重衰减和稀疏性惩罚两种正则化结合,还增加了一个惩罚项来鼓励权重稀疏性,定义为所有训练样本中每个隐藏单元的平均激活量与超参数之间的KL 散度。
通常,调整超参数会占用大量的训练时间。为了减少寻找最佳超参数花费的时间,常用的方法有网格搜索和贝叶斯优化。网格搜索为每个要优化的参数确定一个取值范围,选择该范围内的值,并评估模型。网格搜索的一个优点是它具有高度的并行性,每个超参数集都是相互独立的。贝叶斯优化通过目标函数的评估结果建立替代函数(概率模型),来找到最小化目标函数的值。贝叶斯方法与网格搜索的不同之处在于,它在尝试下一组超参数时,会参考之前的评估结果,因此可以省去很多无用功。
癫痫检测的研究工作由来已久,传统方法多使用“浅”模型[6-10,34],如支持向量机(Support Vector Machine,SVM)等。随着深度学习技术的发展,如CNN、RNN 等“深度”模型开始广泛应用于癫痫检测[21,22,24,27,29,35],并且取得不错的效果,但仍然存在着一些问题:①已标注脑电信号数据有限。深度学习应用于癫痫检测需要大量的已标注数据,目前可获取的脑电信号大部分为未标注数据,有些文章使用的甚至是未公开的数据集。②存在不确定性。众所周知,深度学习模型可能存在过拟合现象,模型可能在训练数据集上表现非常好,在其他数据集上表现一般。在已标记数据不足的情况下,我们没有更多的数据来验证模型的泛化性能;③部分相关研究无法重现。未公开代码、使用私有数据集等,都会导致所做研究别人无法重现。而重现性是推动该领域前进的基础,尤其是在深度学习等新思想迅速传播的领域;④脑电信号的研究方向诸多,如何更有针对性的对脑电信号进行特征提取,目前尚未完全解决;⑤实际上,学习神经网络参数是一个优化问题,找到解决该问题的最佳方法仍然是许多研究人员的研究方向。