一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种基于二值胶囊网络的脑电情绪识别方法与流程

2021-10-27 20:15:00 来源:中国专利 TAG:电信号 胶囊 识别 情绪 计算


1.本发明涉及情感计算领域,具体的说是一种基于二值胶囊网络的脑电信号情绪识别方法。


背景技术:

2.情绪在思维、行为、决策、社交等方面对人们有着很大的影响,情绪识别技术在生活中也得到了广泛的应用,已经成为了心理疾病的诊断和治疗、脑机接口等领域的一个研究热点。同时情绪识别也是人工智能领域的关键技术。人们获取情绪状态的方式主要有两种,一种是通过面部表情、行为、语气语调等来判断,令一种是通过心电、肌电、眼电、脑电等心理信号来判断,情绪是一种高级神经活动,与大脑皮层有着紧密联系,因此本文选用与大脑有最紧密关联的脑电信号来进行情绪识别。
3.基于eeg信号的情绪识别的传统机器学习算法大多分为两步,首先从eeg信号中提取特征,然后再将提取得到的特征用于训练分类器从而进行情绪识别。常用的脑电特征有时域特征,频域特征和时频特征等。除此之外,功率谱密度特征,小波特征和微分熵等特征也常用于脑电情绪识别。分类器有决策树、支持向量机、多层感知机等,分类效果都比较好。
4.近年来,深度学习网络成为各大领域的一个热点话题,在情感计算领域也不例外。深度学习网络能够自动的去提取准确的脑电特征,可以同时完成脑电信号的特征提取和分类。极大的节省了人力物力,获得的分类结果也更加准确。但是深度学习网络的计算复杂度很高并且有大量的参数,就需要很大的内存来存储参数,对硬件的需求也变得很高。
5.目前,大多数用于脑电情绪识别的深度学习网络都是采用卷积神经网络,然而卷积神经网络具有很高的计算复杂度,尤其是要从复杂的脑电信号中充分的提取特征需要的卷积核数量很大。同时,卷积神经网络中的池化层会破坏脑电信号局部区域之间的内在联系,这种内在联系对于脑电情绪识别来说是非常重要的因素。要把卷积神经网络训练到一个满意的识别准确率需要大量的带标签的数据,然而为大量的脑电信号打情绪标签是一件很繁琐的事,对人力物力是一个极大的消耗。


技术实现要素:

6.本发明为克服现有技术的不足之处,提出一种基于二值胶囊网络的脑电情绪识别方法,以期能实现高精度、高速度情绪识别,并提高识别准确率和效率。
7.本发明为达到上述发明目的,采用如下技术方案:
8.本发明一种基于二值胶囊网络的脑电信号情绪识别方法的特点是按如下步骤进行:
9.步骤1、获取任一受试者a的带有r种情绪标签的脑电信号数据并进行去基线和样本分割的预处理,从而得到受试者a的n个脑电信号样本,记为s={s1,s2,...,s
k
,...,s
n
},其中,s
k
表示受试者a的第k个脑电信号样本,k=1,2,

,n;
10.步骤2、使用二值化函数对全精度的胶囊网络模型在前向传播过程中的浮点型参
数进行二值化,得到二值胶囊网络模型;所述二值胶囊网络模型包含二值卷积层、二值初级胶囊层、二值情绪胶囊层和全精度线性层;且所述二值初级胶囊层和二值情绪胶囊层之间利用动态路由机制来连接;
11.步骤2.1、使用kaiming_uniform_初始化方法分别对所述二值胶囊网络模型的权重进行初始化;
12.步骤2.2、将所述脑电信号样本s输入初始化后的二值卷积层中,并在所述二值卷积层中对所述脑电信号样本s和初始后的二值卷积层的卷积权重w进行归一化以及二值化处理,得到二值化后的样本和二值化后的卷积权重b
w
,其中,表示二值化后的第k个脑电信号样本,所述二值卷积层利用式(1)对二值化后的第k个脑电信号样本进行卷积操作,从而得到第k个时空特征c
k
,进而得到时空特征序列c={c1,c2,...,c
k
,...,c
n
};
[0013][0014]
式(1)中,conv表示卷积操作;
[0015]
步骤2.3、所述时空特征序列c经过所述二值初级胶囊层中进行特征提取,得到胶囊空间特征序列c

={c
′1,c
′2,...,c

k
,...,c

n
};其中,c

k
表示第k个胶囊空间特征;
[0016]
步骤2.4、所述二值情绪胶囊层对所述胶囊空间特征序列c

