基于混合分布注意力机制与混合神经网络的语音情绪识别方法*

2022-12-22 11:31陈巧红于泽源贾宇波
计算机工程与科学 2022年12期
关键词:注意力语音卷积

陈巧红,于泽源,贾宇波

(浙江理工大学信息学院,浙江 杭州 310018)

1 引言

近年来人工智能取得了巨大的进步,但人类还远不能与机器无障碍地互动,部分原因是机器无法理解人的情绪状态,而语音情绪识别就是对语音信号中包含的情绪状态进行判断,其中如何提取有效的情绪特征是一个值得探索的问题[1]。与语音识别相比,情绪识别方面的特征参数研究相对较少。以往的研究大多是根据基础常规声学特征,例如音高、韵律等作为输入并生成段级情绪状态概率分布。语音情绪识别的目的是从低层特征识别出话语的高级情绪状态,也可以作为一个序列的分类问题。为了有效地进行情绪分类,Bitouk等[2]在英文情绪数据集和柏林EMO-DB情绪数据库上,从辅音和元音中提取出基础的梅尔频率倒谱系数MFCC(Mel Frequency Cepstral Coefficents)。Wu等[3]利用支持向量机SVM(Support Vector Machine)计算制谱特征和韵律特征,在特征方面通过控制错误通过率,再通过预加重、滤波器组等处理,最终提取出三角洲和双三角洲特征,计算出13维的MFCC特征。

在语音情绪特征提取相关研究日益成熟时,应用在语音情绪识别上的模型也在不断更新。Mower等[4]利用支持向量机SVM对低阶声学特征进行计算,然后将得到的语音信号的全局统计特征进行分类。其他一些分类器虽然也被陆续用于语音情绪识别[5],但大多需要人工特征选择经验。在这项研究中,Yamagishi等[6]将常规声学特征作为输入并生成段级情绪状态概率分布,并以此为基础生成言语级特征来确定语言层面的情绪状态。除了传统机器学习方法以外,深度学习的衍生也对语音情绪识别提供了新的思路。例如,深度神经网络DNN(Deep Neural Network)因为有了足够的训练数据和合适的训练策略,在许多机器学习任务中表现得很好[7]。Zhang等[8]使用循环神经网络RNN(Recurrent Neural Network)作为声学模型,获得了更高的识别精度。但是,梯度消失和梯度爆炸问题降低了RNN学习时间依赖性的能力。为了解决这些问题,Zhao等[9]引入了长短时记忆网络LSTM(Long Short-Term Memory)作为语音情绪识别模型,LSTM对静态数据表现敏感,因此出现了针对语音数据的目标延迟,成为了声学领域建模的首选。在此基础上,Zhang等[10]提出了一种在2个方向上处理输入序列以做出决定的特殊体系结构,即双向长短时记忆网络BLSTM(Bidirectional Long Short-Term Memory),可以更好地捕捉双向情绪依赖,更具有鲁棒性。考虑到仅使用一种神经网络提取到的深层特征不够充分,Huang等[11]提出将卷积神经网络CNN(Convolutional Neural Network)与BLSTM进行融合,首先利用CNN提取局部显著特征,再利用BLSTM提取语音信号的上下文特征,最后对训练好的特征进行拼接合并。实验结果表明,混合神经网络模型可以更好地完成语音情绪识别。

本文提出的用于语音情绪识别的深层混合方法,能够解决语音情绪识别准确率较低的问题。在分析了输入特征集和CNN体系结构之后,考虑到BLSTM可对上下文信息提取更充分的特性,本文提出了一个基于CNN-BLSTM模型和混合分布注意力机制结构的模型作为解决方法,其中混合分布注意力机制是改进的多头注意力机制。该方法首先由CNN和BLSTM在2个通道上分别提取语音特征;然后,将2个模型提取到的特征输入到混合分布注意力机制中进行融合,分割计算后再进行拼接;最后,输出到全连接层进行分类识别。

2 混合神经网络与混合分布注意力机制

语音情绪识别中情绪种类较多,且有些情绪特征比较接近,难以区分,同时考虑到语音信号的上下文信息关联,本文构建了一个基于混合分布多头注意力机制与混合神经网络的方法进行语音情绪识别,识别步骤如下:

(1)对语音数据集进行整理,将可用数据输入模型中。

