姚增伟,刘炜煌,王梓豪,刘雅倩,潘家辉
(华南师范大学软件学院, 广东 南海 528225)
自从“情感计算”的概念被提出以来,计算机情感计算领域引起了国内外许多研究者的关注。情感识别是情感计算的关键环节。语音信号中包含了说话者丰富的情感信息,是传递信息最方便直接的途径。同一个人对同一句话用不同的情感表达时,其传递信息有所不同。为了让计算机更好理解人的情感,语音情感识别有很大必要性。语音情感识别在人机交互领域应用越来越广泛,例如人工客服、汽车驾驶、远程教育和医学辅助等[1]。
目前,国内外的传统语音情感识别在情感描述模型的引入、情感语音库的构建、情感特征分析等领域的都得到了很大程度的发展[2]。传统的语音情感识别技术建立在情感声学特征的基础上,语音情感特征的提取与识别准确率有很大关系。常用的情感声学特征包括以基频、短时能量、短时过零率为主的韵律特征和以梅尔频率倒谱系数为主的频谱特征,基于此类高层语音特征的情感识别技术在特定人语音情感识别中取得了一定的效果[3-6]。然而,由于不同人之间的情感表达存在较大差异[7-8]以及大型情感语料库的缺乏,基于非特定人的语音情感识别仍然面临巨大挑战。
近年来,深度神经网络(Deep Neural Networks,DNN)已经在语音识别领域取得很大突破,并且在大型词汇连续语音识别任务(LVCSR)方面与最新的高斯混合模型/隐马尔可夫模型(GMM /HMM)系统相比取得的效果更好[9-11]。卷积神经网络(Convolutional Neural Network,CNN)不仅在图像识别方面表现优异,在语音识别方面也能取得成功。同DNN相比较,CNN的局部感知可以有效利用频谱特征的局部结构信息进行建模,采用了权值共享和池化技术,具有更强的广泛性和鲁棒性[12]。例如,Ossama Abdel-Hamid等人在传统DNN的基础上添加了CNN,在TIMIT语音库进行实验,与只使用传统DNN的方法相比较,识别错误率在其基础上降低了10%以上[13]。长短时记忆神经网络(Long Short Term Memory Network,LSTM)在声学方面体现了强大的建模能力。Hasim Sak等人通过实验证明,LSTM相比较于DNN和传统循环神经网络,更适合对大规模语音进行声学建模[14]。TN Sainath等人提出一种结合CNN、LSTM的应用于语音识别任务的神经网络模型“CLDNN”,一方面,CNN能够降低频域方向的维度,另一方面,LSTM能够学习信号长时依赖,有效提取时域信息[15]。
CNN和LSTM已经被成功应用到语音情感识别领域中。CNN可以从低层特征中学习提取相应的情感特征,并且取得比现有的基于高层特征的模型更高的效果。例如,以原生语音信号作为输入的基于1维卷积神经网络(1D-CNN)的端到端语音情感识别方法[16]和以语音信号频谱图作为输入的分别基于利用2维卷积(2D-CNN)和3维卷积(3D-CNN)提取情感特征的方法[17-18]。利用LSTM在时域上的建模能力,学习提取语音信号上下文信息特征,基于LSTM的实时语音情感识别方法也被提出[19]。
本文提出一种基于CNN和LSTM的语音情感识别算法,算法流程如图1,应用在非特定人的语音情感识别中。算法通过提取语音信号的梅尔频域特征作为输入,利用CNN和LSTM提取频域和时域特征,实现语音情感分类。
图 1算法流程Fig. 1 Algorithm flow
传统的语音情感识别技术建立在高层语音特征的基础上,但是高层语音特征丢失了大量的原始信息。利用深度学习方法可以从低层语音特征中提取相关的情感特征,因此,在本文提出的情感识别算法中,以语音信号的梅尔频谱特征代替高层特征。算法中语音信号预处理过程如下:
1)对语音信号重采样,采样率为16000 Hz;
2)对语音信号进行分帧处理,为保证帧与帧之间的平滑过渡,对语音交叠分帧,帧长为512点,帧叠为256点,加汉明窗,得到单帧的短时信号x(n);
3)对每帧信号进行快速傅里叶变换(FFT),得到频域数据X(i,k),如公式(1);
4)求功率谱E(i,k),如公式(2);
5)计算功率谱在一组梅尔滤波器(40个)中的能量,并将得到的结果取对数,即得到梅尔频谱特征。
本文的语音信号处理使用基于python语言实现的librosa语音信号处理库。经过预处理过程得到低层语音特征,即梅尔频谱特征作为神经网络的输入,使得语音信号中大量的原始信息得以保留。算法以连续的30个时间步作为一个样本输入,每个时间步包括连续10帧的语音信号。
CNN由卷积层和池化层组成,具有局部感知、权值共享和池化的特征。卷积层中包含若干个滤波器,当使用梅尔频谱特征作为模型输入,每个滤波器作用于整一张梅尔频谱图,共享相同的权重和偏置,通过卷积操作提取局部特征,卷积结果为特征图输出。
算法利用2D-CNN对单一时间步的语音信号梅尔频谱特征进行特征提取,过程如图2所示。算法使用3个2维卷积层(Conv2D)层,每个卷积层的滤波器个数均为32,为了提高模型性能,滤波器形状均为矩形[17],大小为(2,3)。在第二个和第三个卷积层后都接着2维池化层(MaxPooling2D),大小分别为(2,2)和(1,2)。2D-CNN作用在连续10帧语音信号上,不仅可以提取频域方向特征,还可以提取短时域方向的特征。
图 2单个时间步2D卷积特征提取Fig. 2 Conv2D feature extraction of each time step
LSTM的核心是细胞状态,其独特的门控机制控制信息的选择性通过进而控制细胞状态的改变。LSTM记忆单元结构如图3,包括三个门控单元,即遗忘门、输入门和输出门。记忆单元结构中相关公式如式 (4)~(8):
其中,ft为遗忘门信号,gt为输入门信号,st为细胞状态,qt为输出门控制信号,ht为细胞输出,xt为输入信号;bf、bg、bs和bq为偏置;为Wfx、Wgx、Wsx和Wqx为与连接权重;Wfh、Wgh、Wsh和为与ht−1连接权重。
将每个时间步的语音信号经过卷积神经网络的特征提取操作后,把每个时间步的特征数据一维化,得到的数据维度为(30,768),30为时间步个数,768为每个时间步一维化后的特征大小。算法使用2个LSTM层,每层的记忆单元个数均为256。以每个时间步一维化后的特征数据作为LSTM的输入,第一个LSTM层返回其全部输出序列,维度为(30,256)。第二个LSTM层则返回其输出序列的最后一步结果,维度为256。通过两个LSTM层,可以学习语音信号上下文信息,提取长时域特征。
图 3 LSTM记忆单元Fig. 3 Memory unit
本文提出的算法的情感分类结果包括“生气”、“高兴”、“中性”和“悲伤”,语音情感分类神经网络结构如图4所示,神经网络模型使用基于tensorflow的keras框架实现,利用框架中的时间步包装器将CNN的特征提取操作应用到输入的每个时间步的梅尔频谱特征上,再利用LSTM对所有时间步进行长时域建模,以此得到维度为256的特征数据。为了对提取到的频域和时域特征进行更好的处理,以更适合分类[20],在LSTM后接着一个神经元个数为128的全连接层,在全连接层后接一个Dropout层(ratio=0.2)避免过拟合[21]。然后,将全连接层的输出经过Softmax层得到情感分类结果。
为了避免过拟合,在训练过程使用了早停机制[22],最大迭代次数为100,若连续3次迭代的验证集准确率不上升,则停止训练。为了体现算法应用于非特定人环境下,使用来自不同人的三个情感语音数据集分别作为模型训练集、验证集和测试集。
图 4情感分类神经网络Fig. 4 Emotion classification neural network
本文使用的语音情感语料库为IEMOCAP[23],该语料库由十个演员录制而成,包括五个小节,每个小节的语音分别来自一个男性和一个女性,总时长为12小时。本文选取标签为“生气”、“高兴”、“中性”和“悲伤” (将“兴奋”类别归到“高兴”类别中)的语音进行实验。
参考文献[24]的实验策略,每次实验使用其中四个小节作为训练集,使用剩余一个小节中一个人的语音作为验证集,另一个人作为测试集,以此类推重复十次实验。本文使用十次实验中四情感预测准确率的平均值作为对应情感的最终预测准确率,使用十次实验的平均加权准确率(即先求得十次次实验得到的四种情感预测准确率的加权平均值,再求所得加权平均值的平均值)作为情感预测性能衡量标准。
除了对本文提出的算法进行实验“2D-CNN-LSTM”外,还包括以下对比实验,所有实验均以300帧语音信号的梅尔频谱特征作为输入:
1) 为了研究在将语音信号梅尔频谱特征输入到LSTM进行时域建模之前,先经过CNN进行特征提取操作对情感分类准确率的 影响,设置实验“LSTM”进行对比,该实验直接梅尔频谱特征作为LSTM的输入;
2) 为验证在结合CNN与LSTM的方法中,在CNN部分使用2D-CNN是否能比使用1D-CNN取得更好的预测结果,设置实验“1D-CNN-LSTM”进行对比。实验将本文算法中的2D-CNN替换为1D-CNN,卷积层滤波器大小为3,池化尺寸为2,将输入数据划分为300个时间步,即每个时间步为1帧,在每个时间步内使用1D-CNN提取频域特征。
3) 为了探索最适合2D-CNN-LSTM的LSTM层数,分别将LSTM层数改为1和3以学习不同层次的时域特征,进行实验“2D-CNN-LSTM1”和“2D-CNN-LSTM3”。
经过实验所得平均加权准确率如表格1所示。
表1 实验准确率Tab. 1 Experimental accuracy
LSTM比普通循环神经网络更易于学习信号的长期依赖关系,避免了普通循环神经中的梯度消失问题[25],适合于对复杂多变的语音时序信号进行建模。由实验结果可以得知,单独使用LSTM的方法在对四种情感的分类任务中,取得了48.7%的情感预测准确率。相比较于DNN和GMM,CNN具有类内收敛和类间发散的特点,在语音建模中具有更优的性能和鲁棒性。在卷积过程中,卷积层可以对输入语音信号降低噪声维度上的差异,池化层可以解决由于非特定人发生习惯差异造成的信号差异的问题[26]。实验中,结合了CNN与LSTM的方法的情感预测性能均高于单独使用LSTM的方法,表明将语音信号输入到LSTM进行时域建模之前先经过CNN进行特征提取可以提高预测性能。在结合CNN与LSTM的方法中,使用2D-CNN的方法比使用1D-CNN的方法高出2.9%的准确率,表明在使用卷积神经网络进行特征提取时,同时对短时域与频域特征提取比只对频域特征提取可以取得更好的效果。另外,增加LSTM层数可以提取更高层次的时域特征,使用多层LSTM的预测结果优于只使用1层LSTM,,预测性能有所提升。3层LSTM比2层LSTM提高了0.1%的准确率,但同时增加了系统计算量。
如表格2,本文的算法即“2D-CNN-LSTM”的与使用相同语料库和相同实验策略的文献[24]实验结果相比较,对于标签为“生气”、“高兴”的预测准确率高于该文献,标签为“中性”、“悲伤”的预测准确率则低于该文献,但平均加权准确率比其提升了1.3%,证明本文提出的算法的有效性。
表2 与其他文献比较Tab. 2 Compared with other literature
经过实验证明,本文提出的算法对非特定人的语音情感具有较好的识别性能。算法结合了CNN和LSTM,利用CNN对语音信号进行短时域特征和频域特征的提取,利用LSTM进行长时域特征的提取,可以在低层语音特征中学习提取情感特征,实现语音情感分类。
[1] YI Z, LIU C L, TAN T N. Retrospect and Outlook of Brain-Inspired Intelligence Research[J]. Chinese Journal of Computers, 2016, 39(1).
[2] 韩文静,李海峰,阮华斌,等.语音情感识别研究进展综述.软件学报,2014,25(1):37-50. Han WJ, Li HF, Ruan HB, Ma L. Review on speech emotion recognition. Ruan Jian Xue Bao/Journal of Software, 2014,25(1):37−50.
[3] EYBEN F. Opensmile: the munich versatile and fast open-source audio feature extractor[C]//ACM International Conference on Multimedia.ACM, 2010:1459-1462.
[4] SCHULLER B, Valstar M, EYBEN F, et al. AVEC 2011–The First International Audio/Visual Emotion Challenge[C]//International Conference on Affective Computing and Intelligent Interaction. Springer-Verlag, 2011:415-424.
[5] VALSTAR M, COWIE R, PANTIC M. AVEC 2012: the continuous audio/visual emotion challenge - an introduction[C]//ACM International Conference on Multimodal Interaction. ACM, 2012:361-362.
[6] DAHAKE P P, SHAW K, MALATHI P. Speaker dependent speech emotion recognition using MFCC and Support Vector Machine[C]//International Conference on Automatic Control and Dynamic Optimization Techniques. IEEE, 2017:1080-1084.
[7] MILL A, ALLIK J, REALO A, et al. Age-related differences in emotion recognition ability: A cross-sectional study[J]. Emotion, 2009,9(5):619-630.
[8] VOGT T, ANDRE E. Improving automatic emotion recognition from speech via gender differentiation[C]// 2006.
[9] MOHAMED A, DAHL G E, HINTON G. Acoustic Modeling Using Deep Belief Networks[J]. IEEE Transactions on Audio Speech & Language Processing, 2011, 20(1):14-22.
[10] MORGAN N. Deep and Wide: Multiple Layers in Automatic Speech Recognition[J]. IEEE Transactions on Audio Speech & Language Processing, 2012, 20(1):7-13.
[11] HINTON G, DENG L, YU D, et al. Deep Neural Networks for Acoustic Modeling in Speech Recognition: The Shared Views of Four Research Groups[J]. IEEE Signal Processing Magazine, 2012, 29(6):82-97.
[12] ABDEL-HAMID O, DENG L, YU D. Exploring Convolutional Neural Network Structures and Optimization Techniques for Speech Recognition[C]// Interspeech, 2013:3366-3370.
[13] AEDEL-HAMID O, MOHAMED A R, JIANG H, et al. Applying Convolutional Neural Networks concepts to hybrid NN-HMM model for speech recognition[C]//IEEE International Conference on Acoustics, Speech and Signal Processing. IEEE, 2012:4277-4280.
[14] SAK H, SENIOR A, BEAUFAYS F. Long short-term memory recurrent neural network architectures for large scale acoustic modeling[J].Computer Science, 2014:338-342.
[15] SAINATH T N, VINYALS O, Senior A, et al. Convolutional, Long Short-Term Memory, fully connected Deep Neural Networks[C]//IEEE International Conference on Acoustics, Speech and Signal Processing. IEEE, 2015:4580-4584.
[16] Trigeorgis G, Ringeval F, Brueckner R, et al. Adieu features? End-to-end speech emotion recognition using a deep convolutional recurrent network[C]// IEEE International Conference on Acoustics, Speech and Signal Processing. IEEE, 2016.
[17] BADSHAH A M, RAHIM N, ULLAH N, et al. Deep features-based speech emotion recognition for smart affective services[J]. Multimedia Tools & Applications, 2017(3):1-19.
[18] KIM J, TRUONG K P, ENGLEBIENNE G, et al. Learning spectro-temporal features with 3D CNNs for speech emotion recognition[J]. 2017.
[19] EYBEN F, WÖLLMER M, GRAVES A, et al. On-line emotion recognition in a 3-D activation-valence-time continuum using acoustic and linguistic cues[J]. Journal on Multimodal User Interfaces, 2010, 3(1-2):7-19.
[20] MOHAMED A R, HINTON G, PENN G. Understanding how Deep Belief Networks perform acoustic modelling[C]//IEEE International Conference on Acoustics, Speech and Signal Processing. IEEE, 2012:4273-4276.
[21] SRIVASTAVA N, HINTON G, KRIZHEVSKY A, et al. Dropout: a simple way to prevent neural networks from overfitting[J]. Journal of Machine Learning Research, 2014, 15(1):1929-1958.
[22] PRECHELT L. Automatic early stopping using cross validation: quantifying the criteria[J]. Neural Networks the Official Journal of the International Neural Network Society, 1998, 11(4):761-767.
[23] BUSSO C, BULUT M, LEE C C, et al. IEMOCAP: interactive emotional dyadic motion capture database[J]. Language Resources & Evaluation, 2008, 42(4):335.
[24] GHOSH S, LAKSANA E, Morency L P, et al. Representation Learning for Speech Emotion Recognition[C]// Interspeech. 2016:3603-3607.
[25] JOZEFOWICZ R, ZAREMBA W, SUTSKEVER I. An empirical exploration of recurrent network architectures[C]//International Conference on International Conference on Machine Learning. JMLR.org, 2015:2342-2350.
[26] Mao Q, Dong M, Huang Z, et al. Learning Salient Features for Speech Emotion Recognition Using Convolutional Neural Networks[J]. IEEE Transactions on Multimedia, 2014, 16(8):2203-2213.