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

自适应注意力机制的表情识别模型生成方法、介质及设备

2022-08-10 15:41:10 来源:中国专利 TAG:


1.本发明涉及表情识别技术领域,更具体地说,涉及一种自适应注意力机制的表情识别模型生成方法、介质及设备。


背景技术:

2.情感是人与人交往过程中必不可少的一个部分,不同的情绪在交流过程中提供着大量的信息,影响着人们之间的交流和决策。因此情感能力也是人工智能的重要标志,人们希望能够以更友好的方式进行人机交互。如何使得计算机能够计算甚至拥有情感,成为了人工智能研究一个重要的方向。
3.情感计算的提出就是为了解决这一问题,情感计算的目标就是赋予计算机感知、理解甚至表达情感的能力。在这一前提下,计算机如何感知并理解人类情绪便变得尤为重要。其中在人们表现情感的多种方式中,人脸表情的数据最为容易获取,且最为直观地体现了对象的情绪变化,受到了广泛关注。
4.人脸表情识别的任务是从图片或者视频序列中定位并提取人脸特征信息,并利用这些信息将表情分类到不同的表情类别中去。目前最为常用深度学习方法进行表情识别,其核心结构一般为深度卷积神经网络(deep convolution neural networks,dcnn)。
5.目前很多表情识别方法一般都是作用在实验室采集的人脸表情数据集上,姿势、角度和光照等条件都较为固定,然而目前很多表情识别任务都需要针对真实世界场景的表情进行识别,基于实验室的人脸表情数据集的方法对于复杂和多变环境考虑不足,识别系统的鲁棒性不高。深度神经网络虽然可以提取到有效的特征进行表情识别,但是训练一个复杂神经网络需要大量的计算成本和训练时间。
6.目前设计一个成熟的表情识别模型都需要大量的时间成本和人工经验,面对日趋复杂的网络架构和人脸表情表现,仅依靠人工进行设计变得越来越复杂,缺乏大量先验知识的研究者可能没有办法很好地进行表情识别模型的设计。


技术实现要素:

7.为克服现有技术中的缺点与不足,本发明的目的在于提供一种自适应注意力机制的表情识别模型生成方法、介质及设备;该方法能够根据不同表情数据场景设计表情神经网络,并自适应地引入注意力机制提高表情识别的性能,使得该网络能够快速、准确且轻量地进行表情识别。
8.为了达到上述目的,本发明通过下述技术方案予以实现:一种自适应注意力机制的表情识别模型生成方法,其特征在于:包括如下步骤:
9.s1,设定每一代种群的个体数量为k;设置各个个体包含的模块个数分别为m,各个模块的输出通道数的可选区间以及第j个模块的节点数分别为nj,j=1,