(2)对语音进行加窗、分帧等预处理操作后,从语音中提取出梅尔频谱图作为特征向量。

(3)将频谱图输入到CNN中,由CNN在数据空间进行特征提取。

(4)在CNN处理的同时将频谱图也输入到双向长短时记忆网络BLSTM(Bidirectional Long Short-term Memory)中;特征参数经过双向LSTM处理后,得到正向LSTM层与反向LSTM层的输出,将2个输出向量进行拼接,得到一个新的特征参数向量。

(5)将上述2个模型输出的特征向量输入到混合多头注意力机制中,首先将2个模型的特征融合计算生成权重,并且保留BLSTM的输出特征向量;接着对权重做混合分布处理并进行归一化;然后将BLSTM的输出向量与混合分布得到的权重计算出最终的特征表示,再拼接生成一个完整的注意力特征。

(6)最后将结果输出到全连接层,分类识别后输出分类标签并获得识别正确率。

基于混合分布注意力机制与混合神经网络的语音情绪识别流程如图1所示。

Figure 1 Speech emotion recognition process using mixed distributed attention mechanism and hybrid neural network

2.1 语音信号频谱图

常用的语音情绪识别特征为韵律、音素等基础语音特征,但这些特征局限性较大,尤其在多情绪分类中没有明显的情绪差别。考虑到语音的产生过程,本文选择了根据人类声道模型建立的特征参数:梅尔频率倒谱系数的频谱图作为语音情绪特征。

本文使用librosa提取梅尔频谱图,提取步骤如下所示:

(1)将语音信号进行预加重处理,增强高频信号,再进行分帧处理。

(2)对分帧后的信号添加汉明窗处理,增加语音信号的连续性,以参数a来控制汉明窗的大小,具体计算方式如式(1)所示:

(1)

其中,M∈[0,N-1],a设置为0.46,N为帧的大小。

(3)逐帧进行傅立叶变换,对绝对值取平方后生成语音信号频谱,具体计算如式(2)所示:

(2)

其中,x(M)为输入的语音信号,k∈[0,N],k为傅里叶变换的点数。

通过上述步骤后,得到语音信号各帧的梅尔频谱图,梅尔频谱图中包含着语音的空间特征、频率能量等信息。

2.2 卷积神经网络

本文使用CNN提取梅尔频谱图的空间特征。CNN层与层之间的连接权值可以共享,其中最主要的2个部分是卷积层和池化层,卷积层中的每一个输入都是由n幅二维特征图组成的三维数组,该阶段的输出也是一个由m幅二维特征图构成的三维数组,具体对应关系如式(3)所示:

(3)

其中,xi表示输入特征,y表示输出特征。w表示输入xi与输出y之间的权值,b为偏移量。

Figure 2 Model structure of CNN

卷积层将计算后的结果输入到池化层中,池化层将卷积层输出的特征维度进行缩小,以减少特征量。在卷积层和池化层后,由全连接层将特征进行整合。本文采用的CNN模型结构如图2所示,包括2个卷积层、2个池化层、1个全连接层和1个Dropout层。

该网络的具体实现为:

(1)卷积层1:32个5×5卷积核。

(2)池化层1:大小为2×2。

(3)卷积层2:采用64个5×5卷积核。

(4)池化层2:大小为2×2。

Figure 3 Speech emotion recognition process using BLSTM

(5)全连接层:大小为1*1024。

(6)Dropout层:dropout参数值设为0.5。

2.3 双向长短时记忆网络

LSTM是一种时间递归神经网络,能选择性地记忆历史信息[12]。LSTM的结构由3种门控单元构成,分别为遗忘门、输入门和输出门。将上一时刻的状态输入门控单元,得到当前时刻的状态。计算公式如式(4)~式(9)所示:

Ft=σ(Wf[at-1,xt,ct-1]+bf)

(4)

Ut=σ(Wu[at-1,xt,ct-1]+bu)

(5)

Ot=σ(Wo[at-1,xt]+bo)

(6)

(7)

(8)

ht=tanh(ct)×Ot

(9)

这种计算方式的局限在于每一次计算都无法得到上下文的关联信息。针对上述问题,本文使用BLSTM进行上下文信息的提取。BLSTM由输入层、前向传递层、后向传递层和输出层构成。通过前向传递层和后向传递层,可以从2个相反方向更全面地去提取上下文中所包含的特征信息,基于BLSTM的语音情绪识别流程如图3所示。

