题目 | Hierarchical Network based on the Fusion of Static and Dynamic Features for Speech Emotion Recognition |
---|---|
时间 | 2021年 |
期刊\会议 | ICASSP |
摘要:许多关于自动语音情感识别(SER)的研究都致力于提取有意义的情感特征,以生成与情感相关的表征。然而,它们通常忽略了静态和动态特征的互补学习,导致性能有限。在本文中,我们提出了一种称为 HNSD ( Hierarchical Network Static and Dynamic ) 的新型分层网络,它可以有效地集成 SER 的静态和动态特征。具体而言,提出的 HNSD 框架由三个不同的模块组成。为了捕获判别特征,首先设计了一个有效的编码模块来同时对静态和动态特征进行编码。通过将获得的特征作为输入,进行门控多特征单元(Gated Multi-features Unit, GMU)来明确地确定用于帧级特征融合的情感中间表示,而不是直接融合这些声学特征。通过这种方式,学习到的静态和动态特征可以联合、全面地生成统一的特征表示。得益于精心设计的注意力机制,最后一个分类模块被应用于预测话语层面的情绪状态。在 IEMOCAP 基准数据集上进行的大量实验表明,与最先进的基线相比,我们的方法具有优越性。
作为情感计算最重要的任务之一,语音情感识别(SER)旨在检测说话人的情绪状态,具有广泛的应用,如医疗保健系统和人机交互[1]。随着深度学习的发展,许多研究采用了基于卷积神经网络(CNN)和递归神经网络(RNN)的模型来生成更具鉴别性的声学特征,以提高 SER 的性能[2,3,4,5,6]。这些方法大多将静态特征作为网络的输入来学习高级特征。例如,Li 等人[4]设计了两个不同的卷积核,用于分别从频谱图中捕获时域和频域特征。Li 等人[5] 提出了一种具有多头自注意的扩张神经网络,从 Mel Frequency 倒谱系数(MFCC)中研究情绪相关特征。最近,注意力机制在提高 SER 性能方面取得了很大进展[7,8,9]。Mirsamadi 等人[7]应用 RNN 来检测 MFCC 的时间上下文信息,并引入了一种可靠的注意力机制来关注语音信号的情绪相关区域。
尽管现有的基于 CNN 和 RNN 的方法在提取特征方面取得了显著的性能,但自动 SER 系统仍然具有挑战性。一方面,前面的方法忽略了表达过程中情绪的变化。这些变化被视为动态特征,可以反映语音的变化。尽管 Chen 等人[10]和 Lee 等人[11]认为语音的动态特征是网络的输入,但他们将级联的静态和动态特征转移到了深度神经网络中。然而,这种策略忽略了静态和动态特征会相互干扰,从而导致性能不令人满意[12]。另一方面,语音的速度和响度变化的动态特性是不一致的。因此,静态特征和动态特征对情绪的贡献在一个话语中是不同的。发明一种从更详细的帧级别考虑特征融合的策略是至关重要的。
图1 HNSD 用于语音情感识别的工作流程。三个模块学习不同级别的特征:层次 1 是帧级别的特征编码;层次 2 是帧级的特征融合,层次 3 是用于识别的话语级的特征学习
为了解决这些问题,本文提出了一种新的架构,称为 HNSD ,它可以探索基于分层网络的静态和动态特征的贡献,如图所示1。在我们的工作中,静态特征表示 log-Mel 滤波器组特征,该特征包含来自频域的足够信息。相比之下,动态特征包含Log-Mel 滤波器组的一阶导数(Delta-Mel)特征和 Log-Mel 滤波器组的二阶导数(Delta-Delt-Mel)特征,它们描述了帧之间的光谱变化,反映了情绪的变化过程。为了防止不同的特征相互干扰,HNSD 在第一模块分别学习静态和动态特征的时间上下文信息。为了融合静态和动态特性,我们引入了门控多特征单元(GMU),用于访问受[13]启发的第二模块的情感中间表示。为了获得情绪识别的话语水平表征,Bahdanau 注意机制[14,15]致力于计算最后一个模块的情绪显著框架。主要贡献概述如下:
在本节中,介绍了 HNSD 的三个层次模块,即层次 1 中的静态和动态表示,层次 2 中用于融合的门控多特征单元,以及层次3 中的 Bahdanau 注意机制。
在本文中,静态特征是与频谱相关的特征。采用汉明窗口将语音信号分割成宽 25ms 、偏移 10ms 的短帧。此外,利用短时傅立叶变换(STFT)将信号从时域变换到频域。此外,我们对梅尔滤波器组的能谱进行对数运算。话语的 Log-Mel 特征可以作为静态特征获得,并由矩阵 X s ∈ R T × N X^s \in R^{T×N} Xs∈RT×N表示,其中 T T T 是帧数, N N N 是 Mel-Bank 滤波器的数量。 x i s x^s_i xis 是覆盖 N N N 个滤波器的第 i i i 个帧( i ∈ [ 1 , T ] i \in [1, T] i∈[1,T])。
Delta-Mel 由第一个差值计算,表示为 Y Y Y, y i ∈ Y y_i \in Y yi∈Y:
y i = ∑ n = 1 M n ( x i + n s − x i − n s ) / 2 ∑ n = 1 M n 2 . ( 1 ) y_i = \displaystyle \sum_{n=1}^M n(x^s_{i+n} - x^s_{i-n})/2\displaystyle\sum_{n=1}^Mn^2 .\kern10em(1) yi=n=1∑Mn(xi+ns−xi−ns)/2n=1∑Mn2.(1)
公式中的常数 M M M 为 1,表示差值的持续时间为 1。类似地,Del-Delta-Mel 可以通过 Delta-Mel 的第一个差值获得,并表示为 Z Z Z 和 z j ∈ Z z_j \in Z zj∈Z:
z i = ∑ n = 1 M n ( y i + n − y i − n ) / 2 ∑ n − 1 M n 2 . ( 2 ) z_i = \displaystyle\sum_{n=1}^M n(y_{i+n} - y_{i-n})/2\displaystyle\sum^M_{n-1}n^2.\kern10em(2) zi=n=1∑Mn(yi+n−yi−n)/2n−1∑Mn2.(2)
动态特征可以集中为 X d = [ Y , Z ] X^d = [Y, Z] Xd=[Y,Z]。长短期存储器单元(LSTM)用于对第一模块中的特征进行编码。对于第 i i i 帧 x i s ∈ X s x^s_i \in X^s xis∈Xs 和 x i d ∈ X d x^d_i \in X^d xid∈Xd,LSTM 通过以下方式对它们进行编码:
f i s = L S T M ( x i s ) , ( 3 ) f i d = L S T M ( x i d ) . ( 4 ) f_i^s = LSTM (x_i^s), \kern15em(3) \\ f_i^d = LSTM (x_i^d). \kern15em(4) fis=LSTM(xis),(3)fid=LSTM(xid).(4)
通过 LSTM 编码后,静态和动态特征被嵌入到帧级的高维表示中。
对于每一帧,我们希望静态和动态特征能够自动学习贡献的权重,以获取更详细的信息。 G M U ( G a t e d M u l t i − f e a t u r e s U n i t ) GMU(Gated \kern1em Multi-features \kern1em Unit) GMU(GatedMulti−featuresUnit) 旨在寻找基于不同特征组合的中间表示。对于一个话语, f s ∈ R T × h s f^s \in R^{T×hs} fs∈RT×hs( hs 是 LSTM 的隐藏单元数)表示静态特征的编码, f d ∈ R T × h s f^d \in R^{T×hs} fd∈RT×hs 是层次 1 上动态特征的表示。 f s f^s fs 和 f d f^d fd 被输入具有 t a n h tanh tanh 激活功能的神经元:
h s = t a n h ( W s ( f s ) T ) , ( 5 ) h d = t a n h ( W d ( f d ) T ) . ( 6 ) h_s = tanh (W_s(f^s)^T), \kern15em(5) \\ h_d = tanh (W_d(f^d)^T). \kern15em(6) hs=tanh(Ws(fs)T),(5)hd=tanh(Wd(fd)T).(6)
W s W_s Ws 和 W d ∈ R h s × h s W_d \in R^{hs×hs} Wd∈Rhs×hs 是参数。能够控制的 f s f^s fs 和 f d f^d fd 的贡献的一个门神经元定义如下:
z = σ ( W c [ f s , f d ] T ) , ( 7 ) z = \sigma(W_c[f^s, f^d]^T), \kern15em(7) z=σ(Wc[fs,fd]T),(7)
其中, W c ∈ R 1 × 2 h s W_c \in R^{1×2hs} Wc∈R1×2hs 是参数, [ . , . ] [.,.] [.,.] 是连结操作, σ ( . ) \sigma( . ) σ(.) 是 s i g m o i d sigmoid sigmoid 函数, z ∈ R 1 × T z \in R^{1×T} z∈R1×T 。这函数表示被定义如下:
h = h s ∗ z + h d ∗ ( 1 − z ) . ( 8 ) h = h_s * z + h_d * (1-z).\kern15em(8) h=hs∗z+hd∗(1−z).(8)
其中, 1 ∈ R 1 × T 1 \in R^{1×T} 1∈R1×T 是全一向量, h ∈ R h s × T h \in R^{hs×T} h∈Rhs×T 是融合表示。 z z z 的每个元素乘以 h s h_s hs 和 h d h_d hd 中的对应行,使得每帧都可以由静态和动态特征协同控制。通过为每一帧分配权重,我们希望静态和动态特征能够协同贡献它们的功能。
Bahdanau 注意力机制通过前馈神经网络计算权重,反映了每帧的情感贡献。第 t t t 帧计算如下:
s t = V T t a n h ( W h t + b ) ( 9 ) s_t = V^Ttanh(Wh_t+b) \kern15em(9) st=VTtanh(Wht+b)(9)
h t h_t ht 代表第 t 帧 h h h 的融合表示, s t s_t st 是 h t h_t ht 的情感得分。 V ∈ R d ∗ 1 V \in R^{d*1} V∈Rd∗1 和 W ∈ R d ∗ h s W \in R^{d*hs} W∈Rd∗hs 是权重矩阵, b ∈ R d ∗ 1 b \in R^{d*1} b∈Rd∗1 是偏置向量,这些都是可以学习到的参数。 α t \alpha_t αt 是通过归一化 s t s_t st 得到的第 t 帧的权重:
α t = e x p ( s t ) ∑ i = 1 T e x p ( s i ) ( 10 ) \alpha_t = \dfrac {exp(s_t)} {\textstyle\sum^T_{i=1} exp(s_i) }\kern15em (10) αt=∑i=1Texp(si)exp(st)(10)
话语级特征 u 通过每帧的加权和来获得的:
u = ∑ t = 1 T α t h t ( 11 ) u = \displaystyle\sum^T_{t=1} \alpha_t h_t \kern15em(11) u=t=1∑Tαtht(11)
交互式情绪动态捕捉(IEMOCAP)数据库[16]由大约 12 小时的视听数据组成。这些数据是由 10 名演员(5 名男性和 5 名女性)表演的对话形式。该数据库有五个会话,其中会话有脚本演讲部分和即兴演讲部分。我们将兴奋与快乐以及之前的作品[17,3]融合在一起,并从即兴演讲中获得四个类别(愤怒、快乐、悲伤和中性)以供识别。
在这项工作中,应用了 26 个 Mel 滤波器来计算静态和动态特征。在构建模型之前,分别通过 z − s c o r e z-score z−score 对每个说话人的语音特征进行归一化,以消除说话人之间的差异。具体地,每个 LSTM 的隐藏单元被设置为 512。此外,在注意力机制中,d 被设置为 16 。批量归一化[18]用于具有 128 个神经元的全连接层,其激活函数为整流线性单元(ReLU)。在训练过程中,采用具有 0.0001 学习率和 0.001 权重衰减的 Adam 优化器[19]进行深度学习。我们报告了测试集的加权精度( Weighted Accuracy, WA )和 UA(Unweighted Accuracy,UA) 。值得注意的是,UA 是一个比 WA 更合理的度量,因为 IEMOCAP 的样本分布是不平衡的。此外,我们在实验中执行了 10 倍的至少保留一个说话者的策略以及之前的工作[2,4,9,10]:9个说话者用于训练,其余一个用于测试。
我们将 HNSD 与七个基线进行了比较:(1)Bi-LSTM[11]:为 SER 提供了一个输入32个特征(包括F0、语音概率、过零率、具有对数能量的 12 维 MFCC 及其一阶时间导数)的 Bi-LSTM 网络。(2) LSTM+CTC[9]:一种基于注意力的 Bi-LSTM 网络与连接时序分类(CTC)相结合,它用于情绪识别。该模型中使用的光谱图是 40 维对数梅尔滤波器组的输出。(3) CNN+Attention [4]:具有两组滤波器的 CNN 基于频谱图提取特定于时间和特定于频率的特征。学习到的特征被连接起来,并被馈送到随后的卷积层中。引入注意力池方法来学习最终的情绪表征。(4) Transformer[20]:一个结合自注意的网络基于 IS09 特征集(一个统计特征集)研究 SER。(5) CNN+RNN+Attention [10]:基于三维注意力的德尔塔-梅尔和德尔塔-梅尔特征 CNN 学习判别信息。(6) CNN-GRU-SeqCap[21]:一种基于胶囊网络(CapsNets)的架构考虑了 SER 频谱图中活动的空间关系。(7) Transformer+辅助学习[22]:一个具有多任务学习的多头注意力深度学习网络将 log-Mel 滤波器组特征作为 SER 的输入。
如表 1 所示,HNSD 的性能达到 72.5% 的 UA ,这是所有基线方法中准确度最好的。具体而言,仅以静态特征作为输入的模型(如工作[9,4,21,22])的结果不如以静态和动态特征作为输出的模型[11,20,10]。它可以证明同时考虑静态和动态特性的必要性。此外,将工作[11]与工作[20]和[10]进行比较,注意机制的优势显而易见,表明在我们的模型中引入注意机制的合理性。此外,尽管工作[20]和[10]考虑了静态和动态特征用于情绪识别,但 HNSD 在 UA 中的表现分别比它们好 1.6% 和 2.3% 。工作[20]将统计特征视为输入,这些特征失去了帧之间的细微细节,导致性能下降。工作[10]提供了 3 个通道来分别检查静态和动态特征,但它忽略了多个特征的融合。相比之下,HNSD 可以以帧级的方式集成静态和动态特征以及独立的特征学习,显示出良好的性能。
为了进一步评估 HNSD 的稳健性,我们对不同特征和层次模块的性能进行了比较,如表 2 所示。为了验证 HNSD 输入特征的有效性,我们定义了三种变体:(1)HN-S 将静态特征视为输入;(2) HND 将动态特征作为输入;(3) HN-SD 将静态和动态特征的集中视为单个输入。
从表 2 可以看出,HNSD 优于其他具有单输入的模型,这表明具有多输入的架构可以学习更多的先验知识。作为单输入模型,HN-SD 优于 HN-S 和 HN-D,这表明静态和动态特征都可以促进识别。此外,尽管 HNSD 和 HN-SD 将静态和动态特征作为输入,但 HNSD 比 HN-SD 获得了 1.8% 的 WA 和 1.9% 的 UA 的改善,这意味着独立学习可以减少不同特征之间的干扰。此外,HNSD 的不同层次模块的有效性也如表 2 所示。我们可以观察到,层次 2 获得的 UA 比层次 1 高 1.4%,这证明了特征融合可以有效地促进识别。分层 3 在 UA 方面实现了 0.7% 的绝对改善,表明通过学习具有突出情绪的话语水平特征,性能将得到提高。
为了验证 GMU 的有效性,我们给出了采用不同融合策略的混淆矩阵。在图 2 中,(a)的特征融合策略是直接添加静态和动态特征的表示,(b)的融合策略是 GMU 。基本上,GMU 是通过基于加法运算定义自适应权重来引入的。这种权重集中在每一帧上,可以以更细粒度的方式控制情绪的分布。显然,在《愤怒与快乐》中,使用 GMU 进行特征融合的 HNSD 显著优于普通策略,这证明了 GMU 是区分唤醒的一种相当好的融合策略。
本文针对 SER 提出了一种基于静态和动态特征的分层网络。通过分别对静态和动态特征进行编码,HNSD 可以分别确定多个信息,并避免两种类型的特征之间的相互干扰。为了将静态和动态表示相结合,将 GMU 应用于帧级的特征融合。此外, Bahdanau 注意机制用于使 HNSD 选择性地关注言语中情绪显著的部分。基于先进的层次结构,HNSD 可以捕捉情绪变化,并检测出更具鉴别力的知识进行识别。实验证明了 HNSD 与 IEMOCAP 上最先进的方法相比的优越性。