和初始后的二值情绪胶囊层的情绪权重w1进行二值化处理,得到二值化后的胶囊空间特征序列和二值化后的情绪权重其中,表示二值化后的第k个胶囊空间特征;
[0017]
所述二值情绪胶囊层将二值化后的胶囊空间特征序列b
c

和情绪权重相乘得到高阶胶囊空间特征序列u={u1,u2,...,u
k
,...,u
n
},其中,u
k
表示第k个高阶胶囊空间特征;
[0018]
再根据动态路由机制得到情绪特征p={p1,p2,...,p
k
,...,p
n
};其中,p
k
表示第k个情绪特征;
[0019]
步骤2.5、将所述情绪特征p输入全精度线性层后,得到情绪向量并求其l2范数,将较大l2范数所代表的情绪状态作为分类结果;
[0020]
步骤3、离线训练:
[0021]
步骤3.1、建立如式(2)所示的边缘损失作为损失函数l:
[0022]
l=t
k
max(m


||v
k
||,0)2 λ(1

t
k
)max(||v
k
||

m

,0)2ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(2)
[0023]
式(2)中,t
k
表示第k种情绪标签的标签值,t
k
=1表示第k种情绪处于积极的状态,t
k
=0表示第k种情绪处于消极的状态;v
k
表示当前二值胶囊网络模型对第k种情绪的预测概率值,k=1,2,

,r;m

和m

分别表示对第k种情绪识别错误时的两个惩罚系数,λ表示对积极和消极两种状态分类错误的惩罚比例关系;
[0024]
步骤3.2、采用adam优化器对损失函数l进行最小化求解,并在反向传播中,使用指数衰减方法来调整学习率,并采用梯度下降法对二值胶囊网络中的所有权重进行优化,并得到最优时空注意力模型,用于实现对脑电情绪的识别。
[0025]
本发明所述的一种基于二值胶囊网络的脑电信号情绪识别方法的特点是,所述梯度下降法是使用连续函数tanh(
·
)代替二值化函数,从而利用式(3)计算二值胶囊网络的
权重w的梯度;
[0026][0027]
式(3)中,q(w)表示二值化后的二值胶囊网络的权重;a表示连续函数tanh(
·
)的尺度变换系数。
[0028]
与已有技术相比,本发明的有益效果体现在:
[0029]
1、本发明能够实现端到端的训练和测试,不需要提取脑电情绪特征就能完成情绪的识别。
[0030]
2、本发明通过构建二值胶囊网络,能够学习脑电信号中的局部的内在联系,同时动态路由机制有对特征的筛选作用,保证了很好的识别精度。
[0031]
3、本发明在反向传播时使用tanh(
·
)函数来拟合二值化符号函数,使得反向传播能够精确的更新参数,以达到很好的良好的的识别精度。
[0032]
4、本发明通过构建二值胶囊网络,使用二值化的参数来降低网络的计算复杂度,同时降低了内存占用。
附图说明
[0033]
图1为本发明二值胶囊网络的结构图;
[0034]
图2为本发明反向传播用tanh(
·
)函数来近似替代二值化符号函数的示意图;
[0035]
图3为本发明deap数据库中效价度维度上32名受试者的平均识别精度图;
[0036]
图4为本发明deap数据库中唤醒维度上32名受试者的平均识别精度图。
具体实施方式
[0037]
本实施例中,一种基于二值胶囊网络的脑电信号情绪识别方法主要是利用胶囊网络(capsnet)和二值神经网络(bnn)来对情绪进行分类。胶囊网络能够充分的提取出脑电信号的时空特征,经过动态路由机制对所提取出的特征进行筛选,以达到准确的分类结果,同时在对网络二值化后使得原始的浮点数的运算转换为位操作,可以极大的降低网络的计算复杂度,浮点型数据转换成了1bit的数据,如图1所示,具体的说,是按如下步骤进行:
[0038]
步骤1、获取任一受试者a的带有r种情绪标签的脑电信号数据并进行预处理,预处理包括去除基线信号、切段分割,从而得到受试者a的n个脑电信号样本,记为s={s1,s2,...,s
k
,...,s
n
},其中,s
k
∈r
m
×
p
表示第k个脑电信号样本,m表示脑电信号的通道数,p表示采样点数,k=1,2,

