全卷积循环神经网络的语音情感识别

2021-11-08 08:50姜芃旭
声学技术 2021年5期
关键词:准确率语音卷积

朱 敏,姜芃旭,赵 力

(1.常州信息职业技术学院电子工程学院,江苏 常州 213164;2.东南大学信息科学与工程学院,江苏 南京 210096)

0 引 言

语言学家专注于从语音中探索潜在的信息,代表说话者或声音中间体的状态。作为副语言学中的一项情感任务,语音情感识别技术通过电脑来对输入的情感特征做出判别。作为人机语音交互的重点之一,语音情感识别的相关技术在近年来受到了广泛的关注[1]。语音情感识别有着广阔的研究前景,大量学者对副语言学的研究促使情感识别研究取得了突出的进展。随着计算机性能的逐步提升以及相关语音情感研究内容的不断突破,语音情感技术开始不断应用在各个行业中。作为语音在人工智能发展中的主要分支,语音情感识别的相关研究具有重要的意义。

作为语言情感识别系统中最重要的一步,情感特征提取决定了整个系统对不同情感的识别效果。语言情感识别的核心课题之一便是从语音中提取显著的情感特征[2]。传统的语音情感特征包括谱相关特征、超音质特征和语音质量特征[3]。由于语音本身复杂的内在因素,手工制作的特征目前难以描述更精细的特征表示,如何提高语言情感识别的性能依然是一个挑战。

深度学习网络[4]近年来在表达特征方面表现出了突出的性能,相关的最新研究为语音情感识别提供了更好的描述语音中情绪状态的深度模型。与手工设计的特征相比,神经网络通过自动学习的方式提取的深层特征具有更多的内在信息。目前,大量基于神经网络和深度学习方法在语音情感识别中应用[5],通过设计和开发相应的网络模型,提高了语音情感识别的研究水平,并且一些相关网络已经成功地应用于语音情感识别中的特征学习[6-8]。相关神经网络的成功应用,促使我们利用相关网络对语音信号进行深层研究,因此我们需要解决一些现有系统中存在的问题。

首先,每个语音文件的长度基本都不相同,但大多数的神经网络模型需要固定的输入,有必要在不丢失情感细节的前提下设计适当的输入来满足模型的要求。其次,以往的很多情感识别的相关研究都是采用串联的方式来连接不同的神经网络模型,模型间的呈递关系可能会失去一些情感细节。

对此,本文提出了一种针对语音情感识别的FCN+LSTM模型。将谱图和帧级两种不同功能的特征作为模型的输入。不同于传统模型之间的呈递关系,FCN+LSTM模型采用并行的连接方式,以获得更好的情感细节。全卷积神经网络(Fully Convolutional Network,FCN)模块[9]可以捕获谱特征中的时频相关信息。同时,由于长短期记忆(Long Short-Term Memory,LSTM)模型[10]可以接受不同长度的输入,采用帧级特征作为输入可以更好地弥补因压缩谱图大小而在FCN模块中丢失的时间细节。使用加权融合的方式分别对两个模块的输出连接到一个可训练的权重层后进行融合,最后,使用分类器对不同情感进行分类。不同的对比实验证明了所提模型的优越性。

1 全卷积循环神经网络

本文的语音情感识别系统框图如图1所示。首先,分别从语音的原始波形中提取出谱图特征和帧级特征,然后分别在FCN和LSTM模块中进行学习,最后将不同模块的输出融合后进行分类。

图1 基于FCN+LSTM的语音情感识别系统框图Fig.1 Block diagram of the FCN + LSTM based speech emotion recognition system

1.1 特征提取

谱图特征是目前语音识别中的一个热门特征,该特征综合考虑了频率和时间的关系,包含更多的相关参数,表达情感更加直观,可以提取到更多的情感信息。对语音信号进行预加重、加窗、快速傅里叶变换,并将信号通过一组三角滤波器来提取出谱图特征[11]。同时,为了从语音中提取出更多的情感信息,将三维谱图特征作为FCN的输入,三维谱图特征由原始谱图以及其一阶导数和二阶导数组合而成。在本文中,使用64组滤波器,25 ms的汉明窗以及10 ms的重叠来获取谱图特征,三维谱图特征作为 FCN模块的输入。为了加速训练效果并提高模型性能,预训练的AlexNet作为初始化模型,由于AlexNet需要固定的输入,所以使用双线性差值的算法将每段谱图特征以及其一阶导数和二阶导数的大小调整为227×227。

