利用深度学习进行可变长度语音片段的情感识别

2021-11-12 08:56魏金太
散文百家 2021年5期
关键词:频谱语音卷积

魏金太 王 振

河南林业职业学院

情感识别在许多应用中起着重要的作用,特别是在当今日益普遍的人机交互系统中。作为人类之间的主要传播媒体之一,语音已经引起了研究者的广泛关注。言语包含丰富的情绪信息,如何从语音信号中提取这些信息对于自动语音情感识别具有重要意义。作为语音情感识别的重要组成部分,提取最相关的声学特征引起了很多研究兴趣。这些研究大部分都致力于设计一些手势特征,这些特征对于情感识别来说是最有特色的。

最近,机器学习社区的一个趋势是直接从原始未处理数据中推导出输入信号的表示。这个想法背后的原因是网络可以自动学习原始输入信号的中间表示,它更适合手头的任务,因此可以提高性能。受此启发,我们试图通过专门设计的可变长度深度神经网络构建情绪识别系统,该神经网络可直接从输入语音的频谱图中导出情绪类别。

频谱图是信号的时频分解,指示其频率随时间变化的内容。在我们的工作中,卷积神经网络(CNN)首先被构造为有效地学习代表情绪信息的空间谱图模式;然后使用递归神经网络(RNN)来模拟由谱图表示的句子上的时间结构;最后的情绪类别是由全连接层导出的。这项工作的想法类似于以前的Satt 的工作。

然而,我们的神经网络具有能够处理可变长度语音段的优点。与将语音输入分成较小的和固定长度的段相比,我们的方法可以解决在语音分割过程中引入的精度损失。在IEMOCAP 数据集中,使用5 折交叉验证,我们可以实现71.45%的加权准确性(WA),相对于固定的2.95%绝对(3.85%相对)改善长度方法。相同数据集的未加权准确度(UA)为64.22%,这也优于固定长度方法,绝对偏差为4.82%(相对于8.11%)。

论文组织如下:第1 节总结了以前的相关工作,第2节给出了变长方法和定长方法的比较,第3 节介绍了谱图提取和变长神经网络结构,第4 节总结本文。

一、相关背景工作

近年来,深度学习方法和工具已经引入到语音处理领域,用于特征提取、分类/回归。研究人员已经表明,用深度网络中不同层次的原始信号统计学习替代手工制作的低层(帧级)特征可以显著提高分类和回归解决方案的准确性。在语音识别中,首次研究表明直接使用语音波形的自动语音识别(ASR)的更好特征是Jaitly 和Hinton,他们提出,虽然他们没有以端到端的方式对系统进行训练,通过直接在语音时间信号上训练受限玻尔兹曼机器来学习中间表示。Sainath 等人通过使用卷积,LSTM-DNN 匹配基于log-Mel 滤波器能量的大词汇量语音识别(LVCSR)系统的性能。Bhargava 和Rose 使用叠加的瓶颈深度神经网络(DNNs)对窗口化语音波形进行训练,并且在相同体系结构上获得的结果只比相应的MFCC 略差。直接使用梅尔谱声谱图进行说话人识别也被证明是成功的。此外,基于线性间隔频谱图描述了最近公布的现有技术的鲁棒语音识别系统。

在语音情感识别领域,已经进行了一些使用深度神经网络进行特征学习的研究。最近,乔治等人提出了一个卷积循环神经网络,对原始信号进行操作,从语音数据中执行端到端的自发情绪预测任务。Satt 等人还将CNN 和LSTM 相结合,对线性间隔频谱图中的情绪进行分类,超过了通用基准数据集IEMOACP 的最新精度。然而,所有这些方法都将语音输入分为较小和固定长度的部分,这在训练和预测阶段导致准确性的损失。我们的方法提出使用可变长度的神经网络来解决这个问题。

二、可变长度语音片段的情感识别

1.定长方法的问题。