(10)

BLSTM层通过正向LSTM和反向LSTM获取全局的上下文信息,然后输入到多头注意力机制模块中。

2.4 混合分布注意力机制

本文在 CNN-BLSTM的双通道编码框架下,由CNN提取语音数据的空间特征,同时使用BLSTM从编码向量中解码出语音的时序特征矩阵,但因为生成特征较多,在分类识别时无法最大化利用有效特征。因此,本文在CNN-BLSTM的双通道模型后添加了注意力机制模块,以增加有效特征权重,增强模型表达能力。

多头注意力机制通过将Q、K和V分别用n个不同的矩阵投影n次,再分别计算n次单一注意力,最后对结果进行拼接。其中,Q、K和V都源于输入特征本身,Q和K由输入特征得到,用来计算注意力权重的特征向量,V表示单个输入特征的向量,再根据注意力权重加权计算。多个注意力计算本身也会增加模型的表达能力,但是在实际语音情绪识别中,多头注意力机制将Q和K分别投影到低维时,假设特征维度为d,序列长度为l,投影后的注意力计算结果总的参数量为2ld/n,而此时Q和K2个向量的联合分布构成的随机向量总值为l2,当n较大时,总参数量很难逼近总值,就会造成一种低秩瓶颈,影响模型表达。为了解决上述问题,本文对Q和K进行融合计算后,将每一个多头注意力计算方式改进为混合分布计算,即使用每个头带有的低秩分布与相似性进行计算,将原本孤立的注意力联系起来。传统多头注意力机制及其改进分别如图4和图5所示。

Figure 4 Traditional multi-head attention mechanism

Figure 5 Mixed distributed attention mechanism

其中,图4和图5中的Ci表示CNN在最后一层输出的特征向量,yi表示BLSTM的输出向量。本文首先根据2个模型的输出计算相似性,如式(11)所示:

φ(yi,C)=tanh(yi·W·CT+b)

(11)

其中,W为权值矩阵,b为训练学习时得到的偏置项。考虑到低秩分布问题,将每一个头带有的低秩分布作为参数矩阵λ,并将此参数矩阵与2个模型的相似性结果进行叠加计算,如式(12)所示:

(12)

通过混合分布计算得到的权重,再利用softmax进行归一化处理,得到对应权重Ai,最后将BLSTM的输出向量与对应权重Ai计算得到最终的特征表示Pi,如式(13)和式(14)所示:

(13)

(14)

混合分布多头注意力机制通过CNN和BLSTM输出得到的语音信号的隐藏层结构作为注意力层的输入,通过分割计算,并将每个头带有的低秩分布与相似性进行混合分布计算,使其在不减少头数量的情况下,逼近与Q和K二元联合分布的总值,增加模型的表达能力,再进行归一化操作并计算得到不同的特征表示Pi,最后进行拼接得到注意力表示。

3 实验与结果分析

3.1 实验数据

语音情绪识别的准确率与语音情绪数据库的质量息息相关。本文为了有效地验证基于混合分布注意力机制与混合神经网络的语音情绪识别方法的有效性,选用了柏林德语数据集EMO-DB和北美数据集IEMOCAP进行实验。

EMO-DB数据集是语音情绪识别中常用的数据库,共535句情绪语句,包括中性、生气、害怕、高兴、悲伤、厌恶和无聊7种情绪,采样率为48 kHz,16 bit量化[13]。本文采用10折交叉验证来进行实验。

IEMOCAP具有多种情绪类别,但为了与现有研究保持一致和便于对比,本文采用目前该数据集中最常用的4类情绪类别,分别为高兴、悲伤、中立和愤怒,采样率为48 kHz,16 bit量化[14],4类情绪语音分布情况如表1所示。该数据集包含5个会话,其中4个会话的数据用于训练模型,第5个会话的数据用于测试。本文对IEMOCAP数据集采取5折交叉验证。

Table 1 Distribution of 4 kinds of emotions in IEMOCAP dataset

3.2 实验结果对比