,n;
[0039]
本实施例中,用于训练和测试的脑电信号来自于公开数据集deap,数据集包含32名受试者,脑电信号采集于每个受试者观看40段一分钟的视频的时候,每位受试者一次试验采集的脑电信号x∈r
32
×
8064
,其中,前3s是静息状态的基线信号,情绪标签是由受试者一次试验对自己情绪状态后的评分,包含了两种情绪维度:arousal唤醒和valence效价,每种情绪有积极high和消极low两类状态;
[0040]
样本分段:将每一位受试者去过基线后的60s的脑电信号用1s的滑动窗分割,对样本标签做同样的处理,使信号片段的数量和标签数量相匹配,最终每位受试者得到2400段1s的脑电样本和2400个情绪标签。本实验采用十折交叉验证方法,按顺序选择90%的样本
作为训练集,剩余10%样本作为测试集,并将测试集上十次实验后得到的平均识别率作为网络的识别准确率;
[0041]
步骤2、建立初始的二值胶囊网络,包括能够提取脑电信号时空特征的二值卷积层、能对时空特征进行筛选的二值初级胶囊层、二值情绪胶囊层和对筛选后的特征进行情绪分类的线性层;二值卷积层和二值情绪胶囊层在计算之前都会对权重和输入进行二值化;
[0042]
步骤2.1、权值初始化:
[0043]
模型基于pytorch框架下,使用kaiming_uniform_初始化对二值胶囊网络中的权重进行初始化,kaiming_uniform_按照均匀分布初始化tensor,初始化的值在(

bound,bound)之间采样,bound的计算公式如式(1)所示:
[0044][0045]
式(1)中,α是激活函数的负斜率,在线性层中,fan_in等于输入权重的维度,在卷积层中,fan_in等于卷积核的长、宽、通道数的乘积;
[0046]
步骤2.2、如图1所示,经过预处理的脑电信号样本s,首先输入到二值卷积层中,二值卷积层能够充分的提取到脑电信号的时空信息,得到时空特征序列c={c1,c2,...,c
k
,...,c
n
},c
k
表示第k个空间特征;本实施例中,c
n
∈r1×
256
×
56
×8;二值卷积的具体过程如下所示:
[0047]
步骤2.2.1、将初始后的二值卷积层的卷积权重w和脑电信号样本s进行归一化处理后,再使用sgn(x)函数进行二值化处理,得到二值化后的卷积权重b
w
和二值化后的样本其中,归一化的处理使得权重w和样本s的均值变成0,方差变为1,从而极大的减小了二值化带来的误差,而二值化的处理能将数据转换成1bit的值,即1或者

1,因此二值化后,原来的浮点型的运算就可以用位运算代替,可以极大的减小网络的计算复杂度,同时,二值化后,多位的浮点型的数据就变成了一位的数据,可以极大的节省存储空间。
[0048]
将权重w或输入s
k
记为输入x,则归一化的计算方式如式(2)所示:
[0049][0050]
式(2)中,表示输入x的均值,δ表示输入x的方差,y表示归一化后的输出;
[0051]
二值化的计算过程如式(3)所示:
[0052][0053]
式(3)中,α是尺度变换因子,q(x)表示二值化的结果,即b
w
或从而能将大于0的输入转换成α,将小于0的输入转换成

α:
[0054]
步骤2.2.1、利用式(4)对二值化后的权重和输入b
w
和b
s
进行卷积操作,得到第k个二值化后的输入样本对应的时空特征c
k

[0055]
[0056]
式(4)中,conv()表示卷积操作,在将权重和输入二值化后,卷积的操作将由浮点型操作变成速度更快的位操作,因此可以大大的加快卷积操作的速度;
[0057]
步骤2.3、将二值卷积网络得到的时空特征序列c={c1,c2,...,c
k
,...,c
n
}送入二值初级胶囊层,经过形状变换后得到胶囊空间特征序列c

={c
′1,c
′2,...,c

k
,...,c

n
};其中,c

k
表示第k个胶囊空间特征,k=1,2,

,n;
[0058]
步骤2.4、将胶囊空间特征序列c

={c
′1,c
′2,...,c

k
,...,c

n
}和二值情绪胶囊层中的情绪权重w1按步骤2.2.1的二值化处理得到二值化后的胶囊空间特征序列和二值化后的情绪权重其中,表示二值化后的第k个胶囊空间特征;
[0059]
然后,将和相乘得到高阶胶囊空间特征序列u={u1,u2,...,u
k
,...,u
n
},其中,u
k
表示第k个高阶胶囊空间特征;
[0060]
其次,通过动态路由机制,得到情绪特征p={p1,p2,...,p
k
,...,p
n
};其中,p
k
表示第k个情绪特征;动态路由机制的筛选作用对情绪分类有非常重要的作用,以保证好的情绪分类准确率。
[0061]
步骤2.5、将情绪特征p={p1,p2,...,p
k
,...,p
n
}送入线性分类层后,得到情绪向量再求其二范数,将较大l2范数所代表的情绪状态作为分类结果;
[0062]
步骤3、离线训练:
[0063]
步骤3.1、建立如式(5)所示的边缘损失作为损失函数l:
[0064]
l=t
k
max(m


||v
k
||,0)2 λ(1

t
k
)max(||v
k
||

m

,0)2ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(5)
[0065]
式(5)中,t
k
表示第k种情绪标签的标签值,t
k
=1表示第k种情绪处于积极的状态,t
k
=0表示第k种情绪处于消极的状态;v
k
表示当前二值胶囊网络模型对第k种情绪的预测概率值,k=1,2,