Satt 等人首先将每个长于3 秒的句子分割成长度相等的较短的子句。在提取光谱图后,不超过3 秒的部分用零填充到3 秒。每个子句被分配相应的整个句子的情感标签,这些较短的子句在整个提议的系统中都用于训练和测试阶段。虽然这种方法可以减少构建神经网络的难度(确保输入长度相等),但会引入一些错误。观察表明,只有一部分语音在非中性情绪句子中包含明显的非中性情绪信息。将这些子句用于训练神经网络可能会导致网络在识别中性情绪和非中性情绪时产生混淆。但是,当我们听完整个句子时,神经语音段可以增强情感语段的感觉。

2.可变长度深度神经网络。

以上问题表明,使用整句作为输入比分成几段更合理。但是句子的长度一般是不同的,所以我们的研究旨在设计一个神经网络来处理可变长度的输入序列。

众所周知,卷积神经网络(CNN)可以被认为是一种使用同一神经元的许多相同拷贝的神经网络。这可以使网络拥有大量的神经元并表达计算量大的模型,同时保持实际参数的数量描述神经元行为的值需要被学习得相当小。常用的手段,特别是在计算机视觉中,用于处理相同尺寸的输入,这可以方便地连接其他神经网络,例如全连接层。

递归神经网络(RNN)是流行的模型,在许多序列建模任务中显示出很大的希望。它们对序列的每个元素执行相同的任务,输出依赖于以前的计算。为了计算效率,输入序列通常是固定长度的。可变长度序列通常被填充到相同的长度,但是我们可以忽略无效填充时间步的输出,以便可以正确处理可变长度的序列。

三、提出的方法

可变长度深度神经网络的输入是全句子的谱图,输出是句子情感类别的分类结果。

1.频谱图提取。

IEMOCAP 数据集中的语音信号以16KHz 采样,并组织为单个句子,持续时间从不到一秒到约20 秒。每个句子都标有一种情感,采用一系列重叠的汉明窗口,帧步长(窗口移位)为10 毫秒,帧长度(窗口尺寸)为40 毫秒。对于每一帧,我们计算一个长度为1600 的DFT(对于10Hz 的网格分辨率)。我们使用0-4KHz 的频率范围,忽略其余部分。

2.深度神经网络。

在我们的工作中,输入序列在训练阶段在同一批次中被填充到相同长度且为零,但不同批次之间的长度不同。预测阶段不使用填充,所以我们的神经网络需要具备避免填充值对输出干扰的能力。

首先,对于卷积神经网络,我们可以使用掩码来保留来自S1 的输出并忽略来自S2 的输出。其可以表示如下:

Sconv=Conv(S)•Mask(S)(1)

其中Conv(S)是S 的卷积层的输出,Mask(S)是一个掩蔽矩阵,Sconv=[y1,y2,...,yV,...,yT]是与S相同长度的输出序列,其中[y1,y2,...,yV]是掩码矩阵有效部分的值,[yV+1,...,yT]是填充部分的零值。有效输出可以通过Conv(S)和Mask(S)之间的元素乘法实现。

其次,对于递归神经网络,因为语音情感识别是一个序列分类问题,所以我们只需要最后一个有效时间步中的输出。假设S 是递归神经网络的输入,预期结果应该是t=V 时的输出。

四、结论

在本文中,我们提出了一个可变长度的神经网络,在频谱图上运行,从可变长度的语音片段中执行情感分类任务。未来,我们将继续探索如何使用其他深度神经网络结构来处理可变长度的语音情感识别。

猜你喜欢
频谱语音卷积
基于3D-Winograd的快速卷积算法设计及FPGA实现
一种用于深空探测的Chirp变换频谱分析仪设计与实现
魔力语音
基于MATLAB的语音信号处理
从滤波器理解卷积
基于MQ3与MP3的价廉物美的酒驾语音提醒器
一种基于稀疏度估计的自适应压缩频谱感知算法
对方正在输入……
基于傅里叶域卷积表示的目标跟踪算法
一种基于卷积神经网络的性别识别方法