2018--Analysis of Length Normalization in End-to-End Speaker Verification System

Weicheng Cai2, Jinkun Chen2, Ming Li1
1Data Science Research Center, Duke Kunshan University, Kunshan, China
2School of Electronics and Information Technology, Sun Yat-sen University, Guangzhou, China
ming.li369@dukekunshan.edu.cn

下面地址翻译得更好
https://blog.csdn.net/weixin_38858860/article/details/84555110

经典的i-向量和最新的端到端深度说话人嵌入是自动说话人验证系统中两类具有代表性的话语级表示。传统上,一旦i向量或深度说话人嵌入被提取,在后端建模之前,我们依赖额外的长度规范化步骤将表示规范化为单位长度超空间。在本文中,我们探索神经网络如何以端到端的方式学习长度规格化的深度说话人嵌入。为此,我们在公共分类网络的输出层之前添加了长度规格化层和缩放层。我们对Voxceleb1数据集的验证任务进行了实验。实验结果表明,将这一简单步骤集成到端到端的训练流程中,可以显著提高说话人验证的性能。在我们的L2标准化端到端系统的测试阶段,一个简单的内积可以达到最先进的水平。

说话人识别(SR)任务可以定义为一个话语级的“一对一”学习问题。问题在于,我们试图检索整个话语的信息,而不是特定的单词内容[1]。此外,不存在对词汇词的限制,因此训练话语和测试段可以具有完全不同的内容[2 ]。因此,给定输入语音数据,目标可以归结为将它们转换为话语级表示,其中,类间可变性最大化,同时类内可变性最小化(3)。通常,SR可以分为说话人识别(SID)任务和说话人验证(SV)任务[4]。前者将说话人划分为特定的身份,而后者则决定一对话语是否属于同一个人。对于开放集协议,测试集中的说话人身份通常与训练集中的说话人身份不一致,这使得SV更具挑战性,更接近于实际应用。由于在训练集中无法将测试话语分类为已知的身份,我们需要将说话人映射到一个有区别的特征空间。在这种情况下,开集SV本质上是一个度量学习问题,关键是学习有区别的大边距说话人嵌入。通常有两类常用来获得话语水平的说话人表征。第一组是一系列分离的统计模型。代表的是经典的i-向量方法[5]。首先,从原始音频信号中提取帧级特征序列。然后,将训练数据集中选定的特征帧组合在一起,估计基于高斯混合模型(GMM)的通用背景模型(UBM)。对UBM中的每个话语进行充分的统计,训练基于因子分析的i-向量抽取器,将统计信息投影到一个低秩总变异子空间中[5]。另一类依赖于通过端到端深层神经网络由下游程序训练的模型[7,8,9,10]。首先,采用与i矢量方法相同的方法,提取帧级特征序列。然后设计了卷积神经网络(CNN)[8,11]、时延神经网络(TDNN)[9]或长短期记忆(LSTM)网络[7,12]等帧级特征自动提取器,得到高层次的抽象表示。然后,在其上建立一个统计池[9]或编码层[13]来提取固定维的话语层表示。这种话语层表示可以由完全连接(FC)层进一步处理,并最终与一个输出层连接。端到端管道中的所有元件都是通过统一的损耗函数共同学习的。在经典的i-向量方法中,在后端建模之前,需要额外的长度规范化步骤来将表示规范化为单位长度超空间[14]。当它变成端到端系统时,一旦我们从神经网络中提取出深度的说话人嵌入,例如xvector[15],在计算成对分数时也需要这个长度规范化步骤。在这篇文章中,我们探索了一个端到端的SV系统,在这个系统中,深度神经网络内在地内置了长度标准化步骤。Therefore, the neural network can learn speaker embeddings being length-normalized in an end-to-end manner。

Length normalization已经被分析并证明了是一种SR的有效策略,但是被限制在了传统的i-vector方法中【14】。如图1所示,这种,在后端建模之前【16】【17】,对i-vector进行的简单的非线性变换已经成为事实上的标准。对于闭集SID任务,通常采用长度归一化后的logistic回归或支持向量机来获得说话人类别的后验概率。对于开放集SV任务,余弦相似性或长度归一化后的概率线性判别分析(PLDA)评分[18,19]模型被广泛用于获得最终的成对评分。余弦相似性是一种与量值无关的相似性度量,它可以看作是两个向量内积的长度归一化形式。在这些系统中,前端的i-向量建模、长度规范化步骤和后端建模都是相互独立、各自独立的。