,r;m

和m

分别表示对第k种情绪识别错误时的两个惩罚系数,λ表示对积极和消极两种状态分类错误的惩罚比例关系;
[0066]
步骤3.2、采用adam优化器对损失函数l进行最小化求解,并在反向传播中,使用指数衰减方法来调整学习率,并采用梯度下降法对二值胶囊网络中的所有权重进行优化,并得到最优时空注意力模型,用于实现对脑电情绪的识别。
[0067]
本实施例中,令二值胶囊网络的权重为w,梯度的计算方法如下式(6)所示:
[0068][0069]
式(6)中,l表示损失函数,w表示权重,q(w)表示二值化后的权重,是一个连续函数,但是由于二值化函数在零点不可导,因此,不可导,参数的更新无法进行。于是,采用连续函数tanh(
·
)来近似符号函数,系数a表示tanh(
·
)函数得尺度变换系数,如图2所示,随着a取值的增大,tanh(
·
)函数越来越逼近符号函数,因此,反向传播时梯度的计算越准确。梯度的计算公式也随之成为一个连续的过程,计算方式如下式(7)所示:
[0070]
[0071]
式(7)是一个连续得过程,因此参数可以根据导数信息进行更新。
[0072]
本实施例中,通过分析flops来对二值胶囊网络进行复杂度分析,因为使用的计算机是64位的,因此计算机可以同时进行64次位操作或者2次32位的浮点运算,因此,二值胶囊网络总的flops可以采用式(8)计算:
[0073][0074]
式(8)中,o
whole
表示总的flops,o1表示位操作的数量,o
32
表示32位浮点数操作的数量。同时,32位浮点数数所占的内存是1位的数所占内存的32倍。全精度胶囊网络(capsnet)和二值胶囊网络(bi

capsnet)的内存消耗和flops如表1所示:
[0075]
表1.全精度胶囊网络和二值胶囊网络的内存占用和flops对比
[0076] flops内存消耗capsnet2.44
×
10937.81mbitbi

capsnet7.97
×
1074.22mbit
[0077]
从表1可以看出,二值胶囊网络极大的降低了网络的计算复杂度,高达30.61倍,内存消耗降低了8.96倍。
[0078]
在准确率方面,二值胶囊网络bi

capsnet与支持向量机(svm),决策树(dt),以及深度学习框架(全精度胶囊网络capsnet)进行对比,将测试集的平均识别精度作为评价指标,当识别精度越高,模型的识别能力越好。32名受试者十次平均识别精度如下表2:
[0079]
表2.不同方法在deap数据库两种情绪的平均识别结果
[0080] 效价(%)唤醒度(%)dt71.63
±
4.7173.70
±
5.09svm88.65
±
6.1889.07
±
5.89capsnet98.35
±
1.5998.34
±
1.30bi

capsnet96.00
±
1.7096.42
±
1.76
[0081]
32名受试者的十折交叉验证结果如图3和图4所示。结果分析:
[0082]
实验结果表明,本发明提出的二值胶囊网络能够充分的提取脑电信号的时空信息,比起传统的机器学习方法识别准确率有较大的优势。与全精度的胶囊网络相比,二值化后的胶囊网络的计算复杂度和存储空间的消耗有着很大的减少,但是准确率仅有不到2%的下降。同时,从图3和图4可以看到,相比于较全精度胶囊网络,二值胶囊网络在每一个受试者上的准确率都只有很小的下降,因此在网络的精度降低了过后,二值胶囊网络的识别能力同样的非常稳定。
[0083]
综上所述,本发明通过二值化的方法,能够极大的降低胶囊网络的计算复杂度和内存消耗情况,同时,结合了胶囊网络的优势,通过卷积层来提取脑电的时空特征,胶囊层能够考虑到脑电信号局部之间的内在联系,通过动态路由机制,筛选出对分类有利的时空特征,保证了二值胶囊网络的识别效果,在公开数据集deap上达到了良好的识别效果和稳定性。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献

  • 日榜
  • 周榜
  • 月榜