题目 | 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 基准数据集上进行的大量实验表明,与最先进的基线相比,我们的方法具有优越性。
1 Introduction
作为情感计算最重要的任务之一,语音情感识别(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]致力于计算最后一个模块的情绪显著框架。主要贡献概述如下:
- 这项工作引入了一种基于层次的多特征融合网络,该网络可以从静态和动态特征中逐步学习高级情感表示;
- 发明了一种基于门的多特征融合单元,用于在帧级有效地融合来自静态和动态特征的情感信息;
- 得益于分层结构,我们的方法在四类情感识别中实现了72.5%的未加权准确率(UA),这是 IEMOCAP 上最先进的性能。
2 Methodology
在本节中,介绍了 HNSD 的三个层次模块,即层次 1 中的静态和动态表示,层次 2 中用于融合的门控多特征单元,以及层次3 中的 Bahdanau 注意机制。
2.1 静态和动态表示
2.1.1 静态特征
在本文中,静态特征是与频谱相关的特征。采用汉明窗口将语音信号分割成宽 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])。
2.1.2 动态特征
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 编码后,静态和动态特征被嵌入到帧级的高维表示中。
2.2 用于融合的门控多种特征单元
对于每一帧,我们希望静态和动态特征能够自动学习贡献的权重,以获取更详细的信息。
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 中的对应行,使得每帧都可以由静态和动态特征协同控制。通过为每一帧分配权重,我们希望静态和动态特征能够协同贡献它们的功能。
2.3 Bahdanau 注意力机制
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)
3 实验
3.1 数据集
交互式情绪动态捕捉(IEMOCAP)数据库[16]由大约 12 小时的视听数据组成。这些数据是由 10 名演员(5 名男性和 5 名女性)表演的对话形式。该数据库有五个会话,其中会话有脚本演讲部分和即兴演讲部分。我们将兴奋与快乐以及之前的作品[17,3]融合在一起,并从即兴演讲中获得四个类别(愤怒、快乐、悲伤和中性)以供识别。
3.2 实现细节和评价
在这项工作中,应用了 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个说话者用于训练,其余一个用于测试。
3.3 最新的 baselines
我们将 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 的输入。
3.4 结果与分析
如表 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 是区分唤醒的一种相当好的融合策略。
4 总结
本文针对 SER 提出了一种基于静态和动态特征的分层网络。通过分别对静态和动态特征进行编码,HNSD 可以分别确定多个信息,并避免两种类型的特征之间的相互干扰。为了将静态和动态表示相结合,将 GMU 应用于帧级的特征融合。此外, Bahdanau 注意机制用于使 HNSD 选择性地关注言语中情绪显著的部分。基于先进的层次结构,HNSD 可以捕捉情绪变化,并检测出更具鉴别力的知识进行识别。实验证明了 HNSD 与 IEMOCAP 上最先进的方法相比的优越性。