基于静态和动态特征融合的语音情感识别层次网络

news2024/11/17 12:42:40
题目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
图1 HNSD 用于语音情感识别的工作流程。三个模块学习不同级别的特征:层次 1 是帧级别的特征编码;层次 2 是帧级的特征融合,层次 3 是用于识别的话语级的特征学习

为了解决这些问题,本文提出了一种新的架构,称为 HNSD ,它可以探索基于分层网络的静态和动态特征的贡献,如图所示1。在我们的工作中,静态特征表示 log-Mel 滤波器组特征,该特征包含来自频域的足够信息。相比之下,动态特征包含Log-Mel 滤波器组的一阶导数(Delta-Mel)特征和 Log-Mel 滤波器组的二阶导数(Delta-Delt-Mel)特征,它们描述了帧之间的光谱变化,反映了情绪的变化过程。为了防止不同的特征相互干扰,HNSD 在第一模块分别学习静态和动态特征的时间上下文信息。为了融合静态和动态特性,我们引入了门控多特征单元(GMU),用于访问受[13]启发的第二模块的情感中间表示。为了获得情绪识别的话语水平表征,Bahdanau 注意机制[14,15]致力于计算最后一个模块的情绪显著框架。主要贡献概述如下:

  1. 这项工作引入了一种基于层次的多特征融合网络,该网络可以从静态和动态特征中逐步学习高级情感表示;
  2. 发明了一种基于门的多特征融合单元,用于在帧级有效地融合来自静态和动态特征的情感信息;
  3. 得益于分层结构,我们的方法在四类情感识别中实现了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} XsRT×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 yiY
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=1Mn(xi+nsxins)/2n=1Mn2.(1)
公式中的常数 M M M 为 1,表示差值的持续时间为 1。类似地,Del-Delta-Mel 可以通过 Delta-Mel 的第一个差值获得,并表示为 Z Z Z z j ∈ Z z_j \in Z zjZ
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=1Mn(yi+nyin)/2n1Mn2.(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 xisXs x i d ∈ X d x^d_i \in X^d xidXd,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(GatedMultifeaturesUnit) 旨在寻找基于不同特征组合的中间表示。对于一个话语, f s ∈ R T × h s f^s \in R^{T×hs} fsRT×hs( hs 是 LSTM 的隐藏单元数)表示静态特征的编码, f d ∈ R T × h s f^d \in R^{T×hs} fdRT×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} WdRhs×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} WcR1×2hs 是参数, [ . , . ] [.,.] [.,.] 是连结操作, σ ( . ) \sigma( . ) σ(.) s i g m o i d sigmoid sigmoid 函数, z ∈ R 1 × T z \in R^{1×T} zR1×T 。这函数表示被定义如下:
h = h s ∗ z + h d ∗ ( 1 − z ) . ( 8 ) h = h_s * z + h_d * (1-z).\kern15em(8) h=hsz+hd(1z).(8)
其中, 1 ∈ R 1 × T 1 \in R^{1×T} 1R1×T 是全一向量, h ∈ R h s × T h \in R^{hs×T} hRhs×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} VRd1 W ∈ R d ∗ h s W \in R^{d*hs} WRdhs 是权重矩阵, b ∈ R d ∗ 1 b \in R^{d*1} bRd1 是偏置向量,这些都是可以学习到的参数。 α 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=1Tα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 zscore 对每个说话人的语音特征进行归一化,以消除说话人之间的差异。具体地,每个 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 可以以帧级的方式集成静态和动态特征以及独立的特征学习,显示出良好的性能。
表1
为了进一步评估 HNSD 的稳健性,我们对不同特征和层次模块的性能进行了比较,如表 2 所示。为了验证 HNSD 输入特征的有效性,我们定义了三种变体:(1)HN-S 将静态特征视为输入;(2) HND 将动态特征作为输入;(3) HN-SD 将静态和动态特征的集中视为单个输入。
表2
从表 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 是区分唤醒的一种相当好的融合策略。

图2

4 总结

