语音切割,个人VAD (google 2019 论文翻译)

论文:https://arxiv.org/pdf/1908.04284.pdf

题目:PERSONAL VAD: SPEAKER-CONDITIONED VOICE ACTIVITY DETECTION

摘要

在本文中,我们提出了“个人VAD”系统,该系统可以在帧级别检测目标说话者的语音活动。 该系统可用于对流语音识别系统的输入进行门控,使其仅为目标用户触发,这有助于降低计算成本和电池消耗。 我们通过训练以目标说话人嵌入或说话人验证分数为条件的类似VAD的神经网络来实现这一目标。 对于每帧,个人VAD输出三类的分数:非语音,目标说话者语音和非目标说话者语音。 通过我们的最佳设置,我们能够训练一个130KB的模型,该模型的性能优于基准系统,在基准系统中,单独训练的标准VAD和说话者识别网络相结合可以执行相同的任务。

1.介绍

在现代语音处理系统中,语音活动检测(VAD)通常位于其他语音组件(例如语音识别和说话者识别)的上游。 作为门控模块,VAD不仅通过丢弃非语音信号提高了下游组件的性能,而且由于其相对较小的尺寸,还大大降低了总体计算成本。
典型的VAD系统使用具有声学特征的帧级分类器为每个音频帧做出语音/非语音决策(例如,宽度为25ms,步长为10ms)。差的VAD系统可能会错误地接受背景噪声作为语音,或者错误地拒绝语音。错误接受非语音,因为语音会大大减慢下游自动语音识别(ASR)处理。由于ASR模型通常比VAD模型大得多,因此它在计算上也很昂贵。另一方面,错误的拒绝语音会导致ASR转录中的删除错误(几毫秒的音频丢失会删除整个单词)。 VAD需要在具有挑战性的环境中正常工作,包括嘈杂的环境,混响的环境以及具有竞争性言语的环境。为了找到最佳的VAD功能和模型,人们进行了大量研究[1,2,3,4,5]。在文献中,基于LSTM的VAD是一种流行的体系结构,用于VAD任务的顺序建模,显示了最新的性能[3,5]。
在许多情况下,尤其是设备上的语音识别[6],通常会限制计算资源,例如CPU,内存和电池。 在这种情况下,我们希望仅在目标用户与设备通话时才运行诸如语音识别之类的计算密集型组件。 当仅存在来自其他讲话者的语音信号或电视噪音时,在后台错误触发此类组件会导致电池耗电和不良的用户体验。 因此,只有一个小模型只能通过目标用户的语音信号是非常必要的,这是我们开发个人VAD系统的动力。 据我们所知,这项工作是旨在检测目标说话者语音活动的第一项工作。
拟议的个人VAD是类似VAD的神经网络,其条件是目标讲话者嵌入或讲话者验证得分。个人VAD可以将确定范围扩展到三类:非语音,目标说话人语音和非目标说话人语音,而不是确定标准VAD中的帧是语音还是非语音。我们提出了四种不同的体系结构来实现个人VAD,如第2.2节所述。在训练个人VAD时,我们首先将其视为三类分类问题,然后使用交叉熵损失来优化模型。此外,我们注意到,非语音和非目标说话者语音之间的区别性相对不如个人VAD中目标说话者语音与其他两个类别之间的区别重要。因此,我们进一步提出了加权成对损失,以强制模型学习这些差异,如第2.3节所述。我们在LibriSpeech数据集[7]上评估模型,并在3.2节中描述了实验设置,在3.5节中介绍了结果。结论在第4节中得出。

2.方法

2.1 说话人识别系统的概括

