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

一种基于注意力机制和多任务学习的语音情感识别方法

2022-08-21 17:12:48 来源:中国专利 TAG:


1.本发明属于深度学习领域,尤其涉及一种基于注意力机制和多任务学习的语音情感识别方法。


背景技术:

2.语音情感识别是一门涉及多种学科的先进计算机技术,其目的是从语音信号中提取情感特征参数,通过这些参数来识别语音情感。语音情感识别已经从小规模发展阶段发展成为人机交互的关键技术,语音情感识别已经广泛应用于各个行业,比如引入到车辆驾驶系统,记录驾车人的精神状态变化,增加了人与汽车之间的互动;医疗设备加入语音情感识别系统,能够根据病患的情感变化,做出更好的治疗;引入教育系统,在远程教学中能够发现学生的的情感变化,从而提高教学质量。最初的语音情感识别方法主要是hmm等机器学习算法和识别模型,一般只能识别少数几类情感。卷积神经网络(convolutional network,cnn)等深度学习技术的出现使得基于深度学习的语音情感识别得到长足的发展,例如结合频谱图和深度卷积神经网络的语音情感识别方法,采用卷积层和完全连接层组成的网络,从频谱图中提取特征,有效地对多种情感进行识别。
3.语音情感识别对原始语音进行预处理后,一般采用特征提取方法,从原始语音中提取特征,目的是识别该特征所属的情感类型。一种解决方案是提取韵律特征和音质特征。通常从情感语句中提取能量和基频曲线以及对数曲线,计算出相应的一阶差分和二阶差分曲线,最后统计出偏斜度、峰度、方差等参数。该方案特征区的情感区分能力有限,例如识别愤怒、害怕、高兴等情感的识别精度不理想。从语谱图中提取特征是现阶段语音情感识别重要技术之一,主要通过从时域频域两方面将语谱图进行归一灰度化,提取出更高级特征,同时可以作为语音信号的可视化表示。
4.现有的从语谱图中提取特征方法,大多采用长短时记忆网络(long-short term memory,lstm)解决时间序列长期依赖的问题,往往会因计算复杂度较高以及训练数据不足导致现有语音情感分类器识别率低下。因此本专利提出一种基于注意力机制和多任务学习的语音情感识别方法,提高算法的识别性能。


技术实现要素:

