邵兵 杜鹏飞
摘 要:语音是人与人之间最直接、最自然的交互途径,也是人机交互的重要方式。在人工智能领域,对语音的情感识别和理解至关重要,而一般的语音识别系统在实现语音转文字时往往损失了很多的语音情感信息。该文介绍一种利用卷积神经网络进行语音情感识别的方法。论文首先从心理学与人工智能的角度讨论了情感计算的框架和语音情感识别的方法,然后介绍了语音的关键特征提取和归一化问题,通过40组滤波器来提取每一帧音频的数据,之后通过构建卷积神经网络,对输入的音频特征进行逐层训练,通过特征的逐层表达实现高层显著特征的凸显,最终产生语音情感分类的模型,最后通过一定的数据集,对分类模型进行验证。
关键词:卷积神经网络 语音情感识别 语音特征提取 情感计算
中图分类号:TN912.34;TP183 文献标识码:A 文章编号:1674-098X(2016)02(c)-0087-04
1 情感识别框架研究
创造具备自我认知和自我意识的强人工智能一直是人工智能研究人员的终极目标。从心理学的角度来讲认知、意识和情感是紧密相连和相互作用的。(见图1)
情感是智能的本源。研究情感计算对真正强人工智能的诞生,对人类认知、意识和高等生命体本质的研究起着重要作用。但是在人工智能最开始的研究阶段,研究的重点主要是推理、语音识别、图像分类等领域。虽然有科学家提出情感对人工智能的发展重要性,但是一直没有引起足够的认识。直到1995年MIT的Picard教授才正式提出情感计算概念,研究赋予机器像人一样观察、理解和生成各种情感特征的能力。情感计算主要研究如何将人的情感进行数字化和量化。主要方向包括情感识别和表示、情感的合成、情感系统的建模等。在情感识别方面主要又包括基于生理体征,例如心率信号、皮肤电信号、脑电信号等进行的识别和基于人体表征,例如表情图片、语音进行的识别。近年来语音情感识别领域(SER, Speech Emotion Recognition)吸引了越来越多的人进行研究,而且目前大部分的自动语音识别(ASR,Automatic Speech Recognition)系统尚不能有效地识别语音的情感特性。这导致在语音与文本进行转化时造成了很大一部分信息的流失,所以研究语音情感识别问题非常重要。
语音情感识别的关键技术包括:情感库的建立、语音情感特征提取、特征降维与选择、情感识别[1]。(见图2)
该研究首先采用40组滤波器组对音频转化的频域数据进行特征提取。对训练的音频数据进行分帧截取操作。然后采用卷积神经网络,通过自稀疏编码的方式对原始数据进行逐层的特征抽取,从初级层次特性至到产生高层次的有效特征。最后对提取的高层次有效特征采用SoftMax回归分类器进行有效分类。
2 情感语音信号的特征抽取
2.1 语音情感特征概述
语音情感识别问题本质上是一个机器分类问题,对于机器分类问题,特征的选择与提取非常重要,目前来说在语音情感识别领域有效特征大体分为如下几类。
2.1.1 基于声学的特性
包括语音的基频特性、共振峰、短时能量、短时能量峰值和基频倒谱以及梅尔倒谱等特性。
2.1.2 基于文本的特性
通过ASR系统进行文本转化后,对提取的文本进行处理,提取有效词频特征信息。
2.1.3 基于声学和语言学混合特性
结合音频的声学特性和文本特性进行综合识别。
2.2 音频特征提取的主要方法
语音信号处理领域通过对原始的频谱特征进行变换产生的波形非常多。过去虽然对原始频谱进行变换丢失了不少的语音数据信息,但是产生的多种变换特征促进了语音识别和语音情感分类系统的识别率提升。比较典型的除了短时平均幅值、短时最大幅值、共振峰、基频等,被应用最多的为梅尔频率倒谱系统(MFCC)特征。梅尔频率倒谱系数将人耳的听觉感知特性和语音信号的产生机制有机结合,其通过对频谱能量谱用三角滤波变换后得到滤波器组,然后取对数,最后进行反离散余弦得到MFCC,在语音情感分类领域利用39维的MFCC系数取得了一定的突破,但是MFCC丢失了很多原始信息,而利用卷积神经网络进行学习时越原始的数据带来越好的效果。原始频域不仅保留更多的信息,而且可以使用卷积和池化(pooling)操作表达处理语音多变性。这里根据Sainath等人[2]提出的通过学习定义在能量谱上的滤波器数组参数作为输入特征。(见图3)
(1)具体处理过程如下:
(2)首先读取音频时域数据和采样率。
(3)对时域数据进行分帧处理。
(4)对分帧数据加汉明窗。
(5)进行傅立叶变换转化为频域数据。
(6)利用滤波器组进行变换每一帧得到40组梅尔滤波器组特征。
(7)进行归一化操作。
(8)对音频进行裁剪,裁剪的音频帧数为40。
3 使用卷积神经网络进行音频情感分类
3.1 卷积神经网络
人工神经网络提出于20世纪80年代,由单层感知机逐步发展为多层感知机,它从信息处理角度对人脑的神经元进行抽象。大量的节点之间相互连接,每个节点都有特定的激励函数。在早期发展阶段,由于梯度爆炸问题和计算能力有限,神经网络的发展一直停滞。2006年Hinton提出了深度置信网络(Deep Belief Network,DBN)的深度产生模式[3]。使用这种算法可以更好地初始化DNN的训练,从而开启了深度学习发展的新篇章。
卷积神经网络(Convolution Neural Network)为深度学习在目标识别和分类领域的较早应用。近年GPU计算能力增加和海量业务数据的出现,使得大规模的CNN在机器视觉和语音分类等领域得到了广泛应用。
卷积神经网络本质是一种前馈神经网络,卷积神经网络有3种结构上的特征:局部连接、权重共享以及空间或时间上的次采样。卷积神经网络的层与层之间采用局部连接,减少了计算量。
卷积神经网络的层与层之间的连接权值是共享的,比如图4中的m层与m-1层,每个m层神经元与3个m-1层的神经元进行连接,这个3个连接的权值是一样的。实际应用中,可以通过设置多种不同的滤波器来提取不同的滤波参数,从而实现提取不同的目标特征。例如对于图像而言,就是提取不同的图像边缘。在卷积神经网络中隐藏层的参数个数和隐藏层的神经元个数无关,只和滤波器大小和滤波器的种类有关系。
卷积神经网络除了局部连接和权值共享的特性,纠正线性单元(ReLU,Rectified Linear Units)激活函数也保证了实际训练中的单边抑值和稀疏特性,同时为了保证泛化特性,采用L2/L1正则化范数作为激活偏置。
3.2 具体实现
(1)输入层:输入按帧数进行裁剪的音频40×40。
(2)卷积层1:滤波器大小为3×3,共有20个滤波器,得到20个大小为36×36的特征映射。
(3)池化层1:卷积层1后面跟着子采样层。子采样层的目的是减少特征映射的神经元个数。通过池化操作,可以大大降低特征的维数,避免过拟合。最大子采样函数的定义为:
(1)
该层采用最大子采样方法,由特征映射中2×2的领域点采样为1个点,也就是4个数中最大的。最终的特征映射数目为18×18。
(4)卷积层2:滤波器大小为3×3,采用40组滤波,最终特征映射的数目为16×16。神经元的个数共有40×16×16=10240。
(5)池化层2:采用2×2的池化操作,特征映射数目为8×8。
(6)卷积层3:采用的滤波器大小为3×3,采用60组滤波器,最终特征映射的数目为6×6,神经元的个数为60×6×6。
(7)池化层3:得到特征映射数目为3×3。
(8)卷积层4:采用滤波器大小为2×2,采用80组滤波。特征映射数目为2×2。
(9)全联接层:共有80×2×2=320个神经元。
(10)输出层:通过softmax回归算法将特征映射到目标的6个分类。softmax是logistic回归的多类形态。利用softmax函数定义目标y=c的后验概率为:
(2)
对于样本(x,y),输出目标y={1,…,C}。我们用C维的one-hot向量表示输出目标。对于类别C
(3)
具体表现见图5。
4 测试与验证
验证采用CASIA汉语情感语料库。该数据库由中科院自动化所录制,由4位录音人(两男两女)在纯净录音环境下(信噪比约为35 dB)分别在5类不同情感下(高兴、悲哀、生气、惊吓、中性)对500句文本进行演绎而得到,16 kHz采样,16 bit量化。经过听辨筛选,最终保留其中9 600句。
输出结果测试:见图6。
在epoch次数为200时准确率达到81%。
参考文献
[1] 詹永照.视觉语音情感识别[M].北京:科学出版社,2013.
[2] T.Sainath,B.Kingsbury,A.Mohamed,etal.Learningfilter banks within a deep neural network framework[M].In Proceedingsof The Automatic Speech Recognition and Understanding Workshop(ASRU).2013.
[3] G.Hinton,S.Osindero,Y.Teh.A fast learning algorithm for deepbelief nets[J].Neural Computation,2006(18):1527-1554.
[4] 韩文静,李海峰,阮华斌,等.语音情感识别研究进展综述[J].软件学报,2014,25(1):37-50.