,m;
10.各个个体的基因长度分别为l;各个个体的基因分别包括对应m个模块的信息;每个模块的信息分别包括五个部分:第一部分表示模块是否存在;第二部分表示模块的输出
通道数;第三部分表示模块的输出是否输入到注意力网络来控制稀疏中心损失的学习;第四部分表示模块输出后是否要加入多头注意力模块;第五部分表示模块内部节点的连接方式;
11.s2,从高斯分布中随机采样出k个长度为l的二进制编码;将第1代种群中个个体的基因分别初始化为k个二进制编码;
12.s3,根据各个个体的基因生成当前代种群的k个个体;
13.s4,将训练样本分别输入到当前代种群中k个个体中进行训练,得到训练好的k个个体;
14.s5,将测试样本分别输入到训练好的k个个体中进行测试,得到当前代种群中k个个体的适应度;
15.s6,判断迭代次数是否达到最大迭代次数:
16.若是,则在所有代种群中找出适应度最高的个体,适应度最高的个体设置为最优的表情识别模型;
17.否则,利用轮盘赌算法从当前代种群中可重复地选择k个个体作为下一代种群的k个父母个体,并使用交错算子分别对k个父母个体的基因分别进行变化;
18.将k个父母个体的适应度分别与上一代种群的个体的适应度进行对比,得到奖励值;利用强化学习算法根据奖励值算出反转算子和交叉算子的选择概率,并根据概率选择反转算子或交叉算子分别将交错算子变化后的k个父母个体基因进行再次变化,得到下一代种群的k个个体的基因;之后,跳至步骤s3进行下一次迭代处理。
19.优选地,各个个体的基因长度
20.优选地,在各个个体中,每个模块前设置有前置卷积层,在每个模块后设置有后置卷积层和池化层;
21.所述步骤s3,根据各个个体的基因生成当前代种群的k个个体的方法是:
22.根据第一部分判断模块是否存在:若模块存在,则将模块添加到个体中进行连接;根据第二部分决定模块的卷积核通道数,以及根据第五部分决定模块内部节点的连接方式;若模块不存在,则模块的前置卷积层输出直接输入到池化层,不保留模块内容;
23.同时根据第三部分决定模块的输出是否输入到注意力网络来控制稀疏中心损失的学习,根据第四部分决定模块输出后是否加入多头注意力模块。
24.优选地,所述根据第三部分决定模块的输出是否输入到注意力网络来控制稀疏中心损失的学习,是指:对于输入到注意力网络的模块,将模块后置卷积层的输出输入卷积层,将展平后特征输入到注意力网络,再输入至稀疏中心损失的学习中;模块后置卷积层的输出还直接输入池化层;
25.所述根据第四部分决定模块输出后是否加入多头注意力模块,是指:对于加入多头注意力模块的模块,将模块后置卷积层的输出输入到多头注意力模块,多头注意力模块的输出再输入至池化层。
26.优选地,所述稀疏中心损失l
sc
的计算方法如下:
[0027][0028]
其中,ar为注意力权重;xr表示稀疏中心损失的输入特征;n为输入特征数量;c为输入特征对应类别的特征中心;
[0029]
注意力权重ar的计算方法为:
[0030][0031][0032]
其中,er为输入特征xr通过多个全连接层后得到的特征向量;和分别为网络自动学习参数;表示包含对应元素的概率;表示排除对应元素的概率;和是通过er映射到二维向量得到的;
[0033][0034]
其中,exp为指数函数。
[0035]
优选地,所述多头注意力模块中,设定h={h1,

,hz}是空间注意力的多个头,s={s1,

,sz}是对应的空间注意力特征映射,其中z代表注意力头的个数,则第d个头输出的空间注意力可以表示为:
[0036]
sd=x
′×
hd(ws,x

),d∈{1,z}
[0037]
其中,x

为多头注意力模块的输入特征,ws为权值。
[0038]
优选地,所述步骤s6中,奖励值的计算方法是:
[0039]
设定奖励值a1、a2、a3、a4、a5;且a1>a2>a3,a4<a5;k个父母个体在上一代种群的对应个体的奖励值分别作为k个父母个体的奖励基值;将k个父母个体的适应度分别与之前历代种群的对应个体(即父母的祖先)的适应度进行对比:
[0040]
若父母个体的适应度>上一代种群的对应个体的适应度,且父母个体的适应度>之前历代种群中对应个体里的最优个体的适应度,则奖励值=奖励基值 a1;
[0041]
若父母个体的适应度>上一代种群的对应个体的适应度,且父母个体的适应度≤之前历代种群中对应个体里的最优个体的适应度,则当奖励基值>0,奖励值=奖励基值 a2;当奖励基值≤0,奖励值=奖励基值 a3;
[0042]
若父母个体的适应度<上一代种群的对应个体的适应度,则当奖励基值>0,奖励值=奖励基值-a4;当奖励基值≤0,奖励值=奖励基值-a5。
[0043]
优选地,所述步骤s6中,利用强化学习算法根据奖励值算出反转算子和交叉算子的选择概率的方法是:
[0044]
设定参数wi(t)来辅助强化算法的学习,pi为反转算子被选中的概率,1-p为交叉算子被选中的概率;初始化概率pi为0.5,wi(t)=0;
[0045]
第t次迭代时,根据以下公式计算出个体i的概率pi(t):
[0046][0047][0048]
wi(t)=wi(t-1) δwi[0049][0050]
pi(t)=pi(t-1) δpi(t)
[0051]
其中,gi为概率质量函数;yi=1表示反转算子被选择,yi=0表示交叉算子被选择;bi为强化学习的基线值,ηi为强化学习的学习率,ri(t)为奖励值。
[0052]
一种存储介质,其特征在于,其中所述存储介质存储有计算机程序,所述计算机程序当被处理器执行时使所述处理器执行上述自适应注意力机制的表情识别模型生成方法。
[0053]
一种计算设备,包括处理器以及用于存储处理器可执行程序的存储器,其特征在于,所述处理器执行存储器存储的程序时,实现上述自适应注意力机制的表情识别模型生成方法。
[0054]
与现有技术相比,本发明具有如下优点与有益效果:
[0055]
1、本发明方法能够针对不同场景的表情数据集,摆脱人类先验知识的指导,自适应地设计表情识别模型,得到的模型能够更加适配具体场景的实际需求,同时因为不需要人工指导,降低了设计成熟表情识别模型的门槛;
[0056]
2、本发明方法在有限的搜索空间中进行搜素,根据具体需求减去了网络的冗余连接,网络的参数量相比于人工设计的表情识别模型有一定的较少,提高了训练效率;
[0057]
3、本发明方法搜索到的模型在多个数据集上展示了优越性,在raf-db表情数据集上,达到了85.85%的识别准确率;在fer 数据集上,达到了86.05%的识别准确率,均优于现有的很多表情识别模型。
附图说明
[0058]
图1是本发明方法的流程图;
[0059]
图2是本发明方法的一种个体例子的网络结构图;
[0060]
图3是本发明方法中二进制编码为110-001010-100-101-010101时的个体的网络结构图;
[0061]
图4是本发明方法中模块的输出输入到注意力网络时的网络结构图;
[0062]
图5是本发明方法中计算注意力权重ar的注意力网络图;
[0063]
图6是本发明方法中模块输出后加入多头注意力模块时的网络结构图;
[0064]
图7是本发明方法中多头注意力模块的整体结构图;
[0065]
图8(a)和图8(b)是本发明方法中多头注意力模块的内部结构图。
具体实施方式
[0066]
下面结合附图与具体实施方式对本发明作进一步详细的描述。
[0067]
实施例一
[0068]
本实施例一种自适应注意力机制的表情识别模型生成方法,本设计方法主要基于进化算法进行表情模型的设计,并在此基础上使用强化学习算法来指导设计方法更好地达到最优化。
[0069]
进化算法的灵感来自于生物学中的进化现象,其主要步骤分为种群初始化,选择父母,产生子代等等,是一种用来解决最优化问题的搜索算法。通过将网络结构进行二进制编码,可以将每个网络视为一个独立的个体,编码即为它的基因,进化从完全随机的个体组成的种群开始,通过变异和交叉产生子代进行种群更迭,个体在具体问题的上表现即为表情模型的识别准确率,识别准确率越高则代表该问题的适应度越好,其基因则越有可能保留。
[0070]
本发明方法如图1所示,包括如下步骤:
[0071]
s1,设定每一代种群的个体数量为k;设置各个个体包含的模块个数分别为m,各个模块的输出通道数的可选区间以及第j个模块的节点数分别为nj,j=1,

