用于独立于文本的说话人验证的自我注意说话人嵌入

Self-Attentive Speaker Embeddings for Text-Independent Speaker Verification

用于独立于文本的说话人验证的自我注意说话人嵌入

用于独立于文本的说话人验证的自我注意说话人嵌入

Self-Attentive Speaker Embeddings for Text-Independent Speaker Verification

摘要

 

本文提出了一种从深层神经网络(DNN)中提取说话人嵌入信息的新方法。用于与文本无关的说话人验证。通常,说话人嵌入是从说话人分类DNN中提取的,该DNN对说话人帧上的隐藏向量进行平均;从所有帧产生的隐藏向量被认为同样重要。我们放松这个假设,计算说话人嵌入作为说话人帧级隐藏向量的加权平均,并且它们的权重由自注意机制自动确定。为了捕捉说话者输入语音的不同方面,还研究了多个注意头的效果以捕获说话者输入语音的不同方面。最后,使用PLDA分类器对嵌入对进行比较。将该自注意说话人嵌入系统与NIST SRE 2016上的强DNN嵌入基线进行了比较。我们发现,自聚焦嵌入实现了优异的性能。此外,自注意说话人嵌入方法产生的改进与短测试语音和长测试语音是一致的。

 

关键词:说话人识别,深度神经网络,自我关注,X向量

 

 

 

1、引言

 

说话人验证(SV)是根据给定的语音接受或拒绝说话人的身份声明的任务。SV系统有两大类:文本相关和文本无关的SV系统。依赖于文本的SV系统要求输入语音的内容是固定的,而与文本无关的SV系统则不需要。

多年来,i-向量[1]和概率线性判别分析(PLDA)[2]的结合一直是文本无关SV任务[3,4,5]的主要方法。此外,将训练用于自动语音识别(ASR)的深层神经网络(DNN)结合到i-向量系统中的混合方法在一些情况下被证明是有益的[6,7,8,9,10]。然而,ASR DNN给i-vector系统增加了相当大的计算复杂度,并且需要转录数据用于训练。此外,种方法的成功主要与英语数据集隔离[11]。另一方面,最近的工作表明,通过直接训练说话人区分DNN[12、13、14、15、16、17],可以构建更强大的SV系统。HigGod等。介绍了一种用于文本相关的SV任务的端到端系统,该系统被联合训练以将帧级特征映射到说话人嵌入,并学习相似性度量以比较嵌入对[13]。然后,该系统适应于在[15 ]中与文本无关的SV更一般的任务。 [16]中的工作将端到端系统分为两个部分:一个用于生成扬声器嵌入的DNN和一个用于比较嵌入对的单独训练的PLDA分类器。与端到端方法相比,这种方法需要更少的数据才能有效,并且具有额外的好处,便于重复使用多年来开发的方法来处理和比较i向量。我们在这项工作中继续使用这种两阶段方法。

 

 

大多数基于DNN的SV系统使用池机制将可变长度的发音映射到固定维的嵌入。在前馈体系结构中,这通常由池化层实现,该池化层对整个输入发音的帧级DNN特性进行平均。在早期的系统中,如[12]中的d-向量,DNN在帧级训练,并且通过平均输入发音的所有帧上最后一个隐藏层的激活向量来执行合并。[15,16,17]中的工作建议增加一个统计池,该层将DNN隐藏向量聚合到说话者的整个发音上,并计算其平均值和标准偏差。然后,统计向量被连接在一起,以形成段级输入话语的固定长度表示。从这些段级表示的进一步处理导出说话人嵌入。然而,在大多数以前的工作中,这种池机制为每个帧级特性分配了相等的权重。张等人,提出了使用注意力模型来组合文本依赖SV应用程序的帧级特征[14]。注意模型以语音后验特征和语音瓶颈特征为额外来源,学习帧级特征的组合权重。

 

本文提出了在[17 ]中描述的X矢量体系结构的扩展。为了在输入语音中更好地利用说话人信息,我们提出使用由结构化自注意机制学习并合并到加权统计汇聚层的帧级权重。与[14]中的工作相比,我们的任务是文本无关的,并且训练和测试数据之间存在语言不匹配,因此语音信息可能没有帮助,甚至不可用。自注意机制最初被提出用于提取自然语言处理任务的句子嵌入[18]。基于[S]中的系统,我们将[18 ]中的自我注意机制适应于文本无关的SV。

 