个人VAD依赖于预先训练的独立于文本的说话者识别模型,以将说话者身份编码为嵌入向量。 在这项工作中,我们使用[8]中介绍的“ d矢量”模型,该模型已成功应用于各种应用,包括说话者二值化[9,10],语音合成[11],源分离[12]和语音 翻译[13]。 我们使用来自8种语言的数据对模型进行了重新训练,以提高语言的鲁棒性和性能。 在推论过程中,模型在滑动窗口上生成嵌入,并使用名为“ dvector”的最终聚合嵌入来表示这种话语的语音特征。 两个d矢量嵌入之间的余弦相似度可用于测量两个语音的相似度。
在实际的应用程序中,要求用户在启用说话者验证或个人VAD之前遵循注册过程。 在注册过程中,根据目标用户的录音计算出d矢量嵌入,并将其存储在设备上。 由于注册是一次性的体验,并且可以在服务器端进行,因此我们可以假设嵌入在运行时是没有损失的。
在这里插入图片描述
图1.实施个人VAD的四种不同架构:(a)SC:独立运行标准VAD和帧级说话人验证,并将其结果组合在一起。 这用作其他方法的基准。 (b)ST:将帧级说话者验证分数与声学特征相结合,以训练个人VAD模型。 (c)ET:串联的扬声器嵌入了声学功能,可以训练个人VAD模型。 (d)设置:将说话者验证分数和说话者嵌入与声学特征结合起来,以训练个人VAD模型。

2.2 系统结构

个人VAD系统应该为三个类别生成帧级别的类别标签:非语音(ns),目标说话人语音(tss)和非目标说话人语音(ntss)。 如图1所示,我们实现了四种不同的体系结构来实现个人VAD。所有四种体系结构都依赖于目标演讲者的嵌入,该嵌入是通过注册过程获得的。

2.2.1 Score combination (SC)

如图1(a)所示,此方法不需要训练任何新模型,因此我们将其用作其他方法的基准。标准VAD模型和说话者识别模型在声学功能上独立运行。标准VAD为每个帧产生语音(s)和非语音(ns)的softmax概率。说话人识别模型在每个帧处产生一个嵌入,并针对目标说话人嵌入进行验证。所得的余弦相似度可以重新缩放,并与s的概率结合以获得tss和ntss的概率,并且ns的概率直接用于ns类。
该体系结构有两个主要缺点。首先,它在帧级别上运行基于窗口的说话人识别模型,并且这种不一致会导致性能显着下降。但是,训练框架级别的说话人识别模型由于难以处理不同长度的批量话语而无法扩展。其次,此体系结构需要在运行时运行说话者识别系统,这可能会很昂贵,因为说话者识别模型通常比VAD模型要大得多。

2.2.2 Score conditioned training (ST)

如图1(b)所示,此方法使用说话人识别模型为每个帧生成一个余弦相似度评分,并将该余弦相似度评分连接到声学特征。 我们的声学特性是40维对数梅尔滤波器组能量。 因此,级联后,特征变为41维。 我们训练了一个新的个人VAD网络,该网络将连接的要素作为输入,并为每个帧输出三个类别标签。

2.2.3 Embedding conditioned training (ET)

如图1(c)所示,此方法将目标说话人嵌入(通过注册过程获取)与声学特征直接连接在一起,以训练新的个人VAD网络以在帧级别输出三个标签。 我们的嵌入是256维的,因此此处的串联特征是296维的。
由于此方法不需要在运行时运行大型说话人识别模型,因此它是所有体系结构中最轻便的解决方案。
一种解释这种方法的方法是将其视为从大型说话者识别模型到小型个人VAD模型的知识提炼[14]过程。

2.2.4 Score and embedding conditioned training (SET)

如图1(d)所示,此方法将嵌入语音特征的帧级说话人识别分数和目标说话人连接在一起,以训练新的个人VAD模型。 串联特征为297维。
这种方法利用了说话人识别系统中的大多数信息。 但是,它仍然需要在运行时运行说话者识别模型。

2.2成对加权损失

通过输入框x和相应的地面真相标签y∈{ns,tss,ntss},个人VAD可以被视为三元分类问题。 网络输出x在三个类别上的非标准化分布,表示为z = f(x; w),其中w是网络的参数。 我们用zk表示第k类的非归一化概率。 为了训练模型,我们将交叉熵损失最小化为:
在这里插入图片描述
其中k∈{ns,tss,ntss}
但是,在个人VAD中,我们的目标是仅从目标扬声器中检测语音活动。 分类为ns和nts类的音频帧将被下游组件类似地丢弃。 结果,之间的混淆错误比和之间的错误对系统性能的影响较小。 受Tuplemax损失[15]的启发,这里我们提出了一个成对加权损失,以模拟对每个类别对的不同容忍度。 给定z和y,我们将加权成对损失定义为:
在这里插入图片描述
其中w <k,y>是类别k和类别y之间的权重。 通过将<ns,ntss>错误的权重设置为低于<tss,ntss>和<tss,ns>错误的权重,我们可以强制模型更容忍<ns,ntss>之间的混淆,并着重于将tss与 ns和ntss区分开。