大多数神经网络需要在特征输入网络前对其进行处理,使所有特征保持统一的输入大小,语音数据不同于图像数据,每一个语音文件可能有着不同的时长,为了将不同时长的语音输送进神经网络中,常用的方法是将语音信号切割成同样大小的片段作为输入[7-8]。但是不完整的情感细节的输入特征可能会导致模型的鲁棒性下降,并且在卷积的计算过程中可能会丢失语音的时间相关信息。因为使用的是预训练的AlexNet模型,网络对输入特征的要求为 227×227×3,由于我们将 n×64×3的特征利用双线性差值变为227×227×3,n为每段语音的帧长,不同语音的帧长可能并不相同,由于帧长的拉伸或者压缩一定程度上造成了原有特征中的时间相关信息的丢失。为了解决这个问题,同时使用融合的帧级特征作为LSTM模块的输入特征,来补足在卷积过程中丢失的时间信息。获取帧级特征的参数与三维谱图特征相同,同样使用 64组梅尔滤波器,25 ms的汉明窗以及10 ms的重叠来获取帧级特征。其中帧级特征中的每帧不同的特征号如表1所示。其中前 30维帧数分别为梅尔频率倒谱系数(Mel Frequency Cepstrum Coefficient,MFCC)及其一阶导参数,后 50维帧数分别为谱图特征及其一阶导参数,80维的帧级特征作为LSTM模块的输入特征,每帧中包含更丰富的信息量,可以让LSTM获得更多的情感信息。图2为两模块输入特征的特征图。

表1 帧级特征中的基本特征Table 1 Basic feature of frame-level features

1.2 FCN模块

FCN模块用于从谱图特征中提取情感细节。卷积层和池化层是卷积网络的主要组成部分。其中,卷积中不同层间的连接通过卷积核操作。不同于深度神经网络中的全连接操作,卷积层中每一个卷积核都采用局部连接的方式连接不同层,也就是每一个像素点都只包含上一层中的规定大小区域的信息,并且每层卷积中可以由多个卷积核组成,每个卷积核的特征映射可以表示为

池化层一定程度上规避了过拟合,池化层中的窗口化计算与卷积层中相同,计算特征对于窗口的最大、最小值进行,池化算法可以表示为

图3 FCN网络结构Fig.3 FCN network structure

表2 卷积网络模块的详细参数Table 2 Detailed parameters of convolution net module

使用平均池化为本模块的池化方式以更好地获取最后一层池化层中抽象的特征表示。同时,平均池化层可以减少大量的参数,减轻网络的复杂度,缓解过拟合。通过层间算法运算,将输入数据抽象为高级特征表示。同时,对整个网络在结构上做正则化防止过拟合,FCN每一层模块的详细输出参数如表3所示。

表3 FCN模块参数Table 3 Parameters of FCN module

1.3 LSTM模块

LSTM内部实现了一个更精细的内部单元来有效地存储和更新信息。xt、ht-1和ct-1分别表示当前时刻的输入,上一时刻的输出和上一时刻的单位状态。ht和ct分别表示当前时刻的输出和当前状态。LSTM通过不同门函数之间的运算来更新内部参数。忘记门用于决定单元需要丢弃的信息,可用式(4)表示:

式中:bf和Wf分别代表偏差和权重;σ是Sigmoid激活函数;遗忘门ft通过读取当前时刻的输入xt和单元状态ht-1,输出介于“0”和“1”之间的值。可用式(5)、式(6)表示:

图4 LSTM模块展开形式Fig.4 Expansion form of LSTM module

LSTM动态处理每帧数据的方式弥补了在卷积网络中由于压缩或拉长输入数据而造成的时间信息丢失。

最后将两个模块中同时训练的特征进行融合,使用SoftMax分类器进行分类。所有模块同时进行训练,以保证模型可以获得最佳的学习能力。

2 实验结果及分析仿真数据库

2.1 仿真数据库

2.1.1 中国科学院自动化研究所汉语情感语料库

中国科学院自动化研究(Institute of Automation,Chinese Academy of Sciences,CASIA)数据库[12]是为研究情感语音所设计的语料,由4位专业发音人在纯净的录音环境下录音,包括6种情绪,分别为惊讶(surprise)、愤怒(anger)、悲伤(sadness)、恐惧(fear)、中性(neutral)和快乐(happy)。共1 200句不同的发音,50句相同文本。

2.1.2 柏林德语情感语音库

柏林德语情感语音库(Berlin Emotional Database,Emo-db)[13]是柏林大学录制的德语语音情感数据库,数据库由10名演员(5男、5女)录制而成,包含了7种不同情感,分别为生气(anger)、高兴(joy)、害怕(fear)、悲伤(sadness)、厌恶(disgust)、无聊(boredom)和中性(nertral)。共包含535条语句。

2.2 参数设定

本实验在CASIA库上采用1 200句6种情感中的1 080句作为训练数据,其余的作为测试数据,在Emo-db库上选取535句7种情感中的481句作为训练数据,其余作为测试数据,实验重复 10次并取均值来减少误差,每一轮实验中所有对比实验的数据集划分相同。采用非加权准确率(Unweighted Accuracy,UA)[14]作为实验的评价标准。

本实验采用 Windows 10操作系统,显卡为GTX 1080 ti,使用Python语言编码,深度学习库为Tensorflow。FCN与LSTM的输出维度为1 024,其中全局池化层采用平均化池化策略,dropout设置为0.7,训练过程中的学习率设置为0.000 1,迭代次数设置为200。

3 仿真实验

由于对CNN的网络结构进行了修改,使其变为全卷积网络。为了验证修改模型的优越性,首先在AlexNet和本文所改进的FCN中对两个数据库进行对比实验,实验中采用相同的模型参数,其中AlexNet表示为CNN。FCN中删除了原网络中的全连接层,最后一层池化层后加入了一层1×1大小的卷积层和平均池化层,两库中测试集的UA随迭代次数的变化如图5所示。在两模型的对比实验中可以看出,改进的 FCN模型相较于原始卷积网络模型具有更好的识别效果。在 CASIA和 Emo-db数据库中可以看出,CNN网络在收敛过程中具有较大的起伏,而FCN相较于CNN在迭代过程中的波动较小,说明改进后的网络更加稳定。两模型的实验准确率如表4所示,实验结果显示,FCN在两数据库中的测试结果分别为78.6%和81.4%,相较于CNN网络准确率分别提升了5.8个百分点和6.4个百分点,准确率有明显的提升,证明改进的模型相较于传统的CNN模型有着更好的识别性能。

图5 两个数据库中以谱图特征为输入的CNN和FCN测试非加权准确率(UA)的对比Fig.5 Comparison of the UA values of the spectrograph features in the two databases tested by CNN and FCN

表4 CASIA和Emo-db数据库中以谱图特征为输入的CNN和FCN测试的非加权准确率(UA)Table 4 The UA values of the spectrograph features in CASIA and Emo-db databases tested by CNN and FCN

在传统的语音识别模型中,LSTM通常是作为最后的特征整合模型,这种模型间的串联关系可能会使得 LSTM 在特征学习的过程中流失一部分情感。为了更好地获取语音中的情感细节,本模型采用80维的帧级特征作为LSTM的输入特征并直接进行特征提取以尽可能地减少过于复杂的模型中情感细节的流失。为了验证所提取的特征性能,LSTM模块使用64维帧级特征进行对比,64维帧级特征为谱图特征,使用64组滤波器,25 ms的汉明窗以及 10 ms的重叠来获取。两库中测试集的UA随迭代次数的变化如图6所示,测试准确率如表5所示。从两个输入的对比实验中可以看出,在CASIA数据库中,80帧级特征作为LSTM的输入与64维特征作为LSTM的输入的收敛曲线十分接近,并且UA的提高也不明显。但是在Emo-db数据库中,80为帧级特征作为输入具有较大的优势。相较于64维帧级特征作为输入的准确率提升了5.1个百分点。

图6 两个数据库中64维和80维帧级特征为输入的LSTM测试的非加权准确率(UA)的对比Fig.6 Comparison of the UA values of the 64D and 80D frame-level features in the two databases tested by LSTM

表5 两个数据库中64维和80维帧级特征作为LSTM模型输入的测试UA值比较Table 5 Comparison of the UA values of the 64D and 80D frame-level in the two databases tested by LSTM

