前言:做技术不能只见树木,不见森林,读综述类的论文,能很好的帮我们把握业界的前进方向。本文是由西工大张晓雷教授所作,于2021年4月4日更新,全面的分析了说话人识别方向的几个关注点,本文及接下来的几篇文章会详细的分析这篇论文。

本系列第一部分是全文系统框架,推荐先看第一部分之后再回来看本文:


4. 基于深度学习的说话人特征提取

在本节中,首先在介绍两个具有代表性的deep embedding——d-vector和 x-vector,并在 4.2节中进行一些讨论,然后在4.3节中讨论了它们的关键组成部分。


4.1.Deep embedding的两项开创性工作

4.1.1. 帧级embedding——d-vector

D-vector是最早的基于DNN的embeddings。d-vector的核心思想是在训练阶段将训练音频的真实说话人身份作为该音频训练帧的标签,它将模型训练转换为分类问题。如下图所示,d-vector扩展了每个训练帧及其上下文,并使用一个maxout DNN将训练音频的帧分类为音频说话人ID,其中DNN以softmax作为输出层以最小化之间帧的真实标签和网络输出的交叉熵损失。


在测试阶段,d-vector取DNN最后一个隐藏层的每一帧的输出激活作为该帧的特征embedding,将该音频的所有帧的输出作平均后作为该音频的特征embedding。 d-vector 的一个潜在假设是,在开发集上训练的模型能够很好的泛化到测试集中未见过的说话人上。


4.1.2. 段级embedding——x-vector

X-vector是d-vector 的重要演变,它通过pooling过程将帧级别的特征融合成整句的特征。 x-vector的网络结构如下图所示。 它首先通过TDNN层提取语音帧的帧级特征,然后将音频的帧级特征的均值和标准差连接起来作为段级特征,最后通过标准前馈网络将段级特征分类到其说话人ID。


其中TDNN层、统计池化层和前馈网络联合训练。X-vector即为从前馈网络的第一个隐藏层产生的段级speaker embedding,即上图中变量a。


4.2.对speaker embedding的讨论

与 i-vector 类似,d-vector 和 x-vector 也是一种speaker embedding,它通过使用 DNN 将说话人有区别地嵌入到一个向量空间中。我们称这种说话人嵌入为deep speaker embedding,或简称为deep embedding。表5总结了不同speaker embedding之间的主要特征。与传统的GMM-UBM/i-vector 相比,deep embedding是判别模型并以监督方式训练。与 DNN-UBM 相比,它的训练数据不需要语音级别的标签。因此,deep embedding的训练比DNN-UBM和DNN-BNF的训练要简单得多。此外,deep embedding是一个新的独立框架,而DNN-UBM/i-vector和DNN-BNF/i-vector是混合框架。


表 6 中列出了一些deep embedding的实验结果。表中可以发现,单独的d-vector比i-vector的EER要高。当融合d-vector和i-vector时,组合系统在干净和噪声测试条件下,EER分别比i-vector相对降低了14%和25%。x-vector的前身“embedding a+b”模型在NIST SRE10 的 10 秒短语音上EER比GMM-UBM/i-vector基线更低,在 NIST SRE10 的60 秒长话语上EER比后者更高的 。通过更多的训练数据和数据增强,x-vector 比 GMM-UBM/i-vector 实现了显着的性能提升。


图 8 显示了相关论文的数量。


我们观察到,首先,d-vector 和 DNN-UBM/i-vector 都是在 2014 年提出的,前者实现了当时的表现更好。其次,DNN/i-vector 的研究主要在其出现后的前几年进行,之后研究较少。第三,在x-vector达到最先进的性能之后,deep embedding的研究随着其性能的提高而变得更加繁荣。目前,deep embedding是说话人识别的趋势,它在几个方面得到了发展,总结如下。


4.3.deep embedding的四个关键部分

在开创性工作d-vector和x-vector的推动下,许多deep embedding技术涌现出来,其中大部分由四个关键部分组成——网络输入、网络结构、时域池化和目标函数。这些部分包括但不限于以下内容:

