2. 华南师范大学 软件学院, 佛山 528225
2. School of Software, South China Normal University, Foshan 528225, China
脑机接口是直接建立大脑和外部设备交流的渠道, 而不需要人的任何肌肉活动. 在不同的大脑信号中, 脑电信号具有相对较高的时间分辨率, 有非侵入性、成本低等特点, 适用于实现脑机接口系统. 脑电信号中的P300事件相关电位是构建拼写系统中常用的脑电信号之一. 以往对P300分类的工作主要利用传统机器学习算法, 如支持向量机和线性判别分析. Rakotomamonjy等[1]使用支持向量机, 字符预测的平均准确率达到96.5%, 在2004年的脑机接口竞赛数据集II中名列前茅. Bostanov等[2]在脑机接口竞赛中使用基于Bagging的线性判别分析获得与支持向量机相当的结果. 近十年来, 深度学习在解决计算机视觉和自然语言处理等现实问题中取得了很大的进展, 但是在脑电信号检测的应用还处于起步阶段. Cecotti等[3]提出了一个4层卷积神经网络(convolutional neural networks, CNN), 在数据集上获得了的97%平均预测准确率. Liu等[4]在CNN中引入批归一化(batch normalization, BN)[5]缓解过拟合, 字符预测的平均准确率达98%.
意识障碍(disorders of consciousness, DOCs)是脑损伤的后遗症, 包括昏迷、植物状态、最小意识状态和闭锁综合征等4种状态. 处于植物状态的患者不能表达可理解的语言, 也不能自发地睁开眼睛服从口头命令[6-8], 而最小意识状态的特点是可以通过行为反应, 表现出不一致但可重现的意识迹象[9]. 闭锁综合征患者以构音不全和四肢瘫痪为特征, 但是能保持基本的认知功能[8]. 处于不同状态的意识障碍患者有不同的意识水平, 因此, 准确的意识水平检测是诊断和治疗意识障碍患者的关键. 目前, 评估意识障碍患者意识状态最常用的方法是行为评分法, 如JFK昏迷恢复量表修订版[10, 11]. 然而, 这种基于行为的评估方法误诊率高达37%–43%[12, 13]. 因此, 探索非行为、客观的方法来检测意识障碍患者的意识水平具有重要意义. 近年来, 一些研究显示了脑机接口技术在检测意识障碍患者意识水平方面的潜力, Pan等[14]使用结合P300和SSVEPs的视觉混合脑机接口检测8名意识障碍患者的意识, 其中的3名患者显示了命令-跟随行为. 然而, 意识障碍患者的认知能力普遍低于健康受试者, 并且容易出现疲劳、注意力不集中等问题, 难以完成长时间的实验, 如何在实验时间短、数据数量少的情况下, 准确分析出意识障碍患者的意识水平仍然是当前面临的挑战. 一种可行的改进方向是优化分类算法, 使其在样本数量少的情况下训练出好的模型.
在样本数量较少的情况下, 深度学习算法在训练过程中容易出现过拟合现象, 常见的解决方案有数据增强和正则化. 而近年来的主流方案是使用元学习技术, 利用已有的先验知识解决新的问题, 而不需要大量的训练样本, 从而解决了小样本带来的过拟合问题. 元学习技术可大致分为3类: 学习微调、基于循环神经网络的记忆和度量学习. 2015年Lake等[15]在“Science”发表文章, 提出了贝叶斯程序学习框架, 实现单样本学习, Vinyals等[16]提出的匹配网络和Snell等[17]提出的原型网络, 使用基于度量的方法实现了小样本学习. 所谓度量就是比较两个样本的相关性, 借助最近邻的思想完成分类, 在某一个投影空间中, 距离越近的样本越相似, 即认为可以将其分为同一类别.
针对上述问题, 本文结合原型网络思想, 使用卷积神经网络提取脑电信号的特征, 并使用度量方法, 实现小样本情况下P300信号的分类和识别, 以及在样本数量较少的情况下的意识障碍检测.
2 P300检测算法 2.1 数据预处理P300事件相关电位发生于刺激开始后大约300 ms, 在EEG中对应为正电压偏转. 为检测P300波形, 需要使用时间窗对原始数据进行截取, 并使用带通滤波器滤波以及对数据进行下采样抑制噪声干扰, 提高信噪比.
2.2 网络架构本章使用原型网络思想, 结合卷积神经网络和度量方法, 提出一种适用于P300信号检测的改进原型网络, 以第三届BCI大赛的数据集II为例, 每个电极通道样本的采样点数为78, 使用所有的64个电极通道, 即输入样本维度为
$ a_c^{(0)}(i) = {I_{i, c}} $ |
该层是输入层, 数据经过预处理后作为输入, 样本维度为
$ a_m^{(1)}(i) = \tanh \left( {\sum\limits_{c = 1}^{{N_c}} {a_c^{(0)}} (i)*w_m^{(1)}(i) + b_m^{(1)}} \right) $ |
该层是卷积层, 进行空间滤波和非线性激活. 其中,
$ \begin{split} g_n^{(2)}(i)& = \displaystyle\sum\limits_{{{m}} = 1}^{{N_s}} {\displaystyle\sum\limits_{t = 1}^{{N_t}} {\left( {a_n^{(1)}(t + i)*w_n^{(2)}(i) + b_n^{(2)}(i)} \right)} } \\ a_n^{(2)\prime }(i)& = \tanh \left( {BN\left( {g_n^{(2)}(i)} \right)} \right) \\ a_n^{(2)} &= {\text{ down}}\left( {a_n^{(2)\prime }} \right) \end{split} $ |
该层为卷积层、BN层及池化层. 一维卷积层用于时域滤波, 其中,
$ {r^{(3)}}\sim{{\rm{Bernoulli}}} \left( {{p^{(3)}}} \right) $ |
$ a_k^{(3)} = \tanh \left( {\left( {{r^{(3)}}*{a^{(2)}}} \right)*{W^{(3)}} + {b^{(3)}}} \right) $ |
该层为Flatten层和全连接层. 使用Flatten层, 将输入张量由多维转换成一维的形式, 达到从卷积层到全连接层的过渡的目的. 为防止过拟合, 该层引入Dropout, 提升模型的泛化能力[18]. 全连接层则是把特征向量进行全连接处理, 激活函数使用tanh函数. 其中,
$ {a^{(4)}} = \tanh \left( {{a^{(3)}}*{W^{(4)}} + {b^{(4)}}} \right) $ |
该层为全连接层, 作用是输出样本特征. 其中,
该层是输出层. 将训练集中所有的正样本
$ {V_p} = \sum\limits_{i = 1}^n {a_i^{(4)}} /n $ |
将单个样本
$ {a^{(5)}} = \cos (P, X) = \frac{{{V_p} \odot {V_x}}}{{\| {{V_p}} \| \; \| {{V_x}} \|}} $ |
输出结果为余弦相似性
$ C(X) = \left\{ {\begin{array}{*{20}{l}} 1, \;{{a^{(5)}} \geqslant 0} \\ { - 1}, \; {{a^{(5)}} < 0} \end{array}} \right. $ |
其中,
批归一化用于减少神经网络训练过程中内部协变量偏移. 由于tanh激活函数
算法1. 批归一化算法
输入: 最小批中训练样本数量为m, 即输入的最小批
输出:
(1)计算最小批中所有样本特征均值:
(2)计算最小批中所有样本特征方差:
(3)归一化每一个样本的特征:
其中, ò是一个用于保持数值稳定的常量.
2.3.2 DropoutDropout算法可以使每个神经元学习到更多的随机特征, 目前已经解决了许多的语音和图像识别任务中的难题. Dropout的基本原理是在前向传播的训练阶段, 将某一层的Dropout率设置为p, 则该层中的每个神经元都有1–p的概率不工作. 而在测试阶段, 保留所有神经元, 使其正常工作. 设置适当的p值可以帮助神经元学习更明显更普遍的特征, 避免网络过拟合.
2.4 损失函数如前文所述, 将所有正样本P输入网络,
正样本标签
$ {{{loss}}} = e\left( {{a^{(5)}}, y} \right) $ |
其中,
$ e\left( {{a^{(5)}}, y} \right) = E{({a^{(5)}} - y)^2} $ |
本文网络使用Adam作为优化器, 初始学习率设置为
实验分别以第三届国际BCI竞赛数据集II、正常人和意识障碍患者照片识别数据作为实验数据. 分别用于验证该网络对P300拼写系统中经典数据集的检测效果、验证该网络对于小样本数据的检测效果以及对意识障碍患者的小样本数据进行分析.
3.1 数据集 3.1.1 第三届BCI大赛的数据集II第三届BCI大赛的数据集II中记录的是两名受试者的完整脑电信号. 该数据集采用Oddball范式下的BCI 2000系统采集. 在实验中, 显示器上显示了一个6行6列的矩阵, 矩阵中的字符为[a–Z], [1–9]和[_]. 受试者的任务是按顺序注视矩阵中的一个字符. 该矩阵的6行6列以5.7 Hz的频率随机闪烁. 要选择的字符由一行和一列决定. 因此, 12行或列的闪烁中有2个会诱发受试者的P300响应. 一个字符的拼写实验共有15轮, 1轮闪烁中每行每列各随机闪烁1次, 共闪烁12次. 因此需要检测30个P300响应.
两个受试者的脑电信号从标准10–20系统的64个通道采集[20]. 该信号经过0.1–60 Hz的带通滤波, 以240 Hz的采样频率进行采样. 训练集由85个字符的实验组成, 正样本(含P300)数量为
每个样本使用刺激发生后0–650 ms的时间窗进行采样, 采样频率为120 Hz, 并通过0.1–20 Hz的8阶带通巴特沃斯滤波器对脑电信号进行滤波. 即每个通道样本的采样点数为78, 当使用所有通道时, 电极通道数为64, 输入样本维度为
P300拼写器是6行6列的矩阵, 在一次字符拼写实验中, 共有15轮闪烁, 即
$ S(i) = \sum\limits_{j = 1}^n {{a^{(5)}}(j, i)} $ |
其中,
$ \left\{ {\begin{array}{l} x = \arg {\mathop {\max }\nolimits_{1 \leqslant i \leqslant 6}}S(i)\\ y = \arg {\mathop {\max }\nolimits_{7 \leqslant i \leqslant 12}}S(i) \end{array}} \right.$ |
其中,
照片识别数据由一个命令遵循实验采集, 该实验的目的是判断受试者能否遵循指导语, 看向指定的照片, 通过分析实验过程中受试者的脑电信号, 检测意识障碍患者的意识状态. 在实验过程中, 使用NuAmps设备采集受试者的脑电数据, 受试者在保持清醒的情况下戴上电极帽, 脑电信号的参考电极放置在右侧乳突, 地电极位于“Fpz”位置, 且各电极阻抗保持在
命令遵循实验具体过程如下: 在显示屏上出现两张照片, 一张为受试者照片, 一张为陌生人的照片, 分别随机出现在屏幕的左右两侧, 受试者根据指导语看向自己的照片或陌生人的照片. 两张照片随机闪烁, 每次闪烁持续200 ms, 连续两次出现的间隔为800 ms, 闪烁的出现符合Oddball范式, 可以诱发脑电信号中相关的P300电位. 两张照片各闪烁一次被定义为一轮闪烁, 持续2 000 ms, 在一次实验中, 两张图片各闪烁8次, 即有8轮闪烁.
共有15名受试者参与该实验, 其中5名健康受试者, 10名意识障碍患者. 实验前一周采用昏迷恢复量表(CRS-R)对所有意识障碍患者的意识状态进行评估. 每位受试者进行了20次实验. 将这20次实验数据随机分为10个训练集, 和10个测试集, 则每个受试者的训练集和测试集中正样本的数量均为
使用每次闪烁发生后0–600 ms的时间窗进行截取, 每个样本共有
在一次照片识别实验中, 共有8轮, 即
$ S(i) = \sum\limits_{j = 1}^n {{a^{(5)}}(j, i)} $ |
其中,
$ t = \arg {\mathop {\max }\nolimits_{1 \leqslant i \leqslant 2}}S(i) $ |
其中, t表示概率最大值的索引.
应用于照片识别数据的网络结构略有不同,
本文模型首先检测每次闪烁出现后脑电信号中的P300波形, 并根据检测出P300波形的次数预测字符/照片. 因此可以用P300波形识别率和字符/照片识别准确率两个方面来衡量我们的模型.
3.2.1 P300波形识别率P300波形检测问题可以看作二分类问题, 波形的识别率(recognition rate, Reco)定义为:
$ {{{Re}}} co = \frac{{TP + TN}}{{TP + TN + FP + FN}} $ |
其中, 真阳性(TP)表示实际为正样本, 识别结果为正的样本数量; 真阴性(TN)表示实际为负样本, 识别结果为负的样本数量; 假阳性(FP)表示实际为负样本, 识别结果为正的样本数量; 假阴性(FN)表示实际为正样本, 识别结果为负的样本数量[21] .
其他广泛使用的结果度量指标包括召回率(Recall)、精确率(Precision)以及二者的调和平均数
$ {{ Recall }} = \frac{{TP}}{{TP + TN}} $ |
$ {{ Precision }} = \frac{{TP}}{{TP + FP}} $ |
$ F {\text{-}} measure = 2 \times \frac{{{{ Recall }} \times {{ Precision }}}}{{{{ Recall }} + {{ Precision }}}} $ |
将字符识别测试数据作为模型的输入, 输出为预测字符, 即检测到P300次数最多的行和列的交点, 字符识别准确率定义为预测正确的字符数与所有测试字符的比例.
将照片识别测试数据作为模型的输入, 输出为预测照片, 即检测到P300次数最多的目标, 照片识别准确率定义为预测正确的照片数与所有测试照片数的比例.
3.3 实验结果 3.3.1 第三届国际BCI竞赛数据集II结果本文模型与Cecotti等人[3]经典的CNN模型(CNN-1, MCNN-1)进行了比较. P300的分类结果如表3所示. 对于受试者A和B, 本方法的P300识别率和精确率以及F-measure均高于其他两个方法. 受试者A的识别率分别提高0.022和0.036, 受试者B 的识别率分别提高0.007和0.030. 在精确率方面, 受试者A和受试者B的数据使用本方法分析, 相比CNN-1分别提高了0.018和0.010, 与MCNN-1相比分别提高了0.027和0.034. 而比较另一个重要的评价指标F-measure, 本方法对于受试者A的结果, 相比CNN-1和MCNN-1分别提高0.009和0.016, 对于受试者B, 分别提高0.004和0.010. 通过比较上述性能评价指标, 可以认为本文方法在该字符拼写数据集中, 对P300波形有较好的分类性能.
使用平均字符识别准确率作为识别准确率的指标, 同样与CNN-1, MCNN-1模型进行比较. 结果如表4所示, 可以看出本方法在字符实验中对受试者A和B的字符识别准确率在不同闪烁轮次均与其他两个方法相近, 大多数的字符都能在10个闪烁轮次内被正确识别. 综合两种性能评价指标, 说明本方法可以有效应用于P300信号检测与基于P300的拼写系统的应用.
3.3.2 照片识别数据结果
使用本文模型分别对5名健康受试者和10名意识障碍患者的照片识别数据进行离线分析. 每位受试者有20次的照片识别实验数据, 随机选取其中10次实验数据作为训练集, 其余10次实验数据作为测试集. 表5总结了健康受试者的离线实验准确率, 所有的5名健康受试者均能正确完成照片识别实验, 且在目标照片的第5次闪烁之后准确率均达到了100%, 即10次照片识别任务均正确完成. 验证了该方法适用于样本数量较少的脑电数据分类任务, 同时表明该命令遵循实验可以有效地检测受试者的意识状态水平与命令遵循能力.
表6是意识障碍患者的离线实验准确率, 10名意识障碍患者的数据中有5名受试者在目标闪烁8次之后, 准确率达到了70%及以上, 即10次识别任务中, 识别正确的个数达到了7个及以上. 准确率高于脑机接口系统64%的随机水平, 可以认为是显著的[22], 表明该受试者拥有较高的理解认知能力和意识水平, 具备命令遵循的能力. 虽然其余5名受试者的离线分析准确率低于64%, 但是不能将这些结果作为受试者没有意识、不能遵循命令的依据, 因为完成该实验需要受试者拥有注视能力及其他认知能力, 任何一种能力的缺失都有导致实验准确率低下的可能性.
将实验离线分析结果与实验前后两次临床CRS-R行为量表评估结果对比, 实验准确率高于64%的5名意识障碍患者中, 有3名患者在实验结束的一段时间后, 患者有较好的意识恢复情况, 行为量表评估得分相比实验前有明显的提高. 5名实验准确率低于64%的意识障碍患者中有4名的意识状态则没有明显变化. 表明该方法对意识障碍患者的意识状态检测结果与临床评估结果匹配程度较高, 具有较高的有效性. 此外, 在3名有较好意识恢复情况的患者中, 其中一名患者实验前的临床CRS-R行为量表评估结果为植物状态, 在第2次评估中有较好的意识恢复情况, 说明该检测方法相比于临床行为量表评估方法有更高的敏感性.
4 结论与展望本文提出了一种适用于P300信号检测的改进原型网络. 该模型基于原型网络思想, 使用卷积神经网络提取P300信号样本的特征均值作为原型, 结合度量方法余弦相似度, 实现P300信号的分类和识别. 该模型在第三届BCI竞赛数据集II上取得了良好的结果, 此外, 在对样本数较少的照片识别数据分析中, 该模型对意识障碍患者意识水平的检测结果与临床行为量表评估结果相近, 并且该模型有更高的敏感性, 可以有效地解决临床行为量表评估可能出现的误诊情况. 在机器学习和神经科学领域, 由于不同个体差异很大, 个体间的P300信号检测仍然是一个具有挑战性的问题, 进一步的工作是研究小样本学习模型, 实现不同个体间P300信号的小样本识别, 并选择最合适的模型应用于在线的脑机接口系统, 实现对意识障碍患者的在线意识状态检测.
[1] |
Rakotomamonjy A, Guigue V. BCI competition III: Dataset II-ensemble of SVMs for BCI P300 speller. IEEE Transactions on Biomedical Engineering, 2008, 55(3): 1147–1154.
|
[2] |
Bostanov V. BCI competition 2003-data sets Ib and IIb: Feature extraction from event-related brain potentials with the continuous wavelet transform and the t-value scalogram. IEEE Transactions on Biomedical Engineering, 2004, 51(6): 1057–1061.
|
[3] |
Cecotti H, Graser A. Convolutional neural networks for P300 detection with application to brain-computer interfaces. IEEE Transactions on Pattern Analysis and Machine Intelligence, 2011, 33(3): 433–445.
|
[4] |
Liu MF, Wu W, Gu ZH, et al. Deep learning based on batch normalization for P300 signal detection. Neurocomputing, 2018, 275: 288–297.
|
[5] |
Ioffe S, Szegedy C. Batch normalization: Accelerating deep network training by reducing internal covariate shift. Proceedings of the 32nd International Conference on Machine Learning. Lille: JMLR.org, 2015. 448–456.
|
[6] |
Jennett B. The vegetative state. Journal of Neurology Neurosurgery & Psychiatry, 2002, 73(4): 355–357.
|
[7] |
Johnson LSM, Lazaridis C. The sources of uncertainty in disorders of consciousness. AJOB Neuroscience, 2018, 9(2): 76–82.
|
[8] |
Plum F, Posner JB. The Diagnosis of Stupor and Coma. Philadelphia. 1980.
|
[9] |
Giacino JT, Ashwal S, Childs N, et al. The minimally conscious state: Definition and diagnostic criteria. Neurology, 2002, 58(3): 349–353.
|
[10] |
Giacino JT, Kalmar K, Whyte J. The JFK coma recovery scale-revised: Measurement characteristics and diagnostic utility. Archives of Physical Medicine and Rehabilitation, 2004, 85(12): 2020–2029.
|
[11] |
Schnakers C, Vanhaudenhuyse A, Giacino J, et al. Diagnostic accuracy of the vegetative and minimally conscious state: Clinical consensus versus standardized neurobehavioral assessment. BMC Neurology, 2009, 9(1): 35. |
[12] |
Gosseries O, Zasler ND, Laureys S. Recent advances in disorders of consciousness: Focus on the diagnosis. Brain Injury, 2014, 28(9): 1141–1150.
|
[13] |
van Erp WS, Lavrijsen JCM, van de Laar FA, et al. The vegetative state/unresponsive wakefulness syndrome: A systematic review of prevalence studies. European Journal of Neurology, 2014, 21(11): 1361–1368.
|
[14] |
Pan JH, Xie QY, Qin PM, et al. Prognosis for patients with cognitive motor dissociation identified by brain-computer interface. Brain, 2020, 143(4): 1177–1189.
|
[15] |
Lake BM, Salakhutdinov R, Tenenbaum JB. Human-level concept learning through probabilistic program induction. Science, 2015, 350(6266): 1332–1338.
|
[16] |
Vinyals O, Blundell C, Lillicrap T, et al. Matching networks for one shot learning. Proceedings of the 30th International Conference on Neural Information Processing Systems. Red Hook: Curran Associates Inc., 2016. 3637–3645.
|
[17] |
Snell J, Swersky K, Zemel R. Prototypical networks for few-shot learning. Proceedings of the 31st International Conference on Neural Information Processing Systems. Long Beach: Curran Associates Inc., 2017. 4080–4090.
|
[18] |
Srivastava N, Hinton G, Krizhevsky A, et al. Dropout: A simple way to prevent neural networks from overfitting. The Journal of Machine Learning Research, 2014, 15(1): 1929–1958.
|
[19] |
Kingma DP, Ba J. Adam: A method for stochastic optimization. arXiv: 1412.6980v5, 2014.
|
[20] |
Homan RW, Herman J, Purdy P. Cerebral location of international 10–20 system electrode placement. Electroencephalography and Clinical Neurophysiology, 1987, 66(4): 376–382.
|
[21] |
肖郴杰. 基于深度学习的P300脑机接口分类算法研究[硕士学位论文]. 广州: 华南理工大学, 2019.
|
[22] |
Kübler A, Birbaumer N. Brain-computer interfaces and communication in paralysis: Extinction of goal directed thinking in completely paralysed patients? Clinical Neurophysiology, 2008, 119(11): 2658–2666.
|