CN109389059B - 一种基于cnn-lstm网络的p300检测方法 - Google Patents

一种基于cnn-lstm网络的p300检测方法 Download PDF

Info

Publication number
CN109389059B
CN109389059B CN201811121064.1A CN201811121064A CN109389059B CN 109389059 B CN109389059 B CN 109389059B CN 201811121064 A CN201811121064 A CN 201811121064A CN 109389059 B CN109389059 B CN 109389059B
Authority
CN
China
Prior art keywords
layer
data
character
training
sample
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201811121064.1A
Other languages
English (en)
Other versions
CN109389059A (zh
Inventor
李璐斓
顾正晖
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
South China University of Technology SCUT
Original Assignee
South China University of Technology SCUT
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by South China University of Technology SCUT filed Critical South China University of Technology SCUT
Priority to CN201811121064.1A priority Critical patent/CN109389059B/zh
Publication of CN109389059A publication Critical patent/CN109389059A/zh
Application granted granted Critical
Publication of CN109389059B publication Critical patent/CN109389059B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2218/00Aspects of pattern recognition specially adapted for signal processing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/21Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
    • G06F18/214Generating training patterns; Bootstrap methods, e.g. bagging or boosting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V30/00Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
    • G06V30/10Character recognition
    • G06V30/14Image acquisition
    • G06V30/148Segmentation of character regions
    • G06V30/153Segmentation of character regions using recognition of characters or words

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Artificial Intelligence (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • General Engineering & Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Computational Linguistics (AREA)
  • Computing Systems (AREA)
  • Biomedical Technology (AREA)
  • Health & Medical Sciences (AREA)
  • Signal Processing (AREA)
  • General Health & Medical Sciences (AREA)
  • Molecular Biology (AREA)
  • Biophysics (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Evolutionary Biology (AREA)
  • Multimedia (AREA)
  • Measurement And Recording Of Electrical Phenomena And Electrical Characteristics Of The Living Body (AREA)
  • Character Discrimination (AREA)

Abstract

本发明公开了一种基于CNN‑LSTM网络的P300检测方法,包括步骤:1)设计P300字符拼写器,采集脑电图数据并确定训练集与测试集;2)对训练集与测试集进行预处理;3)建立CNN与LSTM结合的算法模型;4)使用训练集对模型参数进行训练;5)使用测试集测试模型字符识别的准确率、P300波识别的正确率、召回率、精度以及F‑measure。本发明将CNN与LSTM两种神经网络结合起来建立算法模型,既兼顾了时间与空间特征,同时也解决了单纯的RNN算法中梯度消失或者爆炸的问题,并且进一步提高了准确率,是一种可行的侦测P300信号的方法。

Description