网络输入和网络结构:网络输入可以分为两类——时域中的原始波信号和时频域中的声学特征,包括频谱图、梅尔滤波器组(F-bank)和MFCC。网络结构更加多样,但本质上都源自于DNN、RNN/LSTM、CNN。由于网络输入和结构在实践中是联合设计的,将在第5部分详细介绍。

目标函数:目标函数对说话人识别的效果影响很大。d-vector和x-vector都采用softmax作为输出层,以最小化交叉熵为目标函数,但它可能不是最优的。最近,许多工作设计了多种目标函数以进一步提高性能,将在第6部分详细介绍。


5. Deep embedding: 网络输入和结构

虽然深度神经网络大致可以分为DNN、CNN和RNN/LSTM结构,但是说话人识别的网络结构和输入是相当灵活的。网络的每个组件都有许多候选。例如,神经网络的隐藏层可以是标准卷积层、扩张卷积层、LSTM 层、门控循环单元 (GRU) 层、multi-head attention层,全连接层,甚至这些不同层的组合等。 激活函数可以是Sigmoid、Rectified Linear Unit (ReLU)、Leaky ReLU 或 Parametric Rectified Linear Unit (PReLU) 等. 此外,网络的拓扑结构和层间的连接方式都是可变的。甚至一层的层数和隐藏单元的数量也会影响性能。为了防止逐个列举网络,这里我们首先回顾一些常用的用于speaker embedding特征提取的网络,然后简要回顾它们的输入。

时间延迟神经网络(TDNN):TDNN沿时间轴采用一维卷积结构作为特征提取器。它被众所周知的x-vector采用,如图 7 所示。由于x-vector的成功,TDNN 成为最流行的说话人识别结构之一。例如,[83]将语音信息引入了基于TDNN架构的embedding提取器。 [97]通过自监督方法训练了一个没有说话人标签的TDNN嵌入提取器。 [65, 66] 探索了 TDNN 正交正则化的有效性。通常,TDNN结构经常被用作研究deep embedding模型的其他关键组件的框架,例如时间池化层和目标函数。

TDNN结构也得到了深入改进。例如,[82]中引入了扩展的 TDNN 架构(E-TDNN),其性能大大优于x-vector基准模型。它采用比 TDNN 稍宽的时间上下文,并在卷积层之间交错仿射层。 [99]开发了一个分解的 TDNN(F-TDNN)来减少参数的数量。它将每个 TDNN层的权重矩阵分解为两个低秩矩阵的乘积。在半正交约束防止信息丢失的假设下,它进一步将第一个低秩矩阵约束为半正交。 最近,[90] 将TDNN与每一层的统计池化相结合,以补偿帧级变换中时间上下文的变化。.类似地,[81, 95] 将 LSTM 层插入到 TDNN 中以捕获时间信息,以弥补 TDNN 的时间延迟层只关注局部特征的缺点。[91] 通过将贝叶斯神经网络纳入TDNN,缓解了训练和评估之间的不匹配问题。

残差网络(ResNet)[103]:它是speaker embedding中另一种流行的结构。它的主干架构是一个二维 CNN,在时域和频域都具有卷积。一些工作直接使用标准 ResNet 作为他们的说话人特征提取器。其他一些工作使用 ResNet 作为主干,并针对特定目的或应用对其进行了修改 [60, 92, 80, 61, 70, 71]。例如,为了减少参数数量,[60] 通过减少每个残差块中的通道数量将标准ResNet-34 修改为一个thin ResNet。 [80] 中的作者将双向LSTM(BLSTM)和 ResNet 组合成一个统一的架构,其中 BLSTM 用于对长时间上下文进行建模。 [92] 中的作者将所谓的“squeeze-and-excitation”块合并到 ResNet 中。