本文针对 SER 提出了一种基于静态和动态特征的分层网络。通过分别对静态和动态特征进行编码,HNSD 可以分别确定多个信息,并避免两种类型的特征之间的相互干扰。为了将静态和动态表示相结合,将 GMU 应用于帧级的特征融合。此外, Bahdanau 注意机制用于使 HNSD 选择性地关注言语中情绪显著的部分。基于先进的层次结构,HNSD 可以捕捉情绪变化,并检测出更具鉴别力的知识进行识别。实验证明了 HNSD 与 IEMOCAP 上最先进的方法相比的优越性。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/545662.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【集群划分】基于kmeans的电压调节的集群划分【IEEE33节点】

💥💥💞💞欢迎来到本博客❤️❤️💥💥 🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。 ⛳️座右铭&a…

HTTP/HTTPS协议详解

目录 一. HTTP详解 ✅1.1 概念 ✅1.2 HTTP的协议格式 1.2.1 HTTP请求体格式: 1.2.2 HTTP响应体格式: ✅1.3 HTTP请求方法 ✅1.4 认识请求报头 ✅1.5 HTTP请求过程 ✅1.6 认识状态码 二. HTTPS详解 ✅2.1 HTTPS简介 ✅2.2 HTTPS加密过程 TCP/UDP是位于传…

d3d(Direct X)中的com技术详解

本文不会对Com进行非常详细的分析 因为这个技术分析起来难度还是非常大的 要想真正弄懂还是非常困难的 我只会针对d3d中使用到的com技术和comptr技术进行说明 所以看完本文后 可以熟练使用d3d中使用到的相应技术 comptr类似于c11中的智能指针,用于管理com对象的生命周期,所以我…

深度学习基础篇之卷积神经网络(CNN)