2、说话人确认系统

 

我们比较所提出的方法与两个基于X矢量的SV基线系统。所有系统都是使用Kaldi语音识别工具包(19)构建的。

 

 

 

2.1.X向量基线系统

 

X向量基线是基于(17)中描述的系统。训练说话人鉴别DNN以产生称为x矢量的说话人嵌入,并且使用PLDA后端来比较说话人嵌入对。

 

输入声学特征是帧长为25ms的23维MFCCs,它们在最多3秒的滑动窗口上进行平均归一化。采用基于能量的VAD从话语中过滤出非语音帧。

 

在X向量基线系统中使用的DNN如图1所示。前五层l1至l5采用时延体系结构,它们在帧级工作。St-姿势T是当前的时间步长。从(T 2)到(T + 2)的帧在输入层上被拼接在一起。接下来的两层分别在时间步骤t 2、t、t+2和t 3、t、t+3拼接前一层的输出。没有时间上下文被添加到第四层和第五层。因此,在第三层之后的总时间上下文是15帧。

 

统计汇聚层在DNN的帧级输出向量上聚集,并计算它们的平均值和标准偏差。这种汇聚机制使得DNN能够从可变长度的语音段产生固定长度的表示。均值和标准偏差被连接在一起,并被转发到另外两个隐藏层l6和17,最后是软最大输出层。DNN被训练来对训练器中的说话人进行分类。训练后,丢弃软最大输出层和最后一个隐藏层,从l6的仿射分量中提取说话人嵌入。该系统使用PLDA后端进行评分,这在第2.3节中进行了描述。所有的神经单元都是整流线性单元(RelUS)

2.2.自我注意的说话人嵌入

 

自注意机制可以有效地将可变长度的序列编码为一些固定长度的嵌入。受[18]中提出的用于句子嵌入的结构化自我注意机制的启发,我们将其应用于改进图1所示的x向量基线系统中的说话人嵌入。

 

在当前的x矢量系统中,统计汇聚层平等地对待其先前隐藏层的所有帧级输出。然而,并非所有帧都向上层提供“相等”的扬声器鉴别信息。例如,不幸地通过VAD和短停顿的非语音帧是没有用的,并且一些语音内容可能更具有说话人区分性。在本文中,统计汇集层被如图2所示的自我关注层所替代,以便从每个语音段上前一个隐藏层的输出中去掉加权平均值和标准偏差向量。使用自注意机制学习权重,使整个系统的说话人分类性能最大化。

2.3.PLDA后端

 

我们使用相同类型的PLDA后端作为(16, 17)COM配对成对的嵌入。嵌入是集中的,并且使用LDA来投影,这将维度从512降低到150。在降维后,利用PLDA对表示进行长度归一化和建模。分数采用自适应S范数〔20〕也不进行积分。

 

 

 

3、实验装置

 

3.1.模型配置

 

 

 

在x矢量基线系统中,输入大小包括上下文115,在前四个帧级隐藏层l1至l4中的每个都有512个节点,而最后一个帧级l5具有dh=1500个隐藏节点。两个段级层L6和L7中的每一个具有512个节点。对于自关注层,DA设置为500。

 

 

 

3.2.培训数据

 

 

 

培训数据主要由英语电话语音(带有少量的非英语和麦克风语音)、取自交换机数据集、过去的NIST说话人识别评估(SRE)和混合器6组成。交换机部分由交换机2阶段1、2、3和交换机Cel-lular组成,它包含大约28k个来自2.6k扬声器的记录。SRE部分包括2004-2010年的NIST SRE数据,以及Mixer 6,用于4.4k扬声器总共约63k个录音。[17]中描述的四种数据增强技术,即,唠叨、音乐、噪声和混响[21],用于增加训练数据的量并改善系统的稳定性。对嵌入DNN系统的说话人进行纯净数据与增强数据联合训练,对PLDA分类器只使用纯净和增强的SRE子集进行训练。

 

 

 