一种基于CNN-LSTM网络的P300检测方法
技术领域
本发明涉及脑电信号侦测的技术领域,尤其是指一种基于CNN-LSTM网络的P300检测方法。
背景技术
脑机接口(brain-computer interface,BCI)是在人或动物脑与外部设备间创建的直接连接通路。可以用来分析脑电信号中隐含的信息。对脑机接口的研究由来已久,可以追溯到20世纪70年代。脑电图(electro-encephalography,EEG)是一种非侵入式的脑机接口方式,直接从头皮处收集脑部生物电,有较高的时间精度而且无需植入监测通道,是如今最常用的脑机接口信号。事件相关电位(event-related potential,ERP)是脑电图中一种特殊的脑诱发电位,与特定事件发生进程有锁时关系。P300波是其中常用的一种信号。P300波表现为电压的正向偏转,波峰通常出现在施加刺激后的300ms左右。P300波主要来自于人对刺激的反应,反映了人对刺激进行评估与分类的过程,因为拥有可靠的产生条件与准确的触发时间,而被用于现今的字符识别。
目前,已经有很多优秀的传统机器学习算法能够进行P300侦测分类,例如基于支持向量机(support vector machine,SVM)的分类算法,基于线性判别分析(lineardiscriminant analysis,LDA)的识别算法。同时,基于深度学习的分类算法也得到了应用。深度学习(deep learning)是机器学习中一种基于对数据进行表征学习的算法。观测值可以使用多种方式来表示,如每个像素强度值的向量,或者更抽象地表示成一系列边、特定形状的区域等。例如基于卷积神经网络(convolutional neural network,CNN)的字符识别模型与基于长短期记忆神经网络(long short-term memory,LSTM)的字符识别模型。其中,LSTM是一种时间递归神经网络(recurrent neural network,RNN)。然而,传统的机器学习算法需要手工获取特征,花费大量时间,并且泛化能力差。而现有的深度学习算法虽然可以使用分非监督式或半监督式的特征学习和分层特征提取取代手工获取特征,使得泛化能力以及准确率略有提升。但字符识别的准确率仍有待进一步提升。
CNN结合LSTM的字符识别分类算法既兼顾了时间与空间特征,其中,可以解决单纯的递归神经网络算法中梯度消失或者爆炸的问题。并且进一步提高了准确率。是一种可行的侦测P300信号的方法。
发明内容
本发明的目的在于克服现有技术的不足,提出了一种基于CNN-LSTM网络的P300检测方法,进一步提高字符识别的准确率,该方法是使用CNN-LSTM的组合模型,其中,CNN提供了一种更直观且易于理解的方式来处理自然空间-时间关系,LSTM提供了一种直观且易于理解的处理自然时间关系的方法,并且与普通RNN相比,LSTM可以有效地甄别有效信息避免梯度爆炸或者梯度消失。该方法字符识别的准确率好于单独使用CNN或者LSTM。
为实现上述目的,本发明所提供的技术方案为:一种基于CNN-LSTM网络的P300检测方法,包括以下步骤:
1)设计P300字符拼写器,采集脑电图数据并确定训练集与测试集;
2)对训练集与测试集进行预处理;
3)建立CNN与LSTM结合的算法模型;
4)使用训练集对模型参数进行训练;
5)使用测试集测试模型字符识别的准确率、P300波识别的正确率、召回率、精度以及F-measure。
在步骤1)中,设计P300字符拼写器,采集脑电图数据并确定训练集、测试集格式,包括以下步骤:
1.1)设计P300字符拼写器,并确定P300字符拼写器的闪烁方式
P300拼写器共设置目标字符nt个,包含英文字母和阿拉伯数字,nt个字符排列成r×c矩阵的格式,每一行、列均以hP300的频率随机闪烁,其中,r、c≥2且(r+c)为偶数;对于每个字符,P300拼写器设置为:首先字符矩阵保持tf的静止,然后,每行以及每列各随机闪烁一次,每次闪烁保持ti,每一次行或列闪烁后,字符矩阵有ts的停顿;上述过程称为单次字符实验,共重复np次单次字符实验,以提高字符识别准确率,则有
Figure GDA0003133181050000031
期间,受试者需集中精力在目标字符上;
1.2)确定采集的脑电图通道和脑电图数据的处理方式
共采集nch个通道的脑电图信号,脑电图数据保存每次闪烁后td内的脑电图信息,其中,td≥500毫秒,随后,对采集的脑电图数据进行带通滤波,取其中0.1-60Hz的数据,并以fre的频率进行数字化处理,即单个通道保留td×fre个特征;
1.3)确定数据集的形式
对于每位受试者,采集ntrain个字符的脑电图数据作为训练集,用于对模型参数的训练;另外采集ntest字符的脑电图数据作为测试集,用于对模型的测试;每一行、列闪烁对应的脑电图数据为一个样本;采集的脑电图数据以样本为基本单位,以三维数组的形式存放于矩阵(number×time step×channel)中,其中,第一维,代表样本序号;第二维代表每个样本中保存的时间点数;第三维,代表脑电图的通道序号,训练集的尺寸为(((c+r)·np·ntrain)×fre×nch),测试集的尺寸为(((c+r)·np·ntest)×fre×nch)。
在步骤2)中,对训练集与测试集进行预处理,包括:对数据集进行清洗、去除噪声、采样以及归一化处理,具体步骤如下:
2.1)设置时间窗、采样频率并去除噪声
在此步骤确定训练集与测试集的时间窗的尺寸、采样频率以及去噪滤波器的类型和参数;此处设置时间窗为0-tts,其中,tts≤td,取0-tts为时间窗,共计tts×fre个时间节点,接着,通过下采样再减少一半的时间点数,以减少需要分析的数据量,时间点数降为(0.5×tts×fre),最后,使用10阶的FIR带通滤波器对数据集进行处理以去除噪声;
2.2)解决训练集中正、负样本比例不均衡的问题
正样本指目标字符所属行、列对应的样本,即含有P300波的样本;负样本为不包含P300波的样本;单次字符实验中,共产生(c+r)个样本,分别有1行和1列包含目标字符信息,为正样本,而其余的(c+r-2)个样本均为负样本;正负样本的比例为2:(c+r-2),当(c+r)>4时,训练集中,明显存在样本中比例不均衡的问题;
将训练集中的正样本复制(c+r-2)/2倍,共计((c+r-2)×np×ntrain)组样本,与负样本量一致,训练集的尺寸变为((2·(c+r-2)·np·ntrain)×(0.5·tts·fre)×nch);
2.3)对特征进行归一化处理
在此步骤对训练集和测试集中的特征进行归一化处理,使用min-max归一化的方法,函数公式如下:
Figure GDA0003133181050000041
其中,Xmax代表样本数据里的最大值,Xmin代表样本数据里的最小值。
在步骤3)中,建立CNN与LSTM结合的算法模型,模型共五层,包括以下步骤:
3.1)建立输入层为模型的第一层
建立输入层使得预处理后的数据集符合卷积层要求的输入尺寸,卷积层将输入的数据视做图像处理进行处理,卷积层规定的输入数据集尺寸为(bacth size×width×height×depth),其中,第一维表示每一批处理的样本量,第二、三维代表所处理图像的宽和高,第四维表示图像的厚度;输入层将单个通道(0.5×tts×fre)个时间点数内包含的特征信息变形为卷积网络输入的第二、三维,即一张图像,nch个通道表示图共nch层厚;
3.2)建立卷积神经网络的卷积层为模型的第二层
建立如下卷积层,在卷积操作中,使用卷积核扫描输入的图像,每个卷积核对图像进行一次完整的扫描,生成1个特征映射层,当输入图像具有多个通道时,对于脑电图中的nch个通道,模型将这些通道理解为图像的厚度,滤波器需要分别对多个通道进行扫描,并把结果放入1个特征映射层中,不同的卷积核提取不同的特征信息,生成不同的权重矩阵;
首先,设定卷积核尺寸为(kw×kh),(kw×kh)代表局部感受野receptive field的尺寸,局部感受野表示卷积核每一次提取特征的范围;
其次,确定卷积步长stride,设定步长为s像素,表示卷积核从左至右,从上到下的扫描过整张图像,每次移动s个像素,步长代表获取特征的细致程度;
接着,确定卷积层的卷积核数目nfm1,以获取nfm1层特征映射层;
接着,使用“SAME”的边界扩充方式,此步骤通过在边界处填充0保持图像的空间分辨率不变;
最后,确定卷积层的层数,设置多个卷积层以获取更多高层次的特征信息,卷积层数的常规设置为1-4层,每个卷积层需要设置各自的超参数,包括:卷积核尺寸、卷积步长、卷积核数目和边界扩充方式;
3.3)建立池化层为神经网络的第三层
建立池化层减小运算开销,首先确定使用最大池化法,然后,确定进行池化的尺寸(pw×ph),最大池化法将在此范围中保留最大的数据,其余数据均丢弃,使得数据量降为之前的(pw×ph)分之一,能够减小后续步骤的运算开销;
3.4)建立LSTM为神经网络的第四层
送入LSTM前需要对池化层的输出数据集进行变形,LSTM层规定的输入数据集尺寸为(batch size×time step×input),其中,第一维表示每一批处理的样本量,第二维表示时间步step的数量,第三维表示每个时间步的输入;因此,在送入长短期记忆网络前仍要对数据格式进行整理,第一维保持不变,将池化层的输出的第二、三维合并至第二维,第四维变为第三维;
然后,确定神经元数目nhu,LSTM中的细胞中有三个门:输入门input gate、遗忘门forget gate、输出门output gate;LSTM将已经处理过的数据继续存放在特有的“门”外,当训练新的数据时,通过“门”判断是否输入数据、清除数据以及输出数据,这些门选择sigmoid函数,每个门设有不同的权重参数,权重参数在不断的学习中进行调整;
最后,确定长短期记忆网络的层数,长短期记忆网络的层数常规设置为1-2层;
3.5)建立全连接层为神经网络的第五层
在LSTM的最后一个时间步后搭建全连接层,全连接层通过给前一层提出的特征进行分块的方式进行分类操作,全连接层共需设置两个输出。
在步骤4)中,使用训练集对模型参数进行训练,包括以下步骤:
4.1)定义损失函数loss function
定义损失函数以评估模型预测概率与实际概率的差值,全连接层已经把分布式特征映射到样本标记空间,在此步骤,将全连接层的输出送入softmax函数以生成概率值,接着,使用交叉熵cross-entropy实现损失函数;
模型使用前向传播算法计算输出层结果,再使用随时间传递的反向传播算法BPTT作为训练方法,训练参数;
4.2)确定优化器
确定优化器为adam optimizer,优化器的作用是在训练中更新、调整参数的数值以最小化损失函数;
4.3)确定每次训练的数据量nbs、学习效率η以及轮次nep
确定每次训练的数据量nbs,nbs是进行训练的基本单位,每次向模型中放入nbs个样本来训练、优化参数;确定学习效率η,η是优化过程中梯度项的系数,能够设置为0到1之间的小数;确定轮次,数据完成一次训练称为一个轮次epoch,多个轮次将整个训练过程分为若干段;
在步骤5)中测试模型的准确率与P300波识别的正确率、召回率、精度以及F-measure,具体如下:
①测定字符识别的准确率:
针对每个字符的识别,共进行np次单次字符实验,产生(c+r)×np个样本,其中,每一行、列分别对应np个样本,在这一过程中,分别计算每行、列对应的np个样本预测为正样本的概率和,然后选出概率最高的1行、1列,通过与字符矩阵的比对,确定预测字符,再通过与真实字符的比较,得到字符识别的准确率;
②测定P300波识别的正确率、召回率、精度以及F-measure
测试样本中,TP表示预测正确的正样本数量,TN表示预测正确的负样本数量,FP表示预测错误的正样本数量,FN表示预测错误的负样本数量,recognition代表P300波识别的正确率,为全部样本中预测正确的样本比例;F-measure综合考虑了召回率与精度,由以下公式得出:
Figure GDA0003133181050000081
Figure GDA0003133181050000082
其中,recall为召回率、precision为精度。
本发明与现有技术相比,具有如下优点与有益效果:
本发明将CNN与LSTM两种神经网络结合起来建立算法模型,既兼顾了时间与空间特征,同时也解决了单纯的RNN算法中梯度消失或者爆炸的问题,并且进一步提高了准确率,是一种可行的侦测P300信号的方法。总之,本发明充分利用了脑电数据集中的时-空信息,有效提高了字符识别的准确率,具有实际推广价值,值得推广。
附图说明
图1为本发明逻辑流程示意图。
图2为P300字符拼写器示意图。
图3为64个电极通道示意图。
图4为本发明搭建的CNN-LSTM算法模型示意图。
具体实施方式
下面结合具体实施例对本发明作进一步说明。
如图1所示,本实施例所提供的基于CNN-LSTM网络的P300检测方法,是通过P300拼写器采集脑电图数据,并进行预处理;然后建立算法模型,训练模型参数;最后测试模型字符识别的准确率及其它性能指标,其包括以下步骤:
1)设计P300字符拼写器,采集脑电图数据并确定训练集与测试集,包括以下步骤:
1.1)确定使用图2所示BCI2000平台的P3拼写器,并确定P300字符拼写器的闪烁方式:
P300拼写器共设置目标字符36个,分别为26个英文字母“A-Z”、阿拉伯数字“1-9”以及短下划线“_”。36个字符排列成6×6矩阵的格式,每一行、列均以hP300的频率随机闪烁。实验中,拼写器屏幕的左上角会显示一个单词,受试者按照顺序注视单词中的一个字符。
对于每个字符,P300拼写器设置如下:首先字符矩阵保持tf(s)的静止;然后,每行以及每列各随机闪烁一次,每次闪烁持续ti(ms);每一次行或列闪烁后,字符矩阵保持ts(ms)的停顿。上述步骤称为单次字符实验。共重复np次单次字符实验,以提高字符识别准确率。tf(s)取2.5秒,ti(ms)取100毫秒,ts(ms)取75毫秒,则有
Figure GDA0003133181050000091
受试者需集中精力在目标字符上,并默数字符出现的次数。默数字符出现的次数使受试者更集中精力,可以有效地获取更好的表现结果。每闪烁12次,就有2次(1行与1列)是包含目标字符的。实验为受试者准备了5节会话,每节会话中包含一系列单词,每个单词中包含一系列的字符。np取15,即每个字符进行15次单次字符实验。
1.2)确定采集的脑电图通道和脑电图数据的处理方式:
采集的脑电信号通道为图3所示的64个标准通道。脑电图数据保存每次闪烁后td(ms)内的脑电图信息,其中,需td(ms)≥500毫秒。随后,对采集的脑电图数据进行带通滤波,取其中0.1-60Hz的数据,并以fre的频率进行数字化处理。其中,td(ms)取1000毫秒,fre取240Hz。每次闪烁共保存240×64=15360个特征信息。
1.3)确定数据集的形式:
对于每位受试者,采集ntrain个字符的脑电图数据作为训练集,用于模型参数的训练;另外采集ntest字符的脑电图数据作为测试集,用于对模型进行测试。
使用第三届脑机接口竞赛(BCI Competition III Challenge 2004)数据集中受试者B的脑电数据集。其中,ntrain为85、ntest为100;训练集包含15300个样本用于训练模型参数;测试包含18000个样本。
每一行、列闪烁的脑电图数据为一个样本。采集的脑电图数据以样本为基本单位,以三维数组的形式存放于矩阵(number×time step×channel)中。其中,第一维,代表样本序号;第二维代表了每个样本中保存的时间点数;第三维,代表了脑电图的通道序号。训练集的尺寸为(15300×240×64),测试集的尺寸为(18000×240×64)。
2)对训练集与测试集进行预处理,其中包括:对数据集进行清洗、去除噪声、采样以及归一化处理。包括以下步骤:
2.1)设置时间窗、采样频率并去除噪声:
在此步骤确定训练集、测试集的时间窗的尺寸、采样频率以及去噪滤波器的类型和参数。由于在脑电图的记录中,P300波表现为电压的正向偏转,通常有250-500毫秒的延迟。此处设置时间窗为0-tts(ms),其中,tts≤td。取0-tts(ms)为时间窗,共计tts×fre个时间节点。为了减少需要分析的数据量,通过下采样再减少一半的时间点数,最终时间点数为(0.5×tts×fre)。为了去除噪声,使用10阶的FIR带通滤波器对数据集进行处理。
其中,取时间窗为0-650毫秒,保存156个时间节点。下采样后,保留78个时间节点,78×64=4992个特征信息。此时训练集的尺寸变为(15300×78×64)。此时训练集的尺寸变为(18000×78×64)。
2.2)解决训练集中正、负样本比例不均衡的问题:
正样本指目标字符所属行、列对应的样本,即含有P300波的样本。负样本为不包含P300波的样本。单次字符实验中,共产生12个样本。其中,分别有1行和1列包含目标字符信息,为正样本,而其余的10个样本均为不包含P300波的负样本。正负样本的比例为1:5,明显存在样本中比例不平衡的问题。
样本比例不均衡导致过拟合,在二元分类问题中表现为将样本分类至数据多的一侧。为了使训练集中的数据均衡,将训练集中的正样本复制5倍,共计5×2×15×85=12750组数据,与负样本量一致。此时训练集的尺寸变为(25500×78×64)。
2.3)对特征进行归一化处理:
在此步骤对训练集、测试集中的特征进行归一化处理。归一化处理是为了方便后续数据的处理。使用min-max归一化的方法,函数公式如下:
Figure GDA0003133181050000111
其中Xmax代表样本数据里的最大值,Xmin代表样本数据里的最小值。
3)建立图4所示CNN与LSTM结合的算法模型,模型共五层,包括以下步骤:
3.1)建立输入层为模型的第一层:
建立输入层使得预处理后的数据集符合卷积层的输入尺寸要求。卷积神经网络将输入的数据视做图像处理进行处理,卷积层规定的输入数据集尺寸为(bacth size×width×height×depth)。其中,第一维表示每一批处理的样本量,第二、三维代表所处理图像的宽和高,第四维表示图像的厚度。
输入层将78个时间点数内包含的特征信息变形为卷积网络的输入的第二、三维,即一张图像。64个通道表示图像共64层厚。其中,单个样本输入第一层的尺寸为(1×78×64),单个样本经过第一层处理后输出的尺寸为(1×13×6×64)。
3.2)建立卷积层为模型的第二层:
建立如下卷积层。在卷积操作中,使用卷积核扫描输入的图像,每个卷积核对图像进行1次完整的扫描,生成1个特征映射层。当输入图像具有多个通道时,如脑电图中的64个通道,模型将这些通道理解为图像的厚度,滤波器需要分别对多个通道进行扫描,并把结果放入1个特征映射层中。不同的卷积核提取不同的特征信息,生成不同的权重矩阵。
首先设定卷积核尺寸为3×3,3×3代表了局部感受野(receptive field)的尺寸,局部感受野表示卷积核每一次提取特征的范围。卷积核尺寸的选择主要考虑到捕捉左/右、上/下以及中心的信息。
其次,确定卷积步长(stride)。设定步长为1像素,表示卷积核从左至右,从上到下的扫描过整张图像,每次移动1个像素。步长代表了获取特征的细致程度。
然后确定卷积层的卷积核数目为32,以获取32层特征映射层。
接着,使用“SAME”的边界扩充方式,保持图像的空间分辨率不变。“SAME”的边界扩充方式在边界处填充0使得图像尺寸不变。
单个样本经过第一个卷积层的输出尺寸为(1×13×6×32)。
最后,确定卷积层的层数为2。第二个卷积层设置卷积核数目为64。卷积核尺寸、卷积步长、边界扩充方式与第一个卷积层保持一致。单个样本经过第二层处理后的输出尺寸为(1×13×6×64)。
3.3)建立池化层为模型的第三层:
建立池化层减小运算开销。确定在池化层使用最大池化法。然后,确定进行池化的尺寸为(1×3)。最大池化法将在此范围中选择最大的数据储存,其余数据均丢弃,使得数据量降为之前的1/3。可以极大的减小的后续步骤的运算开销。单个样本经过第池化层处理后的输出尺寸为(1×13×2×64)。
3.4)建立LSTM为模型的第四层:
建立长短期记忆网络处理池化层输出的包含时间序列高层特征的数据以研究脑电图信号中的时序信息。
送入LSTM前需要对池化层的输出数据集进行变形。LSTM层规定的输入数据集尺寸为(batch size×time step×input)。其中,第一维表示每一批处理的样本量,第二维表示时间步(step)的数量,第三维表示每个时间步的输入。因此,在送入长短期记忆网络前仍要对数据格式进行整理。第一维保持不变,将池化层的输出的第二、三维合并至第二维,第四维变为第三维。即将单个样本变形为(1×26×64),LSTM网络的时间步为26。
然后确定神经元数目nhu为100。其余超参数均使用默认值。LSTM中的细胞中有三个门:输入门(input gate)、遗忘门(forget gate)、输出门(output gate)。LSTM将已经处理过的数据继续存放在特有的“门”外,当训练新的数据时,通过“门”判断是否输入数据、清除数据以及输出数据:1)当输入门的产出近似于零,将把这里的值挡住,不会进到下一层;2)当遗忘门产生的值近似于零,把区块里记住的值忘掉;3)输出门用来决定在区块记忆中的输入是否能输出。这些门选择sigmoid函数,每个门设有不同的权重参数,权重参数在不断的学习中进行调整。
此步骤,设置单层的长短期记忆网络。
3.5)建立全连接层为模型的第五层:
建立全连接层,在LSTM的最后1个时间步后搭建全连接层。全连接层通过给前一层提出的特征进行分块的方式进行分类操作。全连接层共设置两个输出。
4)使用训练集对模型参数进行训练,包括以下步骤:
4.1)定义损失函数(loss function):
定义损失函数以评估模型预测概率与实际概率的差值。全连接层已经把分布式特征映射到样本标记空间,此步骤,需要将全连接层的输出送入softmax函数以生成概率值,接着,使用交叉熵(cross-entropy)实现损失函数。
模型使用前向传播算法计算输出层结果,再使用随时间传递的反向传播算法(BPTT,back propagation through time)作为训练方法,训练参数。
4.2)确定优化器:
确定优化器为adam optimizer,优化器的作用是在训练中更新、调整参数的数值以最小化损失函数。adam optimizer是梯度下降算法的一种变体,可以利用梯度的一阶矩估计和二阶矩估计动态调整每个参数的学习率,使得参数较为稳定。
4.3)确定每次训练的数据量nbs、学习效率η以及轮次nep
训练集共包含25500组样本。每次训练的数据量(batch size)nbs设置为150。即每次向网络中放入150组样本进行训练、优化参数。训练170次为1轮。
学习效率(learning rate)η是优化过程中梯度项的系数,设置为0.001。
数据完成1次训练称为1个轮次(epoch),多个轮次将整个训练过程分为若干段,方便观察,调整。设置nep为6。
5)使用测试集测试模型字符识别的准确率、P300波识别的正确率、召回率、精度以及F-measure,具体如下:
①测定字符识别的准确率:
针对每个字符的识别,共进行15次单次字符实验,产生180个样本。其中,每一行、列分别对应15个样本。在这一步骤中,分别计算12个行、列对应的15个样本预测为正样本的概率和。然后选出概率最高的1行、1列,通过与字符矩阵的比对,确定预测字符,再通过与真实字符的比较,在受试者B上得到字符识别的准确率为0.983。
②测定P300波识别的正确率、召回率、精度以及F-measure:
测试样本中,TP表示预测正确的正样本数量,TN表示预测正确的负样本数量,FP表示预测错误的正样本数量,FN表示预测错误的负样本数量,recognition代表P300波识别的正确率,为全部样本中预测正确的样本比例;F-measure综合考虑了召回率与精度,由以下公式得出:
Figure GDA0003133181050000151
Figure GDA0003133181050000152
其中,recall为召回率、precision为精度。
各个性能指标见表1:
表1模型的性能指标
TP TN FP FN recognition recall precision F-measure
2223 10293 4707 777 0.70 0.74 0.32 0.45
以上所述实施例只为本发明之较佳实施例,并非以此限制本发明的实施范围,故凡依本发明之形状、原理所作的变化,均应涵盖在本发明的保护范围内。

