APP下载

基于Res-Transformer模型的语音情感识别方法研究

2023-06-17刘方如

物联网技术 2023年6期
关键词:编码器残差语音

刘方如,王 亮

(沈阳化工大学 计算机科学与技术学院,辽宁 沈阳 110142)

0 引 言

在语音中包含着说话人所表达的文本和情感的信息。语音情感识别(Speech Emotion Recognition,SER)在人机交互领域中是一个热点研究方向[1-2]。SER 通常是指通过机器处理,从语音信号中模拟人类感知并识别人类情感的一种技术。研究者们就SER 做了大量的研究,使得SER 在教育、医学、服务等领域发展得非常迅速。因此,积极开展SER 领域的研究具有很大的发展潜力和应用价值。

完整的语音情感识别流程包括采集语音信号、预处理、特征提取、情感识别等流程,如图1所示。

图1 语音情感识别流程

在语音情感识别中,提取的语音特征需要有效并且富有各类的情感,对于研究来说才有重要作用。其中,梅尔频率倒谱系数(Mel-Frequency Cepstral Coefficients,MFCC)是使用最为广泛的声学特征。MFCC 特征可以有效反映人耳的听觉特性。文献[3]利用MFCC 技术对快乐、悲伤和愤怒这三种情感进行测试,测试结果为80%。此外,还有许多研究者喜欢采用多种特征相互结合的方式,即融合特征进行实验的研究。

在情感识别算法方面,高斯混合模型[4]、支持向量机[5]以及K 最近邻分类器分类算法[6]等机器学习算法对于语音情感分类而言都是最基本的模型。尽管这些分类模型在语音情感识别领域做了很多贡献,但是上述分类模型的准确性仍有待提高,需要研究者继续探索。

近年来,深度学习极大地促进了语音情感识别的进展。深度信念网络、递归神经网络、卷积神经网络、深度神经网络和长短期记忆等深度学习分类器的研究越来越多[7]。在多类的应用中,卷积神经网络取得了显著的成功。He 等[8]提出的深度残差网络取得了重要的成果,刷新了CNN 模型的多项历史。在深度残差网络中,其中的残差块使用了跳跃连接,主要作用是当深度增加时,缓解了梯度的消失问题。2017年,谷歌提出了Transformer 模型[9],该模型不仅在速度性能上最优,而且效果也是最佳的。Transformer 模型的多头注意力机制结构可以更好地捕获长期的上下文依赖,提取到远距离特征,有效提升了分类的准确率。文献[10]逐渐使用多头注意力机制在处理时序特征上取代RNN 模型。如今,将深度学习和注意力机制结合的方法使得语音情感识别的效果更好。

因此,针对语音情感识别中数据样本不足、识别准确率不高的问题,本文的主要贡献如下:提出将Resnet 结构与Transformer 编码器结构相结合,提出了Res-Transformer 模型对语音中的情感信息进行提取,Res-Transformer 模型不仅可提取到较丰富的深层情感特征,还提高了识别精度。针对数据样本不足而造成的过拟合问题,使用加法高斯白噪声(AWGN)来扩大数据集以增强数据。采用中心损失函数和SoftMax 交叉熵损失函数联合决策的方式,增加了类间的距离,提高了分类的准确度。

1 Res-Transformer 模型

本文提出的Res-Transformer 模型主要是由Resnet 结构和Transformer 编码器结构所组成,该模型整体结构如图2所示。首先将MFCC 特征作为模型的输入获取语音信号中的情感特征,使用两个并行的Resnet 层和一个Transformer编码器层来获得更深层的特征,利用Transformer 编码器结构处理时间信息,Resnet 结构处理时间信息,其中Resnet结构中引入的残差单元主要处理随着网络层数加深而产生的梯度爆炸或梯度消失问题。最后,将提取后的特征作为全连接层的输入,通过中心损失函数和SoftMax 交叉熵损失函数联合决策的方式进行情感识别,得到最终的八分类情感。

图2 Res-Transformer 编码器结构

1.1 深度残差网络结构

网络深度适当加深会导致系统的性能有所提升,但是网络深度过度加深系统性能就会下降,由于在训练过程中的难度太大,因此导致了梯度消失和梯度爆炸的问题。深度残差网络中引入了残差块,由此构建更深层的网络,很好地解决了此问题,残差块结构如图3所示。图中:x表示输入;H(x)表示输出;F(x)表示残差映射;weight layer表示卷积层;ReLu 表示激活函数。