在[8,12,20]中的一些先前的工作引入了三重态损失[21],并且成功地训练了以端到端方式规范化特征的模型。它们都明确地将openset SV任务视为一个度量学习问题。这种三重态损失方法自然需要长度归一化步骤来计算归一化单元向量的距离。然而,一个训练有三重损失的神经网络需要精心设计的三重挖掘过程。这个过程非常重要,既费时又有性能敏感[22]。此外,许多类似SID的闭集任务都等价于分类问题,直观上不需要实现三元组挖掘过程,也不需要将它们显式地看作度量学习问题。因此,我们将注意力集中在通用分类网络的一般场景上。This
means the units in the output layer are equal to the pre-collected
speaker categories in training set.

对于开放集SV任务,由于在训练集中无法将测试话语分类为已知的身份,端到端分类网络起着自动说话人嵌入抽取器的作用,如图2所示。一旦深度说话人嵌入(例如x向量)被提取出来,就和i向量方法一样,通常需要余弦相似性或长度归一化,然后再进行PLDA来得到最终的成对分数。值得注意的是,无论是在余弦相似性还是PLDA建模中,长度归一化都是对提取出的说话人嵌入进行的额外步骤,而且是一种端到端的方式。

如第2.1节所述,传统i向量方法中的后端建模通常在单位长度超空间上执行。然而,当它变成端到端的深层神经网络时,在实际应用中,后端softmax分类器通常采用基于内积的FC层,没有标准化。这意味着,如果要对抽取的深部说话人嵌入(如代表性的x向量)进行余弦相似性或PLDA,则应首先用单位长度对其进行手动规格化。它激发了我们是否有可能学习深度说话人嵌入在端到端mannerwithincommonclassificationnetwork中的长度规范化。人们可能想知道端到端方式的长度规范化和端到端方式的长度规范化之间的实质性区别。计算机视觉界[23,24]对此问题进行了研究。深度归一化的效果相当于在原始损失函数上添加了nl2约束。由于深度说话人嵌入是以端到端的方式固有地进行长度规范化的,因此我们的优化目标不仅要求说话人嵌入被分离,而且还要求被约束在一个小的单位超空间上。这使得网络的训练变得更加困难,但另一方面,可以大大提高网络的泛化能力。为此,一个简单的做法是在输出层之前添加一个L2normalization层。然而,我们发现,训练过程可能不会收敛,并导致相当差的表现,特别是当输出类别的数目非常大时。其原因可能是单位长度超球体的表面积将没有足够的空间来容纳如此多的说话人嵌入,而且还允许它们的每一类是可分离的。如[23,24]所述,我们引入一个尺度参数α来将长度归一化的说话人嵌入到合适的半径中。尺度层可以将单位长度的说话人嵌入到参数α给定的固定半径内。因此,我们引入的深度归一化的完整公式可以表示为

在批处理数据序列中,f(XI)是网络倒数第二层的相应输出,并对深层规范化嵌入进行预处理。图3展示了具有深度特征规范化的端到端系统架构。长度规范化的说话人嵌入可以直接输入到输出层,网络中的所有组件都通过统一的交叉熵损失函数进行优化:

其中M是训练批大小,C是输出类别,yi是深度规范化嵌入,ci是对应的地面真值标签,W和b是作为后端分类器的网络最后一层的权重和偏差。总的来说,只有一个标量参数α被引入,并且它可以与网络的其他组件一起固有地训练。这个尺度参数α对性能有着至关重要的影响,因为它决定了长度规范化超空间的半径。该网络在α较小的小半径超空间上有较强的L2constraint,但存在不收敛的风险。因此,选择合适的α并将特征归一化为具有合适半径的超空间是非常重要的。为了优雅起见,我们可能更喜欢通过反向传播自动学习参数α。然而,由于交叉熵损失函数只考虑说话人嵌入的分离是否正确,因此容易增加α值以满足要求。因此,网络学习到的α值可能总是很高,这导致了一个松弛的L2约束[23]。一个更好的实践是将α作为hype参数,并用一个低值常数固定它,以扩大L2约束。然而,对于大量的类别来说,太小的α可能会导致未综合的情况。因此,我们应该找到α的最佳平衡点。在给定训练数据集的C类个数的情况下,为了得到p的分类概率得分,文[23]给出了α的理论下界