3. 实验

3.1 数据集

我们使用LibriSpeech数据集[7]来训练和评估所提出的方法。训练集包含960个小时的语音,其中460个小时是“干净”语音,其他500个小时是“嘈杂”语音。
测试集还包括“干净”和“嘈杂”的语音。我们还考虑使用其中每个话语都包含自然的说话人转弯的数据集,例如用于说话人二值化的数据集[9]。但是,这些数据集不包含单个演讲者的注册话语,因此它们不适用于我们的个人VAD设置。因此,我们必须将发声串联起来以模拟扬声器的转弯(请参阅第3.2.1节),然后对发声进行噪声化以减轻串联失真(请参见第3.2.2节)。
在所有实验中,我们使用串联的LibriSpeech训练集来训练模型。我们将使用原始LibriSpeech测试集和连接的LibriSpeech测试集进行评估,如以下小节所述。对于所有数据集,我们使用力对齐来生成用于训练和评估的帧级地面真相标签。

3.2 实验设置

3.2.1 Utterance concatenation

在标准VAD的训练语料库中,每种话语通常只包含来自一位发言人的讲话。 但是,个人VAD旨在在与多个说话者进行对话的过程中找到目标说话者的语音活动。 因此,我们不能直接使用标准VAD训练语料来训练个人VAD。 为了模拟对话语音,我们将来自多个说话者的话语连接成更长的话语,然后我们在连接话语中随机选择一个说话人作为目标说话人。
为了生成级联的话语,我们绘制一个随机数n,该数字指示从均匀分布中用于级联的话语数:
n ∼ Uniform(a, b),
其中a和b是用于级联的最小和最大发音数量。 将来自n个随机选择的发音的波形进行级联,并且将扬声器之一假定为级联发音的目标扬声器。 同时,我们根据目标说话者修改了每个帧的VAD地面真相标签:“非语音”帧保持不变,而“语音”帧被修改为“目标说话者语音”或“非目标” 说话者语音”,则取决于来源话语是否来自目标说话者。
在我们的实验中,我们为训练集生成了300,000个连接的话语,为测试集生成了5,000个连接的话语。 我们为两组都设置a = 1和b = 3。

3.2.2 Multistyle training

对于训练和评估,我们在数据集上应用了一种称为“多样式训练”(MTR)的数据增强技术,以避免域过度拟合并减轻级联伪像。 在MTR期间,使用随机选择的房间配置,通过多个随机选择的噪声源对原始(连接的)源话音进行噪声处理。 我们的噪声源包括在咖啡馆中记录的827种环境噪声音频,在无声环境中记录的786种音频以及包含背景音乐或噪声的6433个YouTube片段。 我们使用房间模拟器生成了300万个房间配置,以涵盖不同的混响条件。 我们的MTR的信噪比(SNR)的分布如图2所示。
在这里插入图片描述

图2.我们的多风格训练的SNR(dB)直方图。

3.3 模型配置

声学特征是40维对数梅尔滤波器组能量,该能量在宽度为25ms,步长为10ms的帧中提取。 对于标准VAD模型和个人VAD模型,我们使用具有64个神经元的2层LSTM网络,然后是具有64个神经元的完全连接层。 我们还尝试了更大的网络,但由于培训数据种类有限,因此未看到性能改善。 我们使用TensorFlow [16]进行训练和推理。 在训练期间,我们使用adam优化器,其学习率为5×10−5。 对于加权成对损失模型,我们设置w = w = 1并探索w∈{0.01,0.05,0.1,0.5,1.0}的不同值。 为了减小模型的大小并加速运行时推理,我们根据[17]将模型的参数量化为8位整数值
表1.体系结构和损失函数比较结果。 SC:分数组合,基线系统。 ST:分数条件训练。 ET:嵌入条件训练。 设置:评分和嵌入条件训练。 CE:交叉熵损失。 WPL:加权成对损耗(w = 0.1)。 我们报告每个类别的平均精度(AP),以及所有类别的平均平均精度(mAP)。 网络参数包括来自说话人识别模型的488万个参数(如果在推理过程中使用的话)。
在这里插入图片描述
在这里插入图片描述
图3.在加权成对损失中具有不同w <ns,ntss>值的个人VAD(ET)的平均精度(mAP)