5.本发明所要解决的技术问题是针对背景技术的不足提供了一种基于注意力机制和多任务学习的语音情感识别方法。即构建一个lstm_att-mtl模型,该模型解决了传统的特征提取方法计算复杂度较高,训练过程效果不好,导致识别性能降低等问题。
6.本发明为解决上述技术问题采用以下技术方案:
7.本发明采用以上技术方案与现有技术相比,具有以下技术效果:
8.本发明设计了一种基于注意力机制和多任务学习的语音情感识别方法,即lstm_att-mtl模型。该模型解决了传统的特征提取方法计算复杂度较高,训练过程效果不好,导致识别性能降低等问题。为了能够提取出更高级特征,首先对每一时刻的原始语音进行预
处理得到语音的灰度图表示,作为两层cnn网络的输入,随后在cnn层进行语音的特征提取。其次,由于所得到的语音特征在时间序列具有相关性,采用lstm_att对cnn网络学习出的灰谱图特征进行时序建模,lstm_att层为参数共享层。最后,由于lstm_att的记忆会随着语音的长度而逐渐减弱,随着语音序列增长,开始时间节点的信息对当前时刻的影响会越来越弱,因此在多任务层中添加注意力层。在casia数据集进行仿真实验的结果表明,该模型具有良好的语音情感识别性能。
附图说明
9.图1是本发明所述的一种基于基于注意力机制和多任务学习的语音情感识别方法的整体框架图;
10.图2是本发明中具有注意门的lstm结构示意图;
11.图3为lstm_att-mtl和lstm-mtl权重α的取值示意图;
12.图4为不同lstm_att层数实验结果对比示意图。
具体实施方式
13.下面结合附图对本发明的技术方案做进一步的详细说明:
14.一种基于注意力机制和多任务学习的语音情感识别方法,如图1和2所示,用于解决传统的特征提取方法计算复杂度较高,训练过程效果不好,导致识别性能降低等问题,通过lstm中加入注意门,达到减少了训练参数的目的,并与多任务学习一起构建lstm_att-mtl语音情感识别模型,提高算法的识别性能,所述方法包括以下步骤:
15.步骤1:获取语音情感数据集:获取用于语音情感识别的casia汉语情感数据集;
16.步骤2:构建lstm_att-mtl语音情感识别模型:lstm_att-mtl语音情感识别模型由特征提取模块、序列建模模块和多任务学习模块组成,将步骤一中语音情感数据输入识别模型进行协同训练;
17.步骤3:计算模型的损失函数:由步骤二中通过sofftmax分类器得到识别结果,计算识别结果与训练集标签的损失函数由此调整损失大小;
18.步骤4:训练总体模型并获得识别结果:将测试集语音情感数据输入步骤三训练好的网络中,以实现对测试集语音情感数据识别。
19.步骤1中所述的获取语音情感数据集包括以下步骤:
20.步骤11:首先所述的语音情感数据集是来自中国科学院自动化研究所研制的casia汉语情感语料库,数据集中包含两对演员在纯净录音环境下分别在生气(anger)、害怕(fear)、开心(happy)、中性(neutral)、悲伤(sad)、惊讶(surprise)六种情感下对500句文本进行演绎,16khz采样率,16bit量化,信噪比约为35db,使用pcm格式存储,最后筛选出其中的9600条语句;
21.步骤12:其次将所述的数据集按照6∶2∶2的比例分为训练集、验证集、测试集。
22.步骤2所述的构建lstm_att-mtl语音情感识别模型包括以下步骤:
23.步骤21:首先原始语音进行预处理,包括如下操作:对语音进行分帧加窗,帧长为25ms,帧移为10ms;进行短时傅里叶变换,得到语音信号的语谱图;对语谱图进行最大-最小归一化处理,将语谱图量化为灰度图,进入步骤二;
24.步骤22:将语谱图输入到cnn网络,卷积层通过卷积计算从语谱图中学习语音特征,选择relu函数作为激活函数,进入步骤三,具体参数:
[0025][0026]
步骤23:参阅图2所示,使用两个循环神经网络作为共享层,使用lstm_att作为基本单元,隐藏层单元个数为128。为防止过拟合,训练过程中引入dropout,参数设置为0.5。第一层输出所有时间序列到下一层,第二层输出最后一个时间步的结果。lstm_att注意门的输出:
[0027]
att
t
=σ(v
att
×
tanh(w
att
×ct-1
))
ꢀꢀ
(1)
[0028]
其中,是需要训练的参数,从训练数据中学习;c
t-1
为上一个时刻节点状态;σ(
·
)和tanh(
·
)分别为logistic sigmoid和双曲正切激活函数;其他门单元的输出:
[0029]it
=σ(wi×
[c
t-1
,h
t-1
,x
t
] bi)
ꢀꢀ
(2)
[0030][0031][0032]ot
=σ(wo×
[h
t-1
,x
t
] bo)
ꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(5)
[0033]ht
=o
t
·
tanh(c
t
)
ꢀꢀꢀꢀꢀꢀꢀꢀ
(6)
[0034]
其中i
t
表示t时刻的输入门,wi和bi表示输入门单元中的权重矩阵和偏置项,c
t-1
和h
t-1
分别为前一时刻的单元状态和隐藏层输出,x
t
表示当前时刻的输入;表示t时刻更新单元状态的候选值,wc和bc表示更新状态时的权重矩阵和偏置项;c
t
表示t时刻的单元状态,
·
表示哈达玛积;o
t
表示t时刻的输出门,wo和bo表示输出门单元中的权重矩阵和偏置项;h
t
表示t时刻隐藏层的输出;
[0035]
步骤24:采用具有参数硬共享的多任务学习方法,采用讲话人性别作为辅助任务,因为男性和女性语音的差异会影响语音相关任务的系统性能,特定于性别的情感识别模型的性能优于其他不分性别的情感识别模型。
[0036]
多任务学习的注意力层对lstm_att输出进行注意力加权:
[0037][0038]
ν=∑iα
ihi
ꢀꢀ
(8)
[0039]
式(7)中,αi表示注意力权重,向量μ为注意力参数,μ=(θ1,θ2,...,θ
t
),t为帧长,{h1,h2,...,h
t
}为最后一层lstm_att的输出,计算注意力参数向量μ与hi的内积,作为每个时间帧重要性的分数,并对其进行归一化处理,归一化后的分数即为每帧包含关键信息的权重。式(8)将得到的权重与lstm_att输出进行点乘,得到的加权和v作为全局更新权重的特征向量。
[0040]
步骤3所述的计算模型的损失函数包括以下步骤:
[0041]
步骤:将式(8)得出的特征向量输入到全连接层,全连接层可以实现在学习共享特征的同时能够独自优化,并通过softmax进行分类,得出预测值:
[0042][0043]
其中w和b表示全连接层中的权重和偏置项,v表示式(8)得出的特征向量,softmax(
·
)为softmax函数。
[0044]
步骤31:训练过程中,将识别结果与训练集的标签比较并计算损失函数,使用adam优化器对其优化。本文采用交叉熵函数作为每个任务的损失函数:
[0045][0046]
其中表示每个任务的损失函数,task为任务的种类:情感识别(emotion)和性别分类(gender),yi和分别为训练集标签的真实值和模型输出的预测值,n
task
为任务task的类别总数。
[0047]
步骤32:最后总的损失函数:
[0048]
l
total
=αl
emo
(1-α)l
gen
ꢀꢀ
(10)
[0049]
其中l
emo
和l
gen
分别为语音情感识别和性别识别的损失函数,α为情感识别损失函数的权重系数。通过联合l
total
对整个网络进行反向传播和梯度更新。
[0050]
步骤4所述的实现对测试集语音情感数据识别包括以下步骤:
[0051]
步骤41:为体现lstm_att对时序数据的处理能力,设计lstm-mtl对比实验,lstm层数与节点与本文模型相同,对情感和性别进行识别。确定两个任务损失函数权重系数的取值,语音情感识别为主任务,故其对应的权重大于性别识别任务,实验中α的初始值设置为0.9。通过调整权重并在验证集上测试,找到识别准确率率最高的权重。如图3所示,lstm_att-mtl和lstm-mtl权重α的取值分别为0.8和0.6。
[0052]
步骤42:为体现多任务学习相较于单任务学习在性能上的提升,设计了单任务的对比实验lstm_att-stl,在保持其他参数相同的前提下,对情感任务进行识别。
[0053]
表1和表2分别显示了在casia数据集上每项任务和情感的识别结果,从表1得出,lstm_att-mtl情感识别方面有了较大改善,由于casia数据集讲话人较少,性别识别率非常高,因此将性别识别作为辅助任务对情感识别影响较小。表2中可得出,本文提出方法的识别准确率达到93.1%,除了中性和惊讶两种情感的准确率比lstm-mtl低,其他情感识别准确率均高于对比实验。lstm_att-mtl识别结果的混淆矩阵如表3所示,表中横坐标表示语音
情感的预测结果,纵坐标表示情感相对应的真实类别,从表中得出,开心这一类情感识别准确率较低,容易识别成中性和惊讶。中性的识别结果较为准确,达到了96.9%。
[0054]
表1对比实验中每项任务识别结果
[0055]
tab.2 the recognition results of each task in the experiment
[0056][0057]
表2对比实验中每项情感识别结果
[0058]
tab.3 the results of each emotion recognition in the experiment
[0059][0060][0061]
表3 lstm_att-mtl中每项情感识别结果
[0062]
tab.4 each emotion recognition result in lstm_att-mtl
[0063][0064]
步骤43:为选出lstm_att-mtl中lstm_att最合适的层数,同时设置了三个实验,lstm层数分别为2,3,4。实验结果如图4所示实验结果显示,lstm层数的增加会提高时域特征提取的效率,如表5所示,2层lstm_att的识别准确率为93.1%,3层的lstm_att的识别准确率为92.8%,4层lstm_att的92.1%的识别准确率,因此选取2层lstm_att进行实验。
[0065]
以上所述仅为本发明的实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所做的等效结构或等流程变换,或直接或间接运用在相关技术领域,均同理包括在本发明的专利保护范围。
再多了解一些

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

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

相关文献