本文实验在TensorFlow深度学习框架上完成。在特征提取时统一转换语音信号为16 kHz,使用16 bit量化语音信号,将预加重的阈值设为0.97,将每一帧长度设定为256个采样点。BLSTM网络隐藏层单元个数设为128,考虑到数据批量值和学习率对准确率的影响,将批大小初始值设为64,初始学习率设为0.001。为了验证本文方法的有效性,分别在2个数据集上进行测试,并与当前主流的语音情绪识别算法进行比较。本文挑选了几个近年来在EMO-DB数据集上实验效果较好的方法进行比较,评价指标包括加权准确率WA(Weighted Accuracy)和未加权准确率UA(Unweighted Accuracy)。DNN-RE[15]和DNN-KELM[16]为基于DNN创新组合后的新方法,其中DNN-RE为基于DNN和向量重建误差RE(Reconstruction Error)融合方法,DNN-KELM为DNN和极限学习机KELM(Kernel Based Extreme Learning Machine)融合方法;Attention-RCNN-RNN[17]将通过残差卷积神经网络RCNN(Resnet Convolution Neural Network)提取的特征输入到BLSTM中,再通过注意力机制进行识别;CNN-KELM[16]利用CNN提取声学特征,采用极限学习机识别语音情绪;CNN-BLSTM[11]将卷积神经网络与双向长短时记忆网络进行3个通道的特征融合,特征融合后再进行识别。在EMO-DB数据集上的实验结果如表2所示。

Table 2 Experimental results on EMO-DB dataset

从表2可以看出,在EMO-DB数据集上本文提出的方法效果优于其他方法,在WA和UA上都有一定的提升。

为进一步验证本文方法的有效性,在IEMOCAP数据集上再次进行对比实验。CNN-KELM、RNN-Attention[18]、Attention-LSTM-Attention[19]、FCN-LSTM-Attention[20]和Attention-RCNN-RNN为近年来在IEMOCAP数据集上效果较好的方法,并且都是基于卷积神经网络或循环神经网络的语音情绪识别创新方法。其中Attention-LSTM-Attention为双累加注意力机制,在LSTM模型前后分别添加注意力机制模块,增强模型特征表示;FCN-LSTM-Attention对卷积神经网络进行改进,将基于注意力的完全卷积神经网络FCN(Fully Connected Neural Network)与LSTM模型混合,从而进行语音情绪识别。实验结果如表3所示。

Table 3 Experimental results on IEMOCAP dataset

从表3可以看出,本文方法在WA上高于其他方法,但在UA上略低于Attention-CNN-RNN方法。

从2个数据集上的实验结果可以得出:本文方法与Attention-CNN-RNN对比,虽然在IEMOCAP数据集上的识别效果稍差,但在EMO-DB数据集上效果更好;与其他方法的结果相比,本文方法的整体效果高于其他方法。表明本文方法在语音情绪识别上有着更好的识别率和较高的准确率。

3.3 消融实验结果对比

为证明本文提出的混合分布注意力机制在语音情绪识别上具有更好的识别效果,设置了3种消融实验进行对比:

(1)使用CNN-BLSTM进行双通道特征提取,将提取出的特征输出到单一注意力机制模块中进行计算,最后进行分类识别。

(2)使用CNN-BLSTM进行双通道特征提取,将提取出的特征输出到传统多头注意力机制模块中计算注意力,对计算出的结果进行拼接后进行分类识别。

(3)同样使用CNN-BLSTM进行双通道特征提取,在保证2个神经网络参数完全一致的情况下,将提取出的特征输出到混合分布注意力机制模块中计算注意力,同时保证与消融实验(2)中的多头注意力机制头数量一致。

分别在EMO-DB和IEMOCAP 2个数据集上进行实验,采用WA作为评价标准,实验结果如表4所示。

Table 4 Comparison of ablation tests

从表4可以看出,基于CNN-BLSTM-多头注意力机制的方法在2个数据集上的实验结果优于CNN-BLSTM-注意力机制的实验结果,表明多个头可以增强模型的表达能力;基于CNN-BLSTM-混合分布注意力机制的方法在2个数据集上的识别准确率高于CNN-BLSTM-多头注意力机制的,验证了在模型输入条件和注意力机制的头数量相同的情况下,混合分布注意力机制对分布拟合能力更强,识别准确率更高,表明本文方法在语音情绪识别上的识别效果更好。