这里可以看到使用MTR(多样式训练的数据增强技术)准确率可以提高5个百分点

3.4 指标

为了评估所提出方法的性能,我们计算了每个类别的平均精度(AP)和所有类别的平均精度(mAP)。 在计算mAP时,我们采用了micro-mean1来考虑类的不平衡。

3.5 结果

我们进行了三组实验以评估所提出的方法。 首先,我们比较了个人VAD的四种架构。 之后,我们检查了加权成对损失的有效性,并将其与常规交叉熵损失进行了比较。 最后,我们在标准VAD任务上评估个人VAD,以查看个人VAD是否可以替代标准VAD而不会降低性能。

3.5.1 架构比较

在第一组实验中,我们比较了图1中描述的四种个人VAD架构的性能。我们在级联的LibriSpeech测试集中评估了这些系统。此外,为了探讨个人VAD在嘈杂语音上的表现,我们还在测试设备上应用了MTR。我们报告了在有和没有MTR的测试集上的评估结果,如表1所示。结果表明,在所有情况下,ST,ET和SET均明显优于基线SC系统。当将MTR应用于测试集时,我们发现在建议的方法和基准之间有较大的性能提升。在建议的系统中,SET的tss最高,而ST的表现略优于ET。但是,ST和SET都需要运行说话者识别模型以在推理期间计算余弦相似度得分,这将大大增加模型中的参数数量和推理计算成本。相比之下,ET在测试集上仅以13万参数(小40倍左右)的模型获得了tss类的0.932(不具有MTR)/0.878(具有MTR)AP。

3.5.2 损失函数比较

在第二组实验中,我们将建议的加权成对损失与常规交叉熵损失进行了比较。 在这里,我们仅考虑ET体系结构,因为它在实现合理良好性能的同时要轻得多。 同样,我们在有和没有MTR的串联LibriSpeech测试集中评估了系统。
在图3中,我们针对加权成对损耗中w <ns,ntss>的不同值绘制了tss的AP。 从结果中,我们观察到使用比w <tss,ns>和w <tss,ntss>小的w <ns,ntss>值将改善性能。 当设置w <ns,ntss> = 0.1时,可获得最佳性能,表1中列出了详细结果。

3.5.3 个人VAD用作标准VAD任务

如果要用个人VAD替换标准VAD组件,我们还需要保证标准语音/非语音任务的性能下降最小。 我们在未连接的LibriSpeech测试数据上评估了两个个人VAD模型(具有交叉熵损失的ET体系结构,具有成对成对损失的ET体系结构)(因此,每个语音仅包含目标说话者)。 结果如表2所示。我们可以看到,用于课堂演讲的AP在个人VAD和标准VAD之间非常接近,这证明用个人VAD代替标准VAD是合理的。
表2.对标准VAD任务的评估。 我们报告了语音(s)和非语音(ns)的平均精度(AP)。
在这里插入图片描述

4. 结论

在本文中,我们提出了四种不同的体系结构来实现个人VAD,这是一种检测目标用户语音活动的系统。 在不同的体系结构中,使用具有声音特征和注册目标扬声器嵌入作为输入的单个小型网络,可以以最小的运行时计算成本实现近乎最佳的性能。 为了对不同类型的错误的容忍度进行建模,我们提出了一个新的损失函数,即加权成对损失,它被证明比常规的交叉熵损失具有更好的性能。 我们的实验还表明,个人VAD和标准VAD在标准VAD任务上的表现均相同。 总而言之,我们的发现表明,通过仅专注于所需的目标说话者,个人VAD可以降低在嘈杂环境中运行的语音识别系统的总体计算成本。

猜你喜欢

转载自blog.csdn.net/qq_30262201/article/details/102653652