原始音频的神经网络(Raw wave neural networks):一些工作以时域中的原始波作为输入,旨在提取可学习的声学特征而不是手工制作的特征。例如,[52] 应用 CNN 来捕获原始语音信号。实验结果表明,第一卷积层的滤波器强调低频区域的说话人信息。 [53]中的作者认为第一层对于基于波形的 CNN 至关重要,因为它不仅处理高维输入,而且比其他层更容易受到梯度消失问题的影响。因此,他们提出了一种基于参数化 sinc 函数的 SincNet 架构,其中仅从数据中学习带通滤波器的低频和高频截止频率 [53]。在 [55] 中,作者认为 DNN 处理原始音频信号的难度主要是由信号的尺度波动引起的。为了稳定尺度,他们采用了一个称为预加重层的卷积层来模拟众所周知的信号预加重技术 p(t)=s(t)−αs(t−1)。他们还制作了几个对原始原始波形网络 [56, 57, 104] 的改进,从而带来了出色的性能。 [105]设计了 一个Wav2Spk结构来从波形中学习说话人嵌入,其中传统的 MFCC 提取、语音活动检测以及倒谱均值和方差归一化被特征编码器、时间门控单元和实例归一化方案所取代。 Wav2Spk 的性能优于传统的 x-vector网络。

其他神经网络:除了 TDNN 和 ResNet,许多其他著名的神经网络架构也被应用于说话人识别,包括 VGGNet [72,24, 15],Inception-resnet-v1 [62,63,73,74] 、BERT [106] 和 Transformer [107]。此外,循环神经网络,例如 LSTM 和门控循环单元,通常用于文本相关说话人验证 [77, 78, 79]。 CNN 模型也可以通过将 LSTM 或门控循环单元插入骨干网络 [54, 55, 56, 57, 64, 80, 81, 95] 来改进。 最后,除了上述手工制作的神经架构,神经架构搜索最近还应用于说话人识别 [108, 109]。

神经网络输入(Neural network inputs):下表总结了基于deep embedding的说话人特征提取的常用输入和神经网络。从表中可以看出,基于 CNN 的神经网络和 f-bank/MFCC 声学特征正在变得流行,而一些二维卷积结构,例如ResNet,使用频谱图作为输入特征。除了上述常见输入,例如 MFCC、频谱和梅尔滤波器组,[110] 最近还对 14 个声学特征提取器进行了广泛的重新评估。他们发现配备谱质心、群延迟函数和集成噪声抑制技术的声学特征为 MFCC 提供了有希望的替代方案。


5.1.网络结构的讨论

网络结构对性能起着关键作用。例如,如表 8 所示,E-TDNN 和 F-TDNN 显着降低了 SITW 数据集 [16] 上的 EER,其中 F-TDNN 比原始 TDNN 实现了 40% 以上的相对 EER 降低。尽管这种提升在所有数据集上并不一致 [111],但它证明了网络结构对性能的重要性。


对于声学特征,delta 和 double-delta特征有助于基于统计模型的说话人识别,例如GMM-UBM/i-vector。然而,它们在卷积和延时神经网络中不是很有效。这可能是由于统计模型需要delta和double-delta操作来捕获帧之间的时间依赖性,而神经网络本质上能够实现这一目标。

虽然深度嵌入网络取得了巨大的成功,但我们认为,以下几个方面还可以进一步研究。首先,原始波网络并没有引起太多关注。说话人识别的主流仍然采用手工制作的特征,这可能会丢失有用的信息,例如相位信息,最终可能导致我们在语音分离中观察到的次优性能。其次,模型大小和推理效率,这对于计算源有限的设备很重要,例如。边缘或移动设备,尚未得到充分研究。


6. 小结

本文主要介绍了原文中基于深度学习的说话人特征,主要包括d-vector和x-vector,同时指出deep embedding中四个主要的组成部分:网络输入、网络结构、时域池化和目标函数。然后介绍了当前主要的网络结构及其变种,最后讨论了一些基于音频输入的网络模型。


本文来源知乎,作者:蘑菇炖提莫