2019-Gaussian-Constrained Training For Speaker Verification

2019.2–Gaussian-Constrained Training For Speaker Verification

Lantian Li, Zhiyuan Tang, Ying Shi, Dong Wang
Center for Speech and Language Technologies, RIIT, Tsinghua University, China
Beijing National Research Center for Information Science and Technology
清华大学国际信息技术学院语音与语言技术中心
北京国家信息科学技术研究中心

ABSTRACT
神经模型,特别是d-向量和x-向量结构,在许多说话人验证任务中产生了最先进的性能。然而,这些神经模型的两个潜在问题值得进一步研究。首先,两个模型都存在“信息泄漏”,这意味着在推理过程中,参与模型训练的一些参数将被丢弃,即用作分类器的层。其次,这些模型不调节导出的说话人矢量的分布。这种“无约束分布”可能会降低后续评分组件(如PLDA)的性能。本文提出了一种高斯约束的训练方法:(1)丢弃参数分类器,(2)使导出的说话人矢量分布为高斯分布。我们在V-oxCeleb和SITW数据库上的实验表明,这种新的训练方法产生了更具代表性和规则性的说话人嵌入,从而导致一致的性能改进。

  1. INTRODUCTION
    自动说话人验证(ASV)是一种重要的生物认证技术,具有广泛的应用前景。目前的ASV方法可分为两类:最受欢迎的统计模型方法[1,2,3]和最近出现但显示出巨大潜力的神经模型方法[4,5,6]。也许最著名的统计模型是高斯混合模型——通用背景模型(GMMUBM)[1]。它通过UBM分解语音信号的方差,然后根据该分解建立单个说话人的模型。更简洁的模型设计子空间结构以提高统计强度,包括联合因子分析模型[2]和i-向量模型[3]。通过判别模型(如PLDA[7])或语音知识转移(如基于DNN的i-vector模型[8,9]),可以获得进一步的改进。

神经模型方法也被研究了很多年,但是直到最近训练大规模神经模型成为可能,它才像统计模型方法那样流行。Ehsan等人报告了最初的成功。在与文本相关的任务[4]中,从深度神经网络(DNN)的最后一个隐藏层提取帧级说话人特征,并通过平均帧级特征导出基于话语的说话人向量(“d向量”)。学习帧级说话人特征具有许多优点,这为深入理解语音信号铺平了道路。研究人员从两个方向跟踪了埃桑的研究。在第一个方向上,设计了更适合语音的DNN体系结构,目的是在保持简单的d矢量体系结构不变的情况下学习更强的帧级说话人特征[6]。在第二个方向,研究人员追求端到端的解决方案,直接产生话语水平的说话人向量[5,10,11,12]。这方面的一个代表性工作是Snyder等人提出的x矢量体系结构。[12],它从帧级特征的一阶和二阶统计中生成话语级说话人向量(x向量)。然而,对于d-向量和x-向量架构,存在两个潜在的问题。首先,DNN模型在模型训练过程中包含一个参数分类器(即最后一个仿射层)。这意味着训练数据中涉及的部分知识被用来学习分类器,最终在推理过程中被丢弃,从而导致潜在的“信息泄漏”。其次,这些模型不调节导出的说话人矢量在帧级或话语级的分布。不受控制的分布会降低后续的评分成分,特别是假设说话人向量为高斯分布的PLDA模型[7]。针对这两个问题,本文提出了一种高斯约束训练方法这种新的训练方法将(1)丢弃参数分类器以减少信息泄漏,(2)强制导出的说话人矢量分布为高斯分布以满足评分分量的要求。我们在两个数据库上的实验表明,该方法可以产生,与常规的说话人矢量相比,更具代表性的d矢量和x矢量模型,这反过来又导致一致的性能提高。本文的结构如下。第二节简要介绍了x向量和d向量模型,第三节提出了高斯约束训练。实验报告见第4节,论文总结见第5节。

  1. OVERVIEW OF X-VECTOR AND D-VECTOR MODELS
    x矢量模型和d矢量模型是ASV研究者采用的两种典型的神经模型。这些模型的架构如图1所示,以一种比较的方式。对于x矢量模型,它由三个部分组成。第一部分用于帧级特征学习。该分量的输入是一系列声学特征,例如滤波器组系数。经过若干个前馈神经网络,输出一系列帧级说话人特征。第二部分是统计池层,其中计算帧级特征的统计,例如平均值和标准差。此统计池将可变长度的输入映射到固定维向量。第三个分量用于产生话语级的说话人矢量。该组件的输出层是softmax,其中每个输出节点对应于训练数据中的特定扬声器。该网络被训练成根据输入的话语来区分训练数据中的所有说话人。一旦模型得到很好的训练,就可以从最后一个组件的一个层读取话语级的说话人向量,即x向量,然后使用评分模型,例如PLDA,对试验进行评分。d向量模型有一个相似但更简单的结构。它由两部分组成,一部分是帧级特征学习,与x矢量模型的第一个分量相同;另一部分是帧级说话人嵌入,与x矢量模型的第三个分量相同。由于整个体系结构是基于帧的,因此不需要池化层。该网络被训练成在训练数据中区分说话人,但受每一帧的限制。训练完成后,通过平均帧级特征,导出话语级说话人向量,即dvectors。最后,使用PLDA等评分模型对试验进行评分。

  2. GAUSSIAN-CONSTRAINED TRAINING
    如第1节所述,d-向量和x-向量模型都存在(1)信息泄漏和(2)说话人向量的无约束分布。我们提出一个高斯约束的训练方法来解决这些问题。简单地说,该方法在嵌入层的输出端引入高斯先验,在训练的目标函数中,高斯先验可以表示为正则项。利用这种增强过的目标函数进行训练,可以使分类层的参数更具有可预测性,因此参数的限制会更少。同时,它会促使模型在帧级(对于d向量)或话语级(对于x向量)产生更多高斯说话人向量。为了清晰的表达,我们将使用x-向量模型来描述过程,而相同的参数直接应用于d-向量模型。具体地说,如果训练集中的所有话语水平x向量都已导出,则可以通过对属于该说话人的所有话语水平x向量进行平均来简单地获得说话人水平x向量。正式写法如下:

可以看作是一个非参数分类器。如果我们使用这个非参数分类器来代替图1中x向量模型的参数分类器(通常是最后一个仿射层),我们就达到了Li等人提出的全信息训练。[13]。该模型可采用经典交叉熵(CE)准则进行训练,公式为:

其中x和凝视第t个言语和相应的基本真理标签。注意,CE上的梯度将完全传播到特征学习组件的权重,因为分类器(2)的参数是{v(s)},这也依赖于特征学习组件。这意味着利用数据的所有知识来学习特征分量,从而修正信息泄漏问题。然而,我们不能在实际实现中使用由{v(s)}参数化的“虚拟分类器”;相反,我们求助于设计真正的参数化分类器的工程解决方案,并定期用{v(s)}替换参数。这种训练和替换方案在许多情况下都能很好地工作[13],但可能会减慢训练速度或引起波动。一个更优雅的方法是保留分类器参数,但是引入一个正则化项,鼓励参数接近{v(s)}。为此,设计了以下正则化项:

其中θ重新表示与扬声器s对应的输出节点相关联的分类器中的参数。通过此正则化,训练目标由下式给出:

其中α控制正则化的强度。显然,如果α足够大,θswill收敛到说话人级x矢量{v(s)}。此外,很明显,正则化项R鼓励属于说话人s的所有话语级x向量f(xt)为高斯N(θs,I)。因此,我们将这种新的训练方法称为高斯约束训练。

高斯约束训练具有许多优点。首先,它鼓励分类器的参数收敛到说话人级的x-向量,这等于逐渐去除这些参数。这缓解了信息泄漏问题,但不受全面信息培训的不稳定性的影响。因此,高斯应变训练可以看作是一种软全信息训练。其次,它鼓励话语级x向量是高斯的,这是许多评分模型,特别是PLDA的关键要求。第三,这种方法是灵活的。我们可以选择α来控制正则化的强度,或者选择其他正则化形式来产生其他分布形式的说话人向量。

  1. EXPERIMENTS
    4.1. Data
    实验中使用了三个数据集:VoxCeleb、SITW和CSLT-SITW。V-oxCeleb用于模型训练,另外两个用于评估。关于这三个数据集的更多信息如下。

VoxCeleb:英国牛津大学(University of Oxford,UK)[14]收集的大型自由说话人数据库。
整个数据库包括两部分:VoxCeleb1和VoxCeleb2。由于VoxCeleb和SITW共享了部分说话人,因此进行了一次简单的数据清除,以删除共享说话人的所有数据。清除的数据集包含来自7185个说话人的1236567个话语。该数据集用于训练d-向量模型和x-向量模型,以及LDA和PLDA模型。数据增强被应用,其中MUSAN语料库[15]被用来生成噪声话语,而房间脉冲响应(RIRS)语料库[16]被用来生成混响话语。