图3 残差块结构

1.2 Transformer 编码器结构

Transformer模型可以很好地解决序列到序列的问题。自注意力机制计算的是序列对注意力,并将每一帧上的频域特征向量a1,a2,...,ai与训练好的权重WQ、WK、WV分别相乘创建出了3 个向量,即 query、key、value,如式(1)所示:

计算所有的query 向量和key 向量,经过缩放点乘最后得到每一个向量与其他向量之间的关联性,并对计算结果进行归一化以保证梯度的稳定性,关联矩阵A如式(2)所示:

将矩阵A进行SoftMax 标准化,然后和value 向量相互点乘,得到具有相关性的特征向量Head 如式(3)所示:

多头注意力机制通过计算query、key、value 向量进行注意力计算。使用多头注意力机制可以学习到独立的相关信息,并且将多头注意力机制与子空间中的信息合在一起,最后可令得到的特征信息更加全面和丰富。在子空间上对自注意力进行多次计算最终可得到注意力矩阵的输出为Headn,n为头数,将Headn进行拼接可以得到特征矩阵MultiHead,如式(4)所示:

1.3 中心损失函数和SoftMax 交叉熵损失函数

SoftMax 主要用于解决多分类的问题,并且通过使用梯度下降的方法完成网络训练,使其结果得到最小值。中心损失函数是一种典型的聚类算法,其损失函数是由特征值和对应中心的距离计算所得出。因为类别不平衡,所以在实验中将权重分配给中心损失和SoftMax 交叉熵损失函数,其损失为:

式中:Ls为SoftMax 交叉熵损失;Lc为中心损失;wyi是反比于第j种类别在总训练集中的占比。神经网络通过使用联合的损失来进行训练,则联合损失为:

式中:λ用来平衡中心损失和SoftMax交叉熵损失。当λ=0时,可以认为是仅有SoftMax 损失的结果。

2 实 验

2.1 数据集

数据集的自然程度对评价语音情感识别方法的效果非常有效,数据集的质量比较差的情况下可能会得到错误的结果。本文选用RAVDESS 数据集进行实验,RAVDESS 数据集[11]是通过验证后得到的情感语音和歌曲的数据集,本文主要使用它的语音部分。此数据集一共有1 440 个样本,由24 名专业的演员(12 男,12 女)组成,其中包含8 类情感(平静、快乐、悲伤、愤怒、恐惧、惊讶、厌恶和中性)。RAVDESS数据集的平衡性较好,所以使用RAVDESS 数据集对这八类情感进行研究。

2.2 语音预处理

本文使用Librosa 音频处理库来实现MFCC 的提取。首先使用长度为1 024、跳长为512 的汉明窗口对音频信号进行短时傅里叶变换(STFT),得到音频信号的功率谱图。然后利用梅尔滤波器将谱图映射到梅尔尺度,取对数得到Mel谱图。最后,使用离散余弦变换(DCT)来获得MFCC。采用MFCC 作为输入,将MFCC 视为灰度图像,宽度是时间尺度,高度是频率尺度,MFCC 中每个像素的值是在一个时间步长的特定梅尔频率范围内的音频信号强度。

由于本文网络层次较深,使用的训练数据量过小会出现过拟合问题,导致模型泛化性差。为了提高识别精度,在RAVDESS 数据集上对原有的1 440 条语音数据进行数据增强。使用高斯白噪声(AWGN)将数据集扩大到原来的二倍,对数据添加信噪比15~30 dB 的噪声,使得训练出的模型具有一定抗噪性,可以很好地解决过拟合问题。语音样本采样率为48 kHz,原始语音数据和高斯白噪声增强数据分别如图4和图5所示。

图4 原始语音数据

图5 高斯白噪声语音数据

2.3 实验设置

本实验在Ubuntu 环境下运行,内存大小为8 GB,CPU为i5-1035G1,GPU 为MX350,使用Python 版本为3.9.7,使用PyTorch 框架实现。语音情感数据中训练集、验证集和测试集所占比例为8 ∶1 ∶1。在RAVDESS 数据集上有1 440 条语音数据,使用高斯白噪声增强后的语音数据有2 880 条,最终语音数据总计4 320 条,划分后的数量为3 441、429 和450。