在测试阶段,在L2规范层之后提取说话人嵌入。由于嵌入已经被标准化为单位长度,因此可以使用简单的内积或PLDA来获得最终的相似性分数

Voxceleb1是一个大规模的独立于文本的SR数据集,它收集了来自1251位名人的超过100000条话语[25]。重点研究了它的开放集验证任务。

共有1211个名人在发展数据集。测试数据集包含了其余40位名人的4715条话语。共有37720对试验,其中真试验18860对。为了评估系统性能,我们报告了在PT arget=0.01和PT arget=0.001时的等错误率(EER)和标准化检测成本函数(minDCF)最小值的结果,如表2和表3所示。

我们基于Kaldi工具包[26]构建了一个参考的i-向量系统。首先,将20维mel频率倒谱系数(MFCC)与其delta系数和双delta系数相加,得到60维MFCC特征向量。然后,基于帧级能量的语音活动检测(VAD)选择与语音帧相对应的特征。训练了2048个分量的全协方差GMM-UBM,同时训练了400维i向量抽取器和全秩PLDA。

音频转换为64维对数mel滤波器组能量,帧长为25 ms,在3秒的滑动窗口上平均归一化。帧级基于能量的语音活动检测(VAD)选择与语音帧相对应的特征。为了获得更高层次的抽象表示,我们基于著名的ResNet-34体系结构设计了一个深卷积神经网络(CNN)[27],如表1所示。然后在前端深层CNN的基础上,采用最简单的平均池层来提取话语水平的平均统计信息。因此,给定64×L形状的输入数据序列,其中L表示可变长度的数据帧,我们最终得到128维的话语水平表示。

该模型采用典型的动量为0.9的随机梯度下降和权重衰减1e-4,最小批量为128。学习率设置为0.1、0.01、0.001,并在训练停滞时切换。对于每个训练步骤,随机生成一个[300800]间隔内的整数,并将小批量中的每个数据裁剪或扩展到L帧。模型训练完成后,在神经网络倒数第二层后提取128维说话人嵌入。

我们首先研究了尺度参数α的设置。对于表3和图4中的系统,采用余弦相似性或等效L2标准化内积来度量说话人嵌入之间的相似性。从图4可以看出,所提出的L2规范化深度嵌入系统的最佳minDCF分别为0.475、0.586和5.01%,明显优于基线系统。根据方程(3),对于1211的C类说话人和0.9的概率得分p,α的理论下限为9。当α低于下限时,性能较差,且α高于下限时性能稳定。实验中的最佳α为12,略大于下界。进一步比较了深部长度归一化策略和传统的超长归一化策略在整个SV管道中的效果。结果见表2。无论是在i矢量还是基线深度说话人嵌入系统中,额外的长度归一化步骤加上PLDA评分都能获得最佳的性能。当它变成L2规范化的深度说话人嵌入系统时,因为从神经网络中提取的说话人嵌入已经被规范化到单位长度。
我们不需要额外的长度标准化步骤。在测试阶段,一个简单的内部产品达到了最好的性能,甚至比PLDA评分结果稍好。这可能是我们的二语规范化说话人嵌入高度优化的原因,这可能与PLDA引入的目标函数不兼容。

本文探讨了端到端SV系统中的一种深度规范化策略。在深层神经网络的输出层之前,我们增加了一个L2标准化层和一个尺度层。这种简单而有效的策略使得学习到的深层说话人嵌入以端到端的方式规范化。尺度参数α的取值对系统性能至关重要,特别是当输出类别数目较大时。实验表明,通过设置适当的α值可以显著提高系统的性能。在L2规范化深度嵌入系统的测试阶段,一个简单的内积可以达到最先进的水平。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值