Claims (5)

1.一种基于CNN-LSTM网络的P300检测方法,其特征在于,包括以下步骤:
1)设计P300字符拼写器,采集脑电图数据并确定训练集与测试集;
2)对训练集与测试集进行预处理;
3)建立CNN与LSTM结合的算法模型;
4)使用训练集对模型参数进行训练,包括以下步骤:
4.1)定义损失函数loss function
定义损失函数以评估模型预测概率与实际概率的差值,全连接层已经把分布式特征映射到样本标记空间,在此步骤,将全连接层的输出送入softmax函数以生成概率值,接着,使用交叉熵cross-entropy实现损失函数;
模型使用前向传播算法计算输出层结果,再使用随时间传递的反向传播算法BPTT作为训练方法,训练参数;
4.2)确定优化器
确定优化器为adam optimizer,优化器的作用是在训练中更新、调整参数的数值以最小化损失函数;
4.3)确定每次训练的数据量nbs、学习效率η以及轮次nep
确定每次训练的数据量nbs,nbs是进行训练的基本单位,每次向模型中放入nbs个样本来训练、优化参数;确定学习效率η,η是优化过程中梯度项的系数,能够设置为0到1之间的小数;确定轮次,数据完成一次训练称为一个轮次epoch,多个轮次将整个训练过程分为若干段;
5)使用测试集测试模型字符识别的准确率、P300波识别的正确率、召回率、精度以及F-measure。
2.根据权利要求1所述的一种基于CNN-LSTM网络的P300检测方法,其特征在于,在步骤1)中,设计P300字符拼写器,采集脑电图数据并确定训练集、测试集格式,包括以下步骤:
1.1)设计P300字符拼写器,并确定P300字符拼写器的闪烁方式
P300拼写器共设置目标字符nt个,包含英文字母和阿拉伯数字,nt个字符排列成r×c矩阵的格式,每一行、列均以hP300的频率随机闪烁,其中,r、c≥2且(r+c)为偶数;对于每个字符,P300拼写器设置为:首先字符矩阵保持tf的静止,然后,每行以及每列各随机闪烁一次,每次闪烁保持ti,每一次行或列闪烁后,字符矩阵有ts的停顿;上述过程称为单次字符实验,共重复np次单次字符实验,以提高字符识别准确率,则有
Figure FDA0003133181040000021
期间,受试者需集中精力在目标字符上;
1.2)确定采集的脑电图通道和脑电图数据的处理方式
共采集nch个通道的脑电图信号,脑电图数据保存每次闪烁后td内的脑电图信息,其中,td≥500毫秒,随后,对采集的脑电图数据进行带通滤波,取其中0.1-60Hz的数据,并以fre的频率进行数字化处理,即单个通道保留td×fre个特征;
1.3)确定数据集的形式
对于每位受试者,采集ntrain个字符的脑电图数据作为训练集,用于对模型参数的训练;另外采集ntest字符的脑电图数据作为测试集,用于对模型的测试;每一行、列闪烁对应的脑电图数据为一个样本;采集的脑电图数据以样本为基本单位,以三维数组的形式存放于矩阵(number×time step×channel)中,其中,第一维,代表样本序号;第二维代表每个样本中保存的时间点数;第三维,代表脑电图的通道序号,训练集的尺寸为(((c+r)·np·ntrain)×fre×nch),测试集的尺寸为(((c+r)·np·ntest)×fre×nch)。
3.根据权利要求1所述的一种基于CNN-LSTM网络的P300检测方法,其特征在于,在步骤2)中,对训练集与测试集进行预处理,包括:对数据集进行清洗、去除噪声、采样以及归一化处理,具体步骤如下:
2.1)设置时间窗、采样频率并去除噪声
在此步骤确定训练集与测试集的时间窗的尺寸、采样频率以及去噪滤波器的类型和参数;此处设置时间窗为0-tts,tts≤td,其中,td为样本保存的脑电图信息的时长,且td≥500毫秒,取0-tts为时间窗,共计tts×fre个时间节点,其中,fre为样本进行数字化处理的频率;接着,通过下采样再减少一半的时间点数,以减少需要分析的数据量,时间点数降为(0.5×tts×fre),最后,使用10阶的FIR带通滤波器对训练集、测试集进行处理以去除噪声;
2.2)解决训练集中正、负样本比例不均衡的问题
正样本指目标字符所属行、列对应的样本,即含有P300波的样本;负样本为不包含P300波的样本;单次字符实验中,共产生(c+r)个样本;其中,r、c分别为P300拼写器中字符矩阵的行数与列数,分别有1行和1列包含目标字符信息,为正样本,而其余的(c+r-2)个样本均为负样本;正负样本的比例为2:(c+r-2),当(c+r)>4时,训练集中明显存在样本中比例不均衡的问题;
ntrain为训练集包含的字符数量,针对每个字符,共重复np次单次字符实验,即每个字符产生np个样本,将训练集中的正样本复制(c+r-2)/2倍,共计((c+r-2)×np×ntrain)组样本,与负样本量一致,训练集的尺寸变为((2·(c+r-2)·np·ntrain)×(0.5·tts·fre)×nch),其中,nch为脑电图信号的通道数量;
2.3)对特征进行归一化处理
在此步骤对训练集和测试集中的特征进行归一化处理,使用min-max归一化的方法,函数公式如下:
Figure FDA0003133181040000041
其中,Xmax代表样本数据里的最大值,Xmin代表样本数据里的最小值。
4.根据权利要求1所述的一种基于CNN-LSTM网络的P300检测方法,其特征在于,在步骤3)中,建立CNN与LSTM结合的算法模型,模型共五层,包括以下步骤:
3.1)建立输入层为模型的第一层
建立输入层使得预处理后的数据集符合卷积层要求的输入尺寸,卷积层将输入的数据视做图像处理进行处理,卷积层规定的输入数据集尺寸为(bacth size×width×height×depth),其中,第一维表示每一批处理的样本量,第二、三维代表所处理图像的宽和高,第四维表示图像的厚度;输入层将单个通道(0.5×tts×fre)个时间点数内包含的特征信息变形为卷积网络输入的第二、三维,即一张图像,其中,tts为在步骤2)中确定的样本时间窗长度,fre为样本在步骤2)中进行数字化处理的频率,nch为脑电图信号的通道数量,nch个通道表示图共nch层厚;
3.2)建立卷积神经网络的卷积层为模型的第二层
在卷积操作中,使用卷积核扫描输入的图像,每个卷积核对图像进行一次完整的扫描,生成1个特征映射层,当输入图像具有多个通道时,对于脑电图中的nch个通道,模型将这些通道理解为图像的厚度,滤波器需要分别对多个通道进行扫描,并把结果放入1个特征映射层中,不同的卷积核提取不同的特征信息,生成不同的权重矩阵;
首先,设定卷积核尺寸为(kw×kh),(kw×kh)代表局部感受野receptive field的尺寸,局部感受野表示卷积核每一次提取特征的范围;
其次,确定卷积步长stride,设定步长为s像素,表示卷积核从左至右,从上到下的扫描过整张图像,每次移动s个像素,步长代表获取特征的细致程度;
接着,确定卷积层的卷积核数目nfm1,以获取nfm1层特征映射层;
接着,使用“SAME”的边界扩充方式,此步骤通过在边界处填充0保持图像的空间分辨率不变;
最后,确定卷积层的层数,设置多个卷积层以获取更多高层次的特征信息,卷积层数的常规设置为1-4层,每个卷积层需要设置各自的超参数,包括:卷积核尺寸、卷积步长、卷积核数目和边界扩充方式;
3.3)建立池化层为神经网络的第三层
建立池化层减小后续步骤的运算开销,首先确定使用最大池化法,然后,确定进行池化的尺寸(pw×ph),最大池化法将在此范围中保留最大的数据,其余数据均丢弃,使得数据量降为之前的(pw×ph)分之一;
3.4)建立LSTM为神经网络的第四层
送入LSTM前需要对池化层的输出数据集进行变形,LSTM层规定的输入数据集尺寸为(batch size×time step×input),其中,第一维表示每一批处理的样本量,第二维表示时间步step的数量,第三维表示每个时间步的输入;因此,在送入LSTM前仍要对数据格式进行整理,第一维保持不变,将池化层的输出的第二、三维合并至第二维,第四维变为第三维;
然后,确定神经元数目nhu,LSTM中的细胞中有三个门:输入门input gate、遗忘门forget gate、输出门output gate;LSTM将已经处理过的数据继续存放在特有的“门”外,当训练新的数据时,通过“门”判断是否输入数据、清除数据以及输出数据,这些门选择sigmoid函数,每个门设有不同的权重参数,权重参数在不断的学习中进行调整;
最后,确定LSTM的层数,LSTM的层数常规设置为1-2层;
3.5)建立全连接层为神经网络的第五层
在LSTM的最后一个时间步后搭建全连接层,全连接层通过给前一层提出的特征进行分块的方式进行分类操作,全连接层共需设置两个输出。
5.根据权利要求1所述的一种基于CNN-LSTM网络的P300检测方法,其特征在于,在步骤5)中,测试模型的准确率与P300波识别的正确率、召回率、精度以及F-measure,具体如下:
①测定字符识别的准确率
r、c分别为P300拼写器中字符矩阵的行数与列数,针对每个字符的识别,共进行np次单次字符实验,产生(c+r)×np个样本,其中,每一行、列分别对应np个样本,在这一过程中,分别计算每行、列对应的np个样本预测为正样本的概率和,然后选出概率最高的1行、1列,通过与字符矩阵的比对,确定预测字符,再通过与真实字符的比较,得到字符识别的准确率;
②测定P300波识别的正确率、召回率、精度以及F-measure
测试样本中,TP表示预测正确的正样本数量,TN表示预测正确的负样本数量,FP表示预测错误的正样本数量,FN表示预测错误的负样本数量,recognition代表P300波识别的正确率,为全部样本中预测正确的样本比例;F-measure综合考虑了召回率与精度,由以下公式得出:
Figure FDA0003133181040000061
Figure FDA0003133181040000062
其中,recall为召回率、precision为精度。
CN201811121064.1A 2018-09-26 2018-09-26 一种基于cnn-lstm网络的p300检测方法 Active CN109389059B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201811121064.1A CN109389059B (zh) 2018-09-26 2018-09-26 一种基于cnn-lstm网络的p300检测方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201811121064.1A CN109389059B (zh) 2018-09-26 2018-09-26 一种基于cnn-lstm网络的p300检测方法