一、CNN的基本结构 首先我们来看CNN的解百纳结构,一个常见的图像识别CNN模型如下图: 从图中可以看出最左边的图像就是模型的输入层,在计算机中就是若干个矩阵,这点与DNN类似。 接着是卷积层(Convolution Layer&…

rtmp协议

目录 1 rtmp格式 2 header 3 chunk data 1 rtmp格式 Real Time Messaging Protocol(实时消息传送协议协议)是Adobe Systems公司为Flash播放器和服务器之间音频、视频和数据传输开发的私有协议。 在RTMP协议中信令和媒体数据都称之为Message,包含Mess…

Intellij IDEA 提示 Thrift Support 支持不兼容

最近升级 Intellij IDEA 后老提示 Thrift Support 不兼容。 后来看了下这个插件已经不少时间没有更新了,也一直不知道这个插件是干什么 用的, 后来看了下,这个插件是: Thrift是一种接口描述语言和二进制通讯协议,它被…

【031】基于Vue的学生宿舍管理系统课设(含源码、数据库、运行教程

前排提示:项目源码已放在文末 基于VueSpringbootmysql员工考勤管理系统(多角色登录、请假、打卡) 开发环境:SpringbootMysqlVueNodejsMavenJDK1.8+redis 技术栈:spring-boot、mysql、mybatis-plus 数据库: 源码、…

Centos7单机部署Flink13.6及测试FinkCDC同步MySQL

一、背景 公司CDH6.3.2里面的版本是Flink1.12.0。而因为FlinkCDC2.0.0只支持Flink1.13.0以后,版本不匹配,所以只能升级版本。但是升级版本是个大工程,要编译、要parcel制作工具,而且是生产环境的升级,没办法因为要测试…

初识Spring MVC框架,Spring MVC工作原理

Java EE三层架构 在Java EE开发中,系统经典的三层架构包括表现层、业务层和持久层。三层架构中,每一层各司其职,表现层(Web层)负责接收客户端请求,并向客户端响应结果;业务层( Service层)负责业务逻辑处理…

3 手工推导Neural Networ

线性模型假设的问题 如上图,对非线性类边界的数据进行分类 一个解决方案是将数据映射到更高维的空间,就变成线性可分的了。 ϕ \phi ϕ 是一个映射函数,将x从一个低维空间映射到高维空间。 ϕ \phi ϕ 可不可以是一个线性函数? …

RK3568平台开发系列讲解(驱动基础篇)GPIO使用以及gpio-leds驱动讲解

🚀返回专栏总目录 文章目录 一、GPIO 介绍二、RK3568 GPIO 状况三、GPIO 引脚计算四、ITX-3568JQ LED4.1 LED 原理图4.2 LED 设备树4.3 LED 使用五、gpio-leds驱动5.1 介绍5.2 数据结构5.3 驱动分析沉淀、分享、成长,让自己和他人都能有所收获!😄 📢本篇将介绍 GPIO使用…

[Hadoop]Apache Hadoop、HDFS

目录 大数据导论与Linux基础 Apache Hadopp概述 Hadoop介绍 Hadoop现状 Hadoop特性优点 Hadopp架构变迁 Apache Hadopp集群搭建 Hadopp集群简介 Hadoop集群模式安装 Hadoop集群启停命令、Web UI HDFS分布式文件系统基础 分布式存储系统的核心属性及功能含义 HDFS简…

Linux多路转接之epoll

文章目录 一、select方案和poll方案还存在的缺陷二、epoll的认识1.epoll的基本认识2.epoll的原理3.epoll函数接口 三、编写epoll服务器四、epoll工作方式1.LT模式2.ET模式 一、select方案和poll方案还存在的缺陷 多路转接方案一开始是select方案,但是select方案缺点…

基于segment anything model(SAM)相关性研究的各个方向论文/项目汇总

目录 简介anything项目整理AnyObjectAnyGenerationAny3DAnyModelAnyTaskAnyX 论文汇总AnyObejctAnyGenerationAnyModelAnyTask 简介 有关anything相关的主流任务: 2d检测相关(AnyObject), 3d检测相关(Any3D),AI生成相关&#xff…

栈和队列OJ题:LeetCode--225.用队列实现栈

朋友们、伙计们,我们又见面了,今天给大家带来的是LeetCode--225.用队列实现栈 数 据 结 构 专 栏:数据结构 个 人 主 页 :stackY、 LeetCode 专 栏 :LeetCode刷题训练营 LeetCode--225.用队列实现栈&#xff…

软件测试工程师如何提高自己的竞争力?

案例一来自我们的资深功能测试工程师招聘。当时,有一位拥有近 9 年测试经验的资深测试候选人,我对他的简历还是比较满意的,所以就安排了面谈。但是,在聊的过程中我很快发现,这位候选人绝大多数的测试经验积累都“强”绑…

精彩回顾 | 2022(第二届)超级CSO年度评选颁奖盛典

2023年5月13日,2022(第二届)超级CSO年度评选颁奖盛典在上海举行,来自全国各地近200位来宾、业界专家、企业代表、合作伙伴以及CSO/CISO共同出席。本次盛典得到了包括中国网络安全审查技术与认证中心(CCRC)、…

什么是即时 AI ?有哪些应用场景

什么是即时 AI ? 即时 AI 是全球首款通过自然语言描述,快速生成可编辑的 UI 设计稿的设计工具。 输入文字描述后,即可一次性生成4张 包含矢量图层和图标、支持二次编辑、分层结构清晰 UI 设计稿。 即时 AI 目前已面向全部用户免费开放&#…

无效数据处理攻略: 如何从源头开始预防无效数据带来的风险

数据处理在现代社会中变得越来越重要,而对于数据的可靠性和准确性,我们始终非常关注。然而,即使在对数据进行了精心管理的情况下,无效数据依然可能存在,并可能对数据分析和决策带来不良影响。因此,处理无效…

[Windows驱动开发]-BlackBone实现内存读取的三种方式

文章目录 🛫 导读需求开发环境 升级优化(vs2019)相关地址Blackbone工程中的lib库添加Blackbone工程修改tools工程修改 旧文章整理(vs2017)功能描述内存读取-BlackBone库的集成内存读取-检测参数内存读取-ReadProcessMe…