,m;图2是一种个体例子的网络结构图;
[0072]
各个个体的基因长度分别为l;各个个体的基因分别包括对应m个模块的信息;每个模块的信息分别包括五个部分:第一部分表示模块是否存在。第二部分表示模块的输出通道数,可以用两个二进制位表示,即可以用00,01,10,11表示四种通道数。第三部分表示模块的输出是否输入到注意力网络来控制稀疏中心损失的学习;模块内节点的连接方式可以视为一个有向无环图,只有编号较小的节点可以输入到编号较高的节点,即编号为2的节点只能通过编号为1的节点输入,因此节点内的连接方式可以用个二进制位来表示,第一位表示编号为1的节点是否连接到编号为2的节点,第二、三位表示编号为1,2的节点是否连接到编号为3的节点,诸如类推。第四部分表示模块输出后是否要加入多头注意力模块。第五部分表示模块内部节点的连接方式。
[0073]
因此,各个个体的基因长度图3是二进制编码为110-001010-100-101-010101时的个体的网络结构图;每个模块前设置有前置卷积层,在每个模块后设置有后置卷积层和池化层。
[0074]
s2,从高斯分布中随机采样出k个长度为l的二进制编码;将第1代种群中个个体的基因分别初始化为k个二进制编码。
[0075]
s3,根据各个个体的基因生成当前代种群的k个个体。
[0076]
为了保证网络的连续性,在各个个体中,每个模块前设置有前置卷积层,在每个模块后设置有后置卷积层和池化层;
[0077]
所述步骤s3中,根据各个个体的基因生成当前代种群的k个个体的方法是:
[0078]
根据第一部分判断模块是否存在:若模块存在,则将模块添加到个体中进行连接;根据第二部分决定模块的卷积核通道数,以及根据第五部分决定模块内部节点的连接方式;若模块不存在,则模块的前置卷积层输出直接输入到池化层,不保留模块内容;
[0079]
同时根据第三部分决定模块的输出是否输入到注意力网络来控制稀疏中心损失的学习:对于输入到注意力网络的模块,将模块后置卷积层的输出输入卷积层,将展平后特
征输入到注意力网络,再输入至稀疏中心损失的学习中;模块后置卷积层的输出还直接输入池化层;
[0080]
如图4所示,当二进制位为1时,表示模块的输出要输入到注意力网络中,当二进制位为0时,则表示模块的输出不输入到注意力网络,图4展示的是由3个模块组成的个体且3个二进制位均为1的情况;为了更直观地展示,图4把每个模块的前置卷积层和后置卷积层都视为模块的一部分。
[0081]
考虑到表情识别任务容易受到不同类别之间相似性大和同一类内差异大的影响,提出了稀疏中心损失来提高表情识别模型的性能。但是由于模块的输出特征中不是所有元素都对表情区分起作用,我们只需要选择一个元素的子集来进行区分,因此提出了稀疏中心损失,它通过将特征输入到一个注意力网络得到注意力权重,对中心损失进行加权,从而能够更好地约束中心损失的优化。
[0082]
稀疏中心损失l
sc
的计算方法如下:
[0083][0084]
其中,ar为注意力权重;xr表示稀疏中心损失的输入特征;n为输入特征数量;c为输入特征对应类别的特征中心;
[0085]
计算注意力权重ar的注意力网络如图5所示;全连接层接收的是模块输出的特征,将特征通过多个全连接层后得到特征向量er,并通过多头二元分类单元得到两个输出:
[0086][0087][0088]
其中,er为输入特征xr通过多个全连接层后得到的特征向量;和分别为网络自动学习参数;表示包含对应元素的概率;表示排除对应元素的概率;和是通过er映射到二维向量得到的;
[0089]
对应元素的注意力权重ar为:
[0090][0091]
其中,exp为指数函数。
[0092]
因为每个隐层特征都有可能对样本与其类别中心的区分起到作用,本发明方法使用神经架构搜索的方法,自适应地选择需要被关注到的模块。将该注意力网络也进行编码,编码决定的是对应的模块输出是否要输入到注意力网络中去,因此需要使用n位编码,当有多个模块的输出被使用到时,进行加和一起输入到注意力网络。
[0093]
同时根据第四部分决定模块输出后是否加入多头注意力模块:对于加入多头注意力模块的模块,将模块后置卷积层的输出输入到多头注意力模块,多头注意力模块的输出再输入至池化层;
[0094]
如图6所示,当二进制位为1时,表示模块输出后要加入多头注意力模块,当二进制
位为0时,则模块输出后不加入多头注意力模块,图6展示的是由3个模块组成的个体且前两个二进制位为1的情况;为了更直观地展示,图6把每个模块的前置卷积层和后置卷积层都视为模块的一部分。
[0095]
本发明方法提出了一种注意力机制,有偏重地关注隐层特征矩阵中的重点部分,而不是关注全部特诊,从而能够更好地对不同表情进行区分。
[0096]
具体而言,多头注意力模块由空间注意力模块和通道注意力模块组成,空间注意力模块接收从隐层输出的特征,并提取空间注意力权重,接着输入到通道注意力模块提取通道注意力权重,提取到的空间注意力和通道注意力的权重会与隐层输出的特征结合,作为最终提取到的特征;整体结构如图7所示;
[0097]
其中特征输入到注意力模块后得到注意力权重与特征本身进行矩阵乘法进行加权。
[0098]
注意力模块的内部结构如图8(a)和图8(b)所示;其中空间注意力模块构造了3
×
3、1
×
3和3
×
1的卷积核来捕获多个尺度上的局部特征,并通过空间维度上的最大池化和平均池化将这些卷积核提取到的特征信息进行注意力的感知,得到最后的注意力权重;通道注意力模块则是直接采用通道维度上的最大池化和平均池化提取需要关注的通道信息,并通过多层感知机得到最后的注意力权重。
[0099]
公式上,设定h={h1,

,hz}是空间注意力的多个头,s={s1,

,sz}是对应的空间注意力特征映射,其中z代表注意力头的个数,则第d个头输出的空间注意力可以表示为:
[0100]
sd=x
′×
hd(ws,x

),d∈{1,z}
[0101]
其中,x