每次卷积和池化后都采用0.1的Dropout来缓解过拟合,使用中心损失函数和SoftMax 交叉熵损失函数联合决策。使用SGD 优化器,学习率为0.001,动量设置为0.8,权重衰减设置为1×10-3,批处理(mini-batch)设置为8,迭代周期(Epoch)设置为500。

2.4 评价指标

本文采用准确率(Accuracy)、精确率(Precision)和召回率(Recall)来评估模型的性能。

(1)准确率是指在全部样本中,预测为正确的样本所占有的比例,其公式为:

式中:TN 表示负样本被成功识别样本数;TP 表示正样本被成功识别样本数;FN 表示负样本被错误识别样本数;FP 表示正样本被错误识别样本数。

(2)精确率是指正样本被正确识别出来的比例,其公式为:

(3)召回率是指被正确识别的正样本占所有被识别为正样本的比例,其公式为:

2.5 实验结果分析

实验将MFCC 作为Res-Transformer 模型的输入,提取了语音的情感特征。使用SoftMax 交叉熵损失和中心损失函数联合决策的方式增大了分类的准确率。在RAVDESS 数据集上的Res-Transformer 模型经过训练和验证的损失结果如图6所示。在RAVDESS 数据集上,本文提出的Res-Transformer 模型性能表现良好,通过不断地迭代训练,其训练集中的损失值达到0.35 左右,其验证集中的损失值达到0.99 左右。在训练集和验证集中,其精度与损失值收敛的方向大体相同,模型表现出非常优秀的拟合能力。最后,评估结果是对Res-Transformer模型在测试集上的精度与其损失值进行计算。实验结果表明,测试集上的Res-Transformer 模型有优秀的性能,显示出该模型在RAVDESS 数据集上的准确率为84.89%。

图6 Res-Transformer 模型在RAVDESS数据集上进行训练和验证的损失

实验利用Resnet 处理空间信息,Transformer 编码器结构处理时间信息。表1展示了Res-Transformer 模型在RAVDESS 数据集上的八分类情感数据,该模型的语音情感识别准确率为84.89%,召回率分别为84.75%、83.87%、84.06%、86.67%、87.04%、84.62%、85.25%和83.33%。其中,平静的情感预测效果最好,高达96.67%,即在60 个情感样本中有58 个样本预测正确,仅有2 个样本被预测为其他类情感,说明模型可以很好地识别该情感的特征。但快乐的情感模型识别率有一部分被误分为惊讶,说明模型不能很好地区分相似情感特征,模型识别时会有一定程度的混淆。最后,某类样本可能容易预测为另一类,但反过来不一定成立。在本文的实验条件下该结果符合预期。

表1 Res-Transformer 在RAVDESS 数据集下的八分类情感

由表2可以看出,本文的方法与DCNN 模型相比,准确率提高了3.89%;与文献[13]中的模型相比,准确率提高了2.68%。在训练过程中,CNN-Transformer 模型获得80%的准确率,Res-Transformer 模型获得了84.89%的准确率,改进后的Res-Transformer 模型在RAVDESS 数据集下八种情感的识别率提高了4.89%,同一数据库的不同模型下改进后的Res-Transformer 模型语音情感识别准确率得到显著提升。

表2 与其他在RAVDESS 数据集上的研究结果对比

3 结 语

本文将Resnet 和Transformer 编码器结构组合,利用Resnet处理空间信息,Transformer编码器结构处理时间信息,结合高斯白噪声(AWGN)增强数据,以减少过度拟合。使用中心损失函数和SoftMax 交叉熵损失函数联合决策的方式进一步提高分类准确率。

在今后的工作中,可以对数据进行更加有效的预处理并且使用特征融合的方式来保证提取最优特征,对Transformer模型做进一步研究以构建更优秀的模型,从而能更好地提高语音情感识别的准确率。

猜你喜欢

编码器残差语音
基于双向GRU与残差拟合的车辆跟驰建模
基于残差学习的自适应无人机目标跟踪算法
魔力语音
基于MATLAB的语音信号处理
基于递归残差网络的图像超分辨率重建
基于MQ3与MP3的价廉物美的酒驾语音提醒器
对方正在输入……
基于FPGA的同步机轴角编码器
基于PRBS检测的8B/IOB编码器设计
JESD204B接口协议中的8B10B编码器设计