Publications (2)

Publication Number Publication Date
CN109389059A CN109389059A (zh) 2019-02-26
CN109389059B true CN109389059B (zh) 2021-09-21

Family

ID=65419009

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811121064.1A Active CN109389059B (zh) 2018-09-26 2018-09-26 一种基于cnn-lstm网络的p300检测方法

Country Status (1)

Country Link
CN (1) CN109389059B (zh)

Families Citing this family (31)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109820525A (zh) * 2019-01-23 2019-05-31 五邑大学 一种基于cnn-lstm深度学习模型的驾驶疲劳识别方法
CN110090017B (zh) * 2019-03-11 2021-09-14 北京工业大学 一种基于lstm的脑电信号源定位方法
CN110197195B (zh) * 2019-04-15 2022-12-23 深圳大学 一种新型面向行为识别的深层网络系统及方法
CN110188761A (zh) * 2019-04-22 2019-08-30 平安科技(深圳)有限公司 验证码的识别方法、装置、计算机设备和存储介质
CN110188683B (zh) * 2019-05-30 2020-06-16 北京理工大学 一种基于cnn-lstm的自动驾驶控制方法
CN110246078B (zh) * 2019-05-31 2020-11-03 北京航空航天大学 一种基于嵌入式gpu和卷积计算的图像处理方法和装置
CN110693493B (zh) * 2019-10-12 2022-05-31 北京工业大学 一种基于卷积与循环神经网络结合时间多尺度的癫痫脑电预测特征提取方法
CN111079647A (zh) * 2019-12-17 2020-04-28 国网江苏省电力有限公司检修分公司 一种断路器缺陷识别方法
CN111291614B (zh) * 2020-01-12 2023-11-21 杭州电子科技大学 基于迁移学习多模型决策融合的儿童癫痫综合症分类方法
CN111325095B (zh) * 2020-01-19 2024-01-30 西安科技大学 基于声波信号的设备健康状态智能检测方法和系统
CN111340091B (zh) * 2020-02-21 2022-08-23 上海艾瑞德生物科技有限公司 用于分类免疫数据的cnn模型的训练方法及其应用
CN111428601B (zh) * 2020-03-18 2023-08-18 五邑大学 一种基于ms-cnn的p300信号识别方法、装置及存储介质
CN111528834B (zh) * 2020-03-25 2021-09-24 西安电子科技大学 一种实时sar图像目标检测系统及方法
CN111895986A (zh) * 2020-06-30 2020-11-06 西安建筑科技大学 一种基于lstm神经网络的mems陀螺仪原始输出信号降噪方法
CN111915218A (zh) * 2020-08-14 2020-11-10 中国工商银行股份有限公司 基于lstm-cnn的财务造假识别方法及系统
CN112446289B (zh) * 2020-09-25 2023-08-22 华南理工大学 一种提高p300拼写器性能的方法
CN112381124B (zh) * 2020-10-30 2023-11-14 华南理工大学 一种基于动态逆学习网络的提高脑机接口性能的方法
CN112650386B (zh) * 2020-12-07 2023-05-16 华南师范大学 一种基于pca-pcn的脑机接口字符输出系统
CN112762362A (zh) * 2021-01-15 2021-05-07 中国海洋石油集团有限公司 基于卷积神经网络的水下管道泄漏声发射检测方法
CN112869711B (zh) * 2021-01-19 2022-06-03 华南理工大学 一种基于深度神经网络的自动睡眠分期及迁移方法
CN112884063B (zh) * 2021-03-11 2023-07-14 广东工业大学 基于多元时空卷积神经网络的p300信号检测识别方法
CN112884081B (zh) * 2021-03-31 2023-07-14 福州大学 一种多品种小批量生产的工件质量在线智能预测方法
CN113180696A (zh) * 2021-04-28 2021-07-30 北京邮电大学 一种颅内脑电的检测方法、装置、电子设备及存储介质
CN113343798A (zh) * 2021-05-25 2021-09-03 中电云脑(天津)科技有限公司 一种脑机接口分类模型的训练方法、装置、设备及介质
CN113537571A (zh) * 2021-06-19 2021-10-22 复旦大学 基于cnn-lstm混合网络模型的建筑能耗电负荷预测方法及装置
CN113344145B (zh) * 2021-08-02 2021-11-19 智道网联科技(北京)有限公司 字符识别方法、装置、电子设备和存储介质
CN113920426A (zh) * 2021-09-17 2022-01-11 山东浪潮科学研究院有限公司 基于cnn和lstm的智能病虫害识别方法及系统
CN114021181A (zh) * 2021-10-13 2022-02-08 哈尔滨工业大学 基于使用习惯的移动智能终端隐私持续保护系统及方法
CN114469137B (zh) * 2021-12-20 2023-12-26 东南大学 基于空时特征融合模型的跨领域脑电情感识别方法及系统
CN114115546B (zh) * 2022-01-27 2022-06-17 湖南大学 面向多机器人控制的脑电数据元学习和人本智能交互系统
CN114209342A (zh) * 2022-01-28 2022-03-22 南京邮电大学 一种基于时空特征的脑电信号运动想象分类方法

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107495962A (zh) * 2017-09-18 2017-12-22 北京大学 一种单导联脑电的睡眠自动分期方法
CN107961007A (zh) * 2018-01-05 2018-04-27 重庆邮电大学 一种结合卷积神经网络和长短时记忆网络的脑电识别方法
CN108304917A (zh) * 2018-01-17 2018-07-20 华南理工大学 一种基于lstm网络的p300信号检测方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107495962A (zh) * 2017-09-18 2017-12-22 北京大学 一种单导联脑电的睡眠自动分期方法
CN107961007A (zh) * 2018-01-05 2018-04-27 重庆邮电大学 一种结合卷积神经网络和长短时记忆网络的脑电识别方法
CN108304917A (zh) * 2018-01-17 2018-07-20 华南理工大学 一种基于lstm网络的p300信号检测方法

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
Deep Recurrent Convolutional Neural Networks for Classifying P300 BCI Signals;R. K. Maddula et al.;《7th Graz Brain-Computer Interface Conference 2017》;20171016;正文第2页右栏第3段,第3页左栏第2-4段、右栏第3段以及图1、2 *
Using the Center Loss Function to Improve Deep Learning Performance for EEG Signal Classification;Wenxiang Zhang et al.;《2018 Tenth International Conference on Advanced Computational Intelligence (ICACI)》;20180331;全文 *
基于卷积神经网络的P300电位检测及在脑机接口系统中的应用;李奇 等;《吉林师范大学学报(自然科学版)》;20180831;第39卷(第3期);全文 *