为了更直观地展现混合分布注意力对多头注意力机制的改进效果,设计不同的头数量分别基于本文提出的混合神经网络-混合分布注意力模型和混合神经网络-多头注意力模型进行实验,以WA为评价指标,实验结果如图6所示。

Figure 6 Comparison of experimental results based on different numbers of heads

由图6可知,在EMO-DB数据集上,混合神经网络-多头注意力在头数量为8时准确率达到92.31%,头数量增大时,准确率逐渐减小,表明多头注意力在头数量过大时无法逼近参数总量,出现了上文所说的低秩瓶颈。而本文方法在头数量为8时准确率为92.93%,高于多头注意力机制;当头数量继续增大时准确率持续提升,在头数量为32时准确率达到了93.79%,比多头注意力模型高2.65%,表明混合分布注意力机制在消除低秩问题后,可以有效利用多个注意力增强模型表达能力。在IEMOCAP数据集上,多头注意力模型在头数量为32时准确率开始减小,同样出现了低秩瓶颈。而本文模型在头数量为32时,准确率达到69.80%,比多头注意力模型的高1%左右,表明在IEMOCAP数据集上混合分布注意力机制依然可以取得更好的识别效果。上述实验更细致地证明了混合分布注意力机制能够解决低秩瓶颈问题,增强多头注意力机制表达能力,充分验证了本文模型的有效性。

3.4 噪声鲁棒性实验

为验证本文提出的语音情绪识别方法的鲁棒性,对EMO-DB数据集添加噪声处理。NOISEX-92数据集是公开的噪声语音集,其中包括白噪声、汽车噪声和工厂噪声。本文将EMO-DB数据集与上述3种噪声按照-6 dB、-3 dB的信噪比进行混合,得到不同信噪比下的混合噪声语音信号,在此语音信号上进行噪声鲁棒性实验。对比实验采用CNN、CNN-BLSTM和CNN-BLSTM-多头注意力与本文方法进行对比,采用WA作为评价标准,实验结果如表5所示。

由表5和表4进行对比可以得出:(1)在信噪比为-3 dB时,各方法的准确率较纯净EMO-DB数据集相比均有下降,表明噪声对模型识别造成了一定影响。但是,本文提出的CNN-BLSTM-混合分布注意力机制方法与其他方法相比,准确率依然最高,表明了本文方法在噪声环境下依然优于其它方法。其中,CNN模型准确率最低,表明了单一模型在噪声环境下受到的影响较大。(2)当信噪比为-6 dB时,各类方法的准确率较信噪比为-3 dB时的降低了9.14%~13.04%。其中,本文方法在对比中准确率下降最小,表明混合分布注意力机制在噪声环境下依然可以关注到重要性较高的特征,可提高模型的表达能力。通过噪声实验对比可知,本文提出的基于混合分布注意力机制与CNN-BLSTM融合的语音情绪识别方法具有更好的鲁棒性。

Table 5 Comparison of WA of noise tests

4 结束语

语音情绪识别是一个值得研究的课题,由于情绪自身的诸多表现也使情绪信息的识别富有挑战性。本文提出了一种基于混合分布注意力机制与CNN-BLSTM融合的语音情绪识别方法,从CNN-BLSTM的2个通道上提取语音特征,将CNN和BLSTM的输出作为混合分布注意力机制模块的输入,混合分布注意力机制模块在计算2种神经网络输出的特征相似性后,将低秩分布与相似性做混合分布计算,计算后进行归一化并求出最终的特征表示,最后输入到全连接层中进行分类输出。实验结果表明,混合分布注意力机制与CNN-BLSTM模型识别效果高于现有的深度学习模型,表明了本文方法的有效性和可行性。同时,考虑到人机交互的发展,如何更好地提取不同情绪的特征参数,提高语音情绪的识别率,使情绪识别更精准、更可靠地应用在日常生活中也具有很重要的现实意义。

猜你喜欢
注意力语音卷积
让注意力“飞”回来
基于3D-Winograd的快速卷积算法设计及FPGA实现
卷积神经网络的分析与设计
魔力语音
基于MATLAB的语音信号处理
从滤波器理解卷积
基于MQ3与MP3的价廉物美的酒驾语音提醒器
对方正在输入……
基于傅里叶域卷积表示的目标跟踪算法
“扬眼”APP:让注意力“变现”