3.3评价

 

 

 

系统性能评估NIST 2016扬声器重新评估评估(SRE16)〔22〕。SRE16由粤语和塔加洛语组成。报名时间段长约60秒,考试时间段长约10至60秒。用等差错率(EER)和官方评估标准DCF16对SRE16[22]进行了性能报告,该标准DCF16分别由两个操作点PTarget=0.01、PTarget=0.005平均的正规化检测成本函数(DCF)计算。

4、结果

 

在下面的结果中,“基线”指的是2.1节中描述的x矢量基线。标签“attn-k”表示第2.2节中描述的具有k个注意头的自注意嵌入系统。

 

 

 

4.1总体结果

 

SRE16结果汇总在表1中。在产生均值结果时,各种系统仅利用一阶统计量来产生说话人嵌入。也就是说,“基线”从输入话语的所有帧中计算简单的非加权平均值,而“attn-k”使用自我关注层计算加权平均值。另一方面,在平均+STDDEV结果中使用第一阶和第二阶统计量。

一般来说,自注意系统的性能优于从简单平均汇聚层派生说话人嵌入的基线系统,并且更多的注意力头获得更大的改进。例如,当只使用平均向量时,单头注意系统在EER中好16%,在广东话中好3%,在EER中好12%,在Tagalog中好4%。另一方面,5头系统在EER和DCF16上的性能分别比基线提高了21%和13%,EER和DCF16上的性能分别提高了15%和3%。当两个语言之间的性能相结合时,最佳自关注系统在EER中比基线性能高16%,在DCF16中比基线性能高6%。图3显示了当在广东话和Tagalog中汇集性能时,仅针对平均值系统的检测误差折衷(DET)曲线。

我们还比较了自注意说话人嵌入系统和Snyder等人报道的传统i-向量系统的性能。〔16〕。综合各种语言,最优的5头自关注嵌入系统在EER中比i矢量系统好25%,在DCF16中好22%。

 

 

 

4.2.不同持续时间的测试话语结果

 

我们还研究了绩效和持续时间之间的相互作用。根据测试的语音持续时间,将测试话语分为3组。表2和表3报告了不同系统在三个不同持续时间组上的平均+stddev性能。我们可以看到,除了少数例外,

(a)自注意嵌入在所有不同时段组中都带来改善;(b)如所预期的,SV性能随着发音时间的延长而更好;(c)一般来说,自注意系统随着脑袋的增多而性能更好。例如,在粤语中,单头系统在前两组中语音的EER提高2%,在最后一组中达到9%;DCF16的改善在所有持续时间组中是相当一致的,对于单头系统,大约是10%。多头系统获得更大的收益。5头自注意系统在所有时段组中EER提高13-16%,DCF16提高11%。在Tagalog上,单头系统得到最大的改进:在所有持续时间组中,EER改善约5%,DCF16改善2-6%。

 

注意,在我们目前的实验中,为了给每个说话人提供足够的训练例子并增加训练例子的多样性,我们已经将训练发音分成200-400帧的片段。在DNN训练之后,从整个重新编码中提取说话人嵌入。因此,在训练和测试持续时间之间可能存在不匹配。如果可用的数据更多,因此我们不需要对数据进行分块,则可以实现更好的性能。

5.结论

我们提出了一种新方法,通过在DNN嵌入中引入自我关注机制来提取用于文本无关的说话者验证的说话人嵌入。 新的扬声器嵌入在SRE16上进行评估,这是一项具有挑战性的任务,因为主要的英语培训数据与粤语或塔加拉族语评估数据之间存在语言不匹配。 我们发现,在不同长度的话语上进行测试时,所提出的自我注意扬声器的表现优于传统的i-vector系统和强大的DNN嵌入基线。 通过增加注意头的数量,进一步获得了持续的改进。 我们认为,具有大块语音段的训练策略可能不是自我关注机制的最佳选择。 在未来的工作中,我们将修改培训策略并尝试更大的培训语料库。 我们还将研究多头注意的不同惩罚条款。

猜你喜欢

转载自blog.csdn.net/weixin_38858860/article/details/84792256
今日推荐