为多头注意力模块的输入特征,ws为权值。
[0102]
与稀疏中心损失类似,多头注意力模块也跟个体中的每个模块相关联,因此也是通过神经架构自适应地选择后置需要添加多头注意力模块的模块,编码成n位进行搜索。
[0103]
s4,将训练样本分别输入到当前代种群中k个个体中进行训练,得到训练好的k个个体。
[0104]
s5,将测试样本分别输入到训练好的k个个体中进行测试,得到当前代种群中k个个体的适应度(即表情识别准确率)。
[0105]
s6,判断迭代次数是否达到最大迭代次数:
[0106]
若是,则在所有代种群中找出适应度最高的个体,适应度最高的个体设置为最优的表情识别模型;
[0107]
否则,利用轮盘赌算法从当前代种群中可重复地选择k个个体作为下一代种群的k个父母个体,适应度越高的个体被选中的概率越大,并使用交错算子分别对k个父母个体的基因分别进行变化,其中交错算子按照一定概率把父母个体基因中的每一位从0转为1或从1转为0;
[0108]
将k个父母个体的适应度分别与上一代种群的个体的适应度进行对比,得到奖励值;利用强化学习算法根据奖励值算出反转算子和交叉算子的选择概率,并根据概率选择反转算子或交叉算子分别将交错算子变化后的k个父母个体基因进行再次变化,得到下一代种群的k个个体的基因;其中,反转算子是随机将基因中的某一段进行顺序反转;交叉算子按照实际意义随机将待处理个体的某一段利用适应度更高的个体对应位置的基因进行替换;之后,跳至步骤s3进行下一次迭代处理。
[0109]
具体地说,奖励值的计算方法是:
[0110]
设定奖励值a1、a2、a3、a4、a5;且a1>a2>a3,a4<a5;k个父母个体在上一代种群的对应个体的奖励值分别作为k个父母个体的奖励基值;将k个父母个体的适应度分别与之前历代种群的对应个体(即父母的祖先)的适应度进行对比:
[0111]
若父母个体的适应度>上一代种群的对应个体的适应度,且父母个体的适应度>之前历代种群中对应个体里的最优个体的适应度,则奖励值=奖励基值 a1;
[0112]
若父母个体的适应度>上一代种群的对应个体的适应度,且父母个体的适应度≤之前历代种群中对应个体里的最优个体的适应度,则当奖励基值>0,奖励值=奖励基值 a2;当奖励基值≤0,奖励值=奖励基值 a3;
[0113]
若父母个体的适应度<上一代种群的对应个体的适应度,则当奖励基值>0,奖励值=奖励基值-a4;当奖励基值≤0,奖励值=奖励基值-a5。
[0114]
利用强化学习算法根据奖励值算出反转算子和交叉算子的选择概率的方法是:
[0115]
设定yi=1表示反转算子被选择,yi=0表示交叉算子被选择;对于yi而言,概率质量函数gi表示为:
[0116][0117]
其中,pi为反转算子被选中的概率,1-pi为交叉算子被选中的概率;
[0118]
设定参数wi(t)来辅助强化算法的学习,wi(t)在每一轮得到强化学习分数后进行更新,进而控制选择概率的更新:
[0119]
第t次迭代时,
[0120][0121]
wi(t)=wi(t-1) δwi[0122][0123]
pi(t)=pi(t-1) δpi(t)
[0124]
其中,bi为强化学习的基线值,主要跟当前获得的奖励值对比,如果奖励值在期望以下,则希望减小选择反转算子的概率;如果当前值在奖励值以上,则希望增大选择反转算子的概率,初始设为0;ηi为强化学习的学习率,ri(t)为奖励值。
[0125]
初始时无法判断这两种操作算子的性能,因此初始化概率pi为0.5,wi(t)=0;随着学习的进行,选择概率会表现出一定的选择倾向。显然,算子表现的性能越优越,所得的奖励值越大,选择响应算子的概率就越大,反之亦然。
[0126]
本发明引入强化学习机制来决定该轮使用哪一个算子,它们的搜索性能将作为强化学习算法控制的反馈,以自适应地选择要执行的算子,该算子的优化性能越好,则越有可能被选择。
[0127]
实施例二
[0128]
本实施例一种存储介质,其特征在于,其中所述存储介质存储有计算机程序,所述计算机程序当被处理器执行时使所述处理器执行实施例一所述的自适应注意力机制的表
情识别模型生成方法。
[0129]
实施例三
[0130]
本实施例一种计算设备,包括处理器以及用于存储处理器可执行程序的存储器,其特征在于,所述处理器执行存储器存储的程序时,实现实施例一所述的自适应注意力机制的表情识别模型生成方法。
[0131]
上述实施例为本发明较佳的实施方式,但本发明的实施方式并不受上述实施例的限制,其他的任何未背离本发明的精神实质与原理下所作的改变、修饰、替代、组合、简化,均应为等效的置换方式,都包含在本发明的保护范围之内。
再多了解一些

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

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

相关文献