Also Published As

Publication number Publication date
CN109389059A (zh) 2019-02-26

Similar Documents

Publication Publication Date Title
CN109389059B (zh) 一种基于cnn-lstm网络的p300检测方法
CN110693493B (zh) 一种基于卷积与循环神经网络结合时间多尺度的癫痫脑电预测特征提取方法
CN108304917B (zh) 一种基于lstm网络的p300信号检测方法
CN108491077B (zh) 一种基于多流分治卷积神经网络的表面肌电信号手势识别方法
CN114052735B (zh) 一种基于深度领域自适应的脑电情绪识别方法及系统
CN111134666A (zh) 一种多通道脑电数据的情绪识别方法及电子装置
CN111709267B (zh) 深度卷积神经网络的脑电信号情感识别方法
CN112244873A (zh) 一种基于混合神经网络的脑电时空特征学习与情感分类方法
CN109645989B (zh) 一种麻醉深度估计系统
CN107967686B (zh) 一种联合动态脑网络和长短时记忆网络的癫痫识别装置
CN110135244B (zh) 一种基于脑-机协同智能的表情识别方法
Yu et al. Epileptic seizure prediction using deep neural networks via transfer learning and multi-feature fusion
CN112037179B (zh) 一种脑疾病诊断模型的生成方法、系统及设备
CN112884063B (zh) 基于多元时空卷积神经网络的p300信号检测识别方法
CN113017645B (zh) 一种基于空洞卷积神经网络的p300信号检测方法
Thenmozhi et al. Feature selection using extreme gradient boosting Bayesian optimization to upgrade the classification performance of motor imagery signals for BCI
CN113705398B (zh) 基于卷积-长短期记忆网络音乐脑电时空特征分类方法
CN112990008B (zh) 基于三维特征图和卷积神经网络的情绪识别方法及系统
CN116058800A (zh) 基于深度神经网络与脑机接口的自动睡眠分期系统
CN112932501A (zh) 一种基于一维卷积神经网络自动识别失眠方法
CN114595725B (zh) 一种基于加法网络和监督对比学习的脑电信号分类方法
CN113662560A (zh) 发作间期痫样放电的检测方法、存储介质和设备
Hwaidi et al. A noise removal approach from eeg recordings based on variational autoencoders
CN113974655A (zh) 一种基于脑电信号的癫痫发作预测方法
CN111428601B (zh) 一种基于ms-cnn的p300信号识别方法、装置及存储介质

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant