混合多尺度卷积结合双层LSTM语音情感识别
2023-03-21梁科晋张海军刘雅情王月阳
梁科晋,张海军,刘雅情,张 昱,王月阳
(新疆师范大学计算机科学技术学院,新疆 乌鲁木齐 830054)
0 引 言
语音在人类的日常交往中扮演着重要的角色,在交往传递的信息中,不仅包含相应的语义信息,而且情感信息也包含其中。随着人工智能的日益兴起,如何让计算机具有和人类一样的思想,可以进行语音情感识别和表达,成为当前的研究热点。对于一套完整的语音情感识别(Speech Emotion Recognition,SER)[1]模型来说,可以分为3个模块:语音预处理、特征提取和情感识别,如图1 所示。就当前的研究而言,语音情感识别还需要攻克2 个难题[2]:1)语音的哪些特征适合作为情感特征;2)怎样设计或者改进一种模型结合语音情感特征来提高有效性[3]。本文基本思路就是从语音情感特征的构造和识别模型改进2 个方面展开相关的研究。具体改进工作如下:1)在特征的构造方面,提取语音情感相关的特征(Mel 倒谱系数、频谱质心、短时过零率、均方根值能量等)共计312 维,相较于传统的单一特征,本文所选取的特征更能反应语音的情感;2)为了提升模型的识别性能,解决传统神经网络特征提取不足造成识别准确率不高的问题,提出了混合多尺度卷积与双层LSTM 模型相结合的模型。
图1 语音情感识别模型
1 研究现状
在目前的研究中,SER分类主要采用机器学习和深度学习的方法。在早期的SER 中大多采用机器学习的方法进行分类,在进行语音情感特征提取参数时,刘明珠等人[4]加入(Support Vector Machine,SVM)分类器,选择出合适的SVM 核参数,最终通过建立SVM进行分类建模;王胜[5]在提取出语音情感特征参数之后,结合隐马尔可夫模型(Hidden Markov Model,HMM)进行建模;叶吉祥等人[6]构造了一个3 层的随机森林网络,解决了情感数据集分布不均匀的问题,同时也提高了识别的准确率;任浩等人[7]采用PCA(Principle Component Analysis)进行降维处理之后,联合多级SVM 进行建模,最终判断出情感类型。虽然采用机器学习的分类方法在SER方面都有所建树,但是其算法模型相对复杂不容易实现,并且在特征处理时大多依靠人工进行处理,具有人为的主观性,造成模型的识别准确率不高。
随着深度学习的发展,传统机器学习的情感识别模型逐步被取代,使用神经网络进行建模,特别是在计算机视觉、图像处理、语音识别等研究领域都得到了广泛应用。吕惠炼等人[8]利用CNN 的特征提取能力,把原始的语音情感信号直接用深度神经网络进行特征提取,添加了双向长短记忆神经网络联系上下文特征信息,同时以端到端的方式进行训练,取得了不错的效果;姜芃旭等人[9]提出一种基于CNN 语音情感识别模型,以Lenet-5 模型为基础通过增加网络层数,提取更加深层的语音情感特征,将二维卷积核改为一维卷积核,对特征进行特征变换表征,实现了语音情感的分类。但是这些研究都是通过选择增加网络的层数,从深度方面进行特征的提取来提高模型的有效性的。殊不知网络层越高感受野越大,对于语义的信息表征能力比较强[10],但是却削弱了对于几何信息的表征;反之亦是如此,增强几何表征的同时也削弱了语音信息的表征。同时由于语音情感序列的多样性,联系语音情感上下文特征信息的能力不足,无法充分利用特征进行分类,造成识别准确率不高。为弥补传统神经网络随着层数的增加造成提取特征不足的问题,周悦等人[11]在一个合并卷积神经网络中设计了2个分支,一个是一维(1D)CNN分支,另一个二维(2D)CNN 分支,从双分支的模型中提取特征,提高了分类的准确率;张会云等人[12]提出异构并行的神经网络,一个分支由全连接层和长短记忆神经网络组成,另一个在前一个分支的基础上增加了卷积层,最终进行合并并结合注意力机制,提高了模型的性能。
在特征提取方面,影响语音情感的因素有很多,比如语种、说话人的音色以及一些其他的因素,目前还没有哪一种情感可以很好地表征语音情感。近些年来,许多研究者采用特征融合的方式表征语音情感,胡德生等人[13]采用主辅网络进行特征融合:将时域特征作为主网络的输入,Mel 谱图作为辅网络的输入,融合之后提高了识别的性能;王怡等人[14]融合语音的低层次特征和谱特征,采用构造哈夫曼树的方法进行识别,达到理想的分类效果;Yoon等人[15]通过提取语音的MFCC 和韵律特征,然后融合文本信息,在相应的模型上进行情感识别达到了预期的效果。
基于上述研究,为解决深度神经网络提取特征不足的问题,本文提出一种采用混合多尺度卷积结合双层LSTM 模型,在特征选取方面,将语音的多种情感特征进行了融合。
2 混合多尺度卷积结合双层LSTM模型
本文所提的混合多尺度卷积结合双层长短期记忆网络模型如图2 所示,主要包括3 个多尺度卷积组成的混合多尺度和2个长短记忆神经网络以及1个全连接层。
图2 多尺度卷积结合长短记忆网络模型
首先对输入的语音进行预处理,得到相应的语音情感特征,然后将其无差别地输入到拥有3 个卷积层采用不同的卷积核C1、C2、C3(C1、C2、C3分别代表3个卷积层不同的卷积核)中,经过BN层和池化层,从而提取不同层次的具有代表性的情感特征。将输出的3个特征结果融合在一起,得到新的特征序列:
式(1)中,h1、h2、h3分别代表C1、C2、C3 得到的特征向量,Concat(·)函数代表融合得到的新的特征序列。结果再次作为下一层卷积的输入,如此循环2次,将最终融合得到的语音高层情感特征作为2层LSTM的输入,最后通过一层全连接层,完成语音的情感分类。如此既加强了模型的非线性化的程度,也使得模型具有更加优越的拟合性能,从而提高了识别的准确率。
2.1 多尺度特征融合方法
多尺度卷积多用于图像与视觉方面,是提高分割性能的一种重要手段,很多研究通过多尺度卷积融合图像的低层特征与高层特征提升了检测和分割的性能[16]。张威等人[17]采用多路卷积模型和SENet 模型相结合的方式,将最后的全连接层加入端到端模型,在语音识别方面取得了不错的效果。本文基于此提出的混合多尺度卷积是CNN 的一种,改变了传统的CNN 在单分支网络上通过加深卷积层数来提取深层特征的方式。在深度神经网络的基础上通过3 个不同的卷积核在同一层进行特征提取,弥补了单个深度神经网络提取特征不足[17]的问题。具体的操作如图3所示。
图3 多尺度卷积示意图
2.2 应用卷积神经网络构建特征向量
卷积神经网络(CNN)[18]是一种最基础的神经网络模型,是深度学习最具代表性的一种算法。CNN在计算的过程中采用权值共享的方式,一方面可以自动提取特征,方便下一步的计算,另一方面也降低了计算量,使得模型复杂度降低,更加容易学习,使过拟合的风险大大降低。CNN 主要包括卷积层(Convolutional Layer)、激活函数(Activate)和池化层(Pooling Layer)、全连接层(Connection Layer)这4 个部分[19]。卷积层的作用是对特征进行提取,对输入的多个二维特征的三维数组进行处理。引入激活函数的目的是由于线性模型的表达力不够,通过加入一些不确定的非线性因素,这样在遇到相对复杂的问题时就可以很快地解决。在全连接层中,因为每一层都与上一层的节点相连接,可以综合所有的特性,因此该层就成为拥有最多参数的一层。
2.3 组合双循环神经网络获取上下文相关性
循环神经网络(Recurrent Neural Network,RNN)是常用于处理序列数据的模型[20]。RNN 的每一个网络单元都是相互连通的,具有时间上的记忆功能的可以使用RNN,使网络层的每一个隐藏层单元不仅具有前期记忆的总结还有上一层的输入内容,通过反向传播得到预测结果,解决了梯度消失的问题。但是RNN 只是对上一层隐藏层单元内容进行简单的线性计算,对于语音特征中出现的一些重要和非重要的特征无法选择和剔除。于是提出了长短记忆模型(Long-Short Term Memory,LSTM)。LSTM 设计了一种“门”的结构,可以对输入的信息进行筛查和选择,最终通过Sigmoid 层输出概率,选择每一部分可以有多少的信息可以通过。图4 为语音特征信息通过一个LSTM单元的示意图:
图4 LSTM选择记忆过程图
1)LSTM可以有选择性地接受特征信息。当新输入新的语音信息X(t)和来自上一层单元的信息h(t-1),经过σ(Sigmoid)函数层可以有选择地记住一些重要的语音信息。
2)将新输入的语音信息X(t)进行记忆存储。通过σ函数层筛选的信息与tanh层创建向量值相乘组合为新的信息与旧记忆c(t-1)相加得出新的特征信息。
3)输出所记忆的内容。将步骤2 得到的新的特征经过σ函数筛选后与tanh 层创建的向量相乘输出最终的语音特征信息。
考虑到语音作为一种时间序列,可以使用LSTM来联系上下文语义提高模型的泛化能力和有效性,但是在实验过程中发现,使用单层的LSTM在训练的过程中准确率会出现突然骤降的情况,造成准确率不稳定。通过把单层改为双层的LSTM可以有效缓解这个问题,通过多次训练之后模型准确率稳步上升并逐渐趋于稳定。在CASIA数据集上的测试结果如图5所示。
图5 CASIA数据集对比图
3 实验与数据处理
3.1 语音数据集
本文在进行实验时使用的2 个语音情感数据集分别为中科院自动化所的汉语情感数据库(CASIA)以及德国柏林的情感数据集(Emo-DB),这2 个数据集都是在相同的采样频率和量化标准下进行处理得到的音频。CASIA 包含6 种情感:生气、害怕、高兴、难过、中性、惊奇,在50 句不同文本下演绎语音数据1200 条;Emo-DB 包含7 种情感:生气、悲伤、高兴、害怕、中性、厌恶、无聊,共534条口语化风格的语音。
3.2 数据预处理及特征提取
在CASIA 和Emo-DB 情感数据库中选取每一条帧长为25 ms、帧移10 ms 的语音作为原始信息,分别截取2 个数据集中语音的前2 s 和前4 s 作为实验的数据,采用Python 自带的Librosa 音频处理库,提取语音情感识别中的频域特征(梅尔倒谱系数、频普质心)、时域特征(过零率)、能量特征(均方根能量)。传统的方法都是提取单一的特征,本文将提取出来的特征进行融合,对这些特征采用全局统计,并对所提取的特征进行归一化[0,1]处理,最终则得到213维的语音情感特征,2 个数据集的训练集、测试集和验证集比例都为8:1:1。
梅尔倒谱系数(Mel-Frequency Cepstral Coefficients,MFCC)参数的提取,需要通过Mel标度频率域之后才可以得到。这是由于Mel 频率比较接近于人耳听音频率,同时与语音的频率之间还存在非线性的关系,具体公式如下:
式(2)中f为频率,单位为Hz。图6 为MFCC 的提取的流程示意图。
图6 MFCC提取流程图
对于一段连续的语音,首先通过高通滤波器进行预加重,然后将N个采样点的数据进行压缩,作为语音的一帧,并对该帧做加窗处理,进行后续的一系列处理,最终得到MFCC特征。由于语音信号之间的连续性,为了保证信号的平稳,在进行分帧时要保证每一帧之间相互重叠,因此本文每一帧的重叠部分为1/4。
频谱质心(Spectral Centroid)、短时过零率(Shorttime Zero Crossing Rate)、均方根值能量(Root Mean Square Energy)都是语音情感中重要的情感特征。频谱质心重点描述的是声音的音色,主要反映了在信号变化中主谐波的基频值特性;短时过零率是语音中时域的基本特征;均方根值能量是语音中的一种能量特征,反映的是语音在一定范围内的能量均值。最终将上述所提取的各个情感特征拼接融合,进行全局统计以及归一化处理得到最终的情感特征。
3.3 实验与结果分析
实验所用硬件配置为I7-8700K 处理器,8 GB 运行内存,GPU 显卡为NVIDIA GTX-1080;软件运行环境为64 位Windows 操作系统下的TensorFlow+Keras深度学习框架。
3.4 参数设定
本文实验是在CASIA 和Emo-DB 这2 个语音情感数据集上进行仿真实验的,以分类的准确率作为最终的评判标准,每组实验重复10 次,取准确率平均值作为实验的最终结果。多个模型进行仿真对比实验,混合多尺度卷积结合双层LSTM 模型在训练阶段初始学习率设置为0.0001,选取Adam 作为优化器加快收敛速度;偏移量初始设置为[-0.05,0.05]的随机值,每一层卷积之后采用Relu 激活,保证输入输出的一致性,权重采用He正态分布进行初始化;每层卷积都采用批量标准化(Batch Normalization,BN)对权重进行调整,提高泛化能力;通过采用L2 正则化舍弃层(Dropout)降低模型过拟合的风险。所用的混合多尺度卷积结合双层LSTM 的模型,通过不同的卷积核进行特征的提取与融合,接着继续进行特征的提取与融合,然后结合2 层的LSTM,最终经过全连接层完成分类任务,输出语音情感识别的准确率。具体的模型结构与参数如表1所示。
表1 混合多尺度卷积神经网络结构与参数
3.5 实验数据分析
本文设计了5 组对比实验,分别为卷积的层数(深度和宽度)、卷积核的大小、所提取的特征以及LSTM 层数对实验结果准确率的影响,最后通过对比在相同数据集上的各个模型的实验结果,验证所提出的特征提取方法和实验模型的有效性。
为验证卷积层的深度和宽度对数据库情感识别准确率的影响,分别采用3×3、5×5、7×7的卷积核以及3 种尺度的融合在识别准确率方面进行对比,2 种数据集的最终测试结果如表2和表3所示。
表2 层数对CASIA识别准确率的影响
表3 层数对Emo-DO识别准确率的影响
从表2、表3可以看出,卷积神经网络的层数并不是提高识别准确率的主要因素,通过尺度的融合显著提高了识别的准确率。但是在2个不同的数据库中出现了单尺度融合比混合多尺度融合识别准确率高的现象,为深入研究这个问题,在2个不同的数据集上开展了进一步实验,结果如表4、表5所示。
表4 卷积核大小对CASIA识别准确率的影响
表5 卷积核大小对Emo-DO识别准确率的影响
从表4 和表5 可以看出,虽然在单尺度上的准确率相对于混合多尺度比较高,但是无法连接语音情感的上下文特征,当结合双层LSTM 时混合多尺度融合特征准确率就提高较大,在2 个不同数据集上的识别准确率可以达到95.34%和92.73%。
为了验证融合特征相对于单一特征的优势,将单一的MFCC 特征与融合特征进行比较,对比结果如图7、图8所示。
图7 不同特征在Emo-DO数据库的准确率对比
图8 不同特征在CASIA数据库的准确率对比
从图7、图8可以看出,所提出的融合特征相对于单一的MFCC 特征,在混合多尺度结合双层LSTM 模型提升准确率的效果比较明显。
为了验证所提出的混合多尺度卷积融合双层LSTM 模型的影响,随着LSTM 层数的增加,对情感识别准确率的影响,对比结果如表6所示。
表6 LSTM 层数对识别准确率的影响
从表6 可以看出,混合多尺度的卷积结合LSTM的模型中随着LSTM 层数的增加,在以上2 个公开的情感数据集上的识别准确率在一、二层是随着LSTM层数的增加准确率不断提高,但是随着LSTM 层数的进一步增加,准确率不但没有提升反而有所下降,这是因为在LSTM 中的Redisual connection 参数有助于反向传播,加入LSTM 可以对语音情感特征数据进行压缩,适当地增加层数可以提高识别准确率,随着层数的进一步增加,在数据压缩过程中容易丢失信息,造成梯度消失从而导致准确率下降。
3.6 相关研究比较
为进一步验证本文模型的有效性,将在2 个情感数据集上所使用过的实验方法进行对比,具体结果如表7、表8所示。
表7 不同分类模型在CASIA数据库中的准确率
表8 不同分类模型在Emo-DB数据库中的准确率
从表7 与表8 中可以看出,本文所提出的模型在相同数据集上,相较于其他的模型识别准确率均有较大提升,这验证了模型的有效性。同时在情感特征处理方面,通过所提取的均为常见的语音特征,并且借助Python这个强大的工具,方便快捷地提取出想要的特征,相较于使用数据增强、改进语音处理等,本方法是比较容易实现并且有效的。
4 结束语
本文提出了一种混合多尺度卷积融合结合双层LSTM的语音情感识别分类模型。该模型以传统的卷积神经网络为基础,改进了传统语音情感识别模型只专注于模型深度,造成特征提取不足的问题,通过采用混合多尺度卷积在深度和宽度上进行特征提取,有效地改善了特征提取不足的情况;同时提出将所提取出来的多个单一语音情感特征进行融合,相比于单一特征可以表征更多的情感特征。通过在不同数据集进行一系列对比实验,表明了本文所提模型和提取特征可以有效提高语音情感识别的准确率。但是由于所选取的数据集规模相对较小,接下来将在更大规模的数据集上进行实验,并进一步研究有效的情感识别特征,使所构建的系统更具实用性和可靠性。