SITW:一个标准数据库,用于测试实际条件下的ASV性能[17]。它是从开源媒体渠道收集的,由299位知名人士的语音数据组成。有两个标准的测试数据集:Dev.Core和Eval.Core。我们在实验中用这两组进行了第一次评估。请注意,它的声学条件与TrainingsetVoxCeleb的相似,因此此评估可视为条件匹配评估。

CSLT-SITW:清华大学CSLT收集的小数据集。它由11个说话人组成,每个说话人通过几部手机记录几个中文数字字符串。每个字符串包含8个中文数字,持续时间约为2-3秒。场景包括实验室、走廊、街道、餐厅、公共汽车和地铁。在录音过程中,演讲者们变换了姿势,手机被放置在附近和远处。总共有6915句话。

4.2. Settings
为了进行综合比较,按照Kaldi-SITW方法[18]建立了三个基线系统:i-vecto系统、x-vector系统和d-vector系统。
对于i矢量系统,声学特征包括24维MFCCs加上对数能量,再加上一阶和二阶导数。我们还应用倒谱平均归一化(CMN)和基于能量的语音主动检测(VAD)。UBM由2048个高斯分量组成,i向量空间的维数为400。在PLDA评分前应用LDA将i向量的维数降到150。对于x矢量系统,特征学习部分是一个5层时滞神经网络(TDNN)。这五个TD层的切片参数为:{t-2,t-1,t,t+1,t+2},{t-2,t,t+2},{t-3,t,t+3},{t},{t},{t}。统计池层计算语音段的帧级特征的平均值和标准差。输出层的大小为7185,与训练集中的扬声器数量相对应。训练后,倒数第二隐藏层的512维激活将作为x矢量读出。然后用LDA将该向量降为150维向量,最后用PLDA模型对试验进行评分。详见[19]。在高斯约束训练中,超参数α的经验设置为0.05。对于d-向量系统,DNN结构与x-向量系统相似。唯一的区别是x向量模型中的统计池层被一个TD层所代替,该TD层的切片参数设置为{t-3,t,t+3}。训练后,从倒数第二隐藏层的输出中提取512维深度说话人特征,并通过平均池得到话语级d矢量。同样地,通过LDA将d向量转换为150维向量,并使用PLDA模型对试验进行评分。高斯约束训练的超参数经验设置为0.01。
4.3. Results
4.3.1. SITW
The results on the two SITW evaluation sets, Dev. Core and Eval. Core, are reported in Table 1 and Table 2,respectively.
结果报告了三个指标:等错误率(EER)和最小标准化检测成本函数(minDCF),两个设置:一个设置的先验目标概率Ptarset为0.01(DCF(10-2)),另一个设置的Ptarset为0.001(DCF(10-3))。从这些结果可以看出,所提出的高斯约束训练对x向量和d向量系统都有改善作用。此外,这种方法对于x向量系统似乎更有效。一个可能的原因是,对于d向量系统,平均池可能损坏高斯特性。另一个可能的原因是,与x矢量系统中的话语水平约束相比,d矢量系统中的帧水平约束可能导致不稳定的参数更新。然而,还需要更多的调查来理解这种差异。
4.3.2. CSLT-SITW
在CSLT-SITW集合上的性能如表3所示。注意,声学特性和语言条件与训练数据明显不同。从表3可以看出,尽管存在这种不匹配,高斯约束训练仍然在x向量和d向量系统上提供一致的性能改进,至少在EER和DCF方面(10-2)。DCF(10-3)的奇怪退化可能是由于这种新的训练方法强调不同的操作点,需要更多的分析。

  1. CONCLUSIONS
    本文提出了一种高斯约束训练方法,可应用于ASV的基于特征的系统(d-vector)和基于话语的系统(x-vector)。其基本思想是实施一个无参数分类器,使得训练数据的所有知识都能被特征分量学习;此外,它还鼓励导出的说话人特征,无论是帧级还是话语级,都是高斯的。前者可以更有效地利用训练数据,后者则可以提高PLDA评分。实验结果表明,该方法不仅在匹配数据上,而且在非匹配条件下,都能获得一致的性能改善。对于未来的工作,将进行更全面的分析,以了解高斯约束训练的行为,例如约束对不同层的影响。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值