最后,将所设计完整的模型 FCN+LSTM 与FCN模块和LSTM模块相比较,同时,CNN+LSTM+帧级特征(64维)也加入对比实验来验证不同模块的并行效果。本文使用了加权的融合方式对不同模块的输出进行融合,为了验证该融合方法相较于普通融合方法的优越性,FCN+LSTM+帧级特征(80维)+加权融合也同样加入到对比实验中。两个数据库中测试集的UA随迭代次数的变化如图7所示。从图中可以看出,在两个数据库中,所有的实验经过200次的训练后测试集都趋于稳定,并且本文中所设计的 FCN+LSTM+帧级特征(80维)+加权融合的模型相较于其他模型可以更快地收敛。表6显示了所有实验的对比情况。

图7 所有的非加权准确率(UA)测试值随迭代次数变化的曲线Fig.7 Variation curves of all tested UA values with iteration times

实验结果如表6所示,FCN+LSTM+帧级特征模型相较于单一的FCN模型和LSTM模型对情感都有着更好的识别效果,说明并行的模型结构确实可以提升模型的准确率。同时改进的模型FCN+LSTM+帧级特征(80维)相比于CNN+LSTM+帧级特征(64维)的性能也有所提升,两个数据库中的UA值分别提升了1.6个百分点和0.6个百分点。说明对CNN模型的改进以及LSTM输入特征的提取对并行模型的性能改善同样是有效的,也说明我们针对不同模块所设计的不同输入是合理的。最后,我们所设计的 FCN+LSTM+帧级特征(80维)+加权融合的模型在所有实验中取得了最好的实验效果,与不使用加权融合的FCN+LSTM+帧级特征(80维)的模型相比,两个数据库中的UA值分别提升了3.4个百分点和4.9个百分点,实验效果显著,验证了所提出的对不同模块的输出分别进行权重计算的重要性。实验结果证明了在我们所设计的并行多输入模型中,在 FCN模块学习语音数据的时频相关细节的同时,LSTM模块补足了在卷积过程中所丢失的时间信息,并通过对不同模块的输出分别加权的特征融合方式,较好地融合了不同特征。

表6 不同模块测试的非加权准确率(UA)对比Table 6 Comparison of the UA values tested by different modules

同时,本文还对一些相似的方案进行了对比。文献[15]、[16]同样提出了一种LSTM和CNN的语音情感识别方法。文献[15]提取谱图特征作为LSTM的输入,利用CNN提取更高层的情感特征。文献[16]同样是提取谱图特征作为输入,但采用的是CNN-LSTM的连接方式,文献[15]、[16]均采用串行结构连接LSTM和CNN模型。与文献[15]、[16]不同的是,首先使用的是并行结构来连接两个不同的模块,其次,不同模块的输入是不同的。为了验证所设计模型的优越性,在相同的实验条件下对不同模型进行了对比,结果如表7所示。

从表7中可以看出,相较于文献[15]、[16]中的串行结构,本文所采用的并行结构模型具有较大的优势。两个情感数据库的UA有大幅的提高,相较于文献[15],两个数据库的UA分别提高了8.1个百分点和9.6个百分点,相较于文献[16],两个数据库的UA分别提高了4.7个百分点和3.6个百分点,说明本文改进的模型结构以及算法的优化是合理的,可以显著地提升语音情感识别系统的性能。

表7 不同算法测试的非加权准确率(UA)对比Table 7 Comparison of the UA values tested by different algorithms

4 总 结

本文提出了一种全卷积循环神经网络模型,采用多输入并行的模型组合方法对特征进行学习。利用FCN模块学习语音谱图特征中的时频相关信息,同时利用LSTM模块来学习语音的帧级特征,以补充模型在 FCN学习过程中缺失的时间相关信息,特征融合后使用分类器进行情感分类。在两个公开的情感数据集上的实验证明了该方法的优越性。

猜你喜欢
准确率语音卷积
基于3D-Winograd的快速卷积算法设计及FPGA实现
乳腺超声检查诊断乳腺肿瘤的特异度及准确率分析
不同序列磁共振成像诊断脊柱损伤的临床准确率比较探讨
2015—2017 年宁夏各天气预报参考产品质量检验分析
卷积神经网络的分析与设计
魔力语音
基于MATLAB的语音信号处理
从滤波器理解卷积
基于MQ3与MP3的价廉物美的酒驾语音提醒器
对方正在输入……