An End-to-End Architecture for Keyword Spotting and Voice Activity Detection《端到端框架的语音唤醒词识别检测》

Abstract

我们提出了一个单一的神经网络架构来完成两项任务:在线关键词发现和语音活动检测。 我们开发了一种新的推理算法,用于使用Connectionist临时分类损失函数训练的端到端递归神经网络,该模型使我们的模型无需重新训练即可在关键词识别和语音活动检测上实现高精度。 与以前的语音活动检测模型相比,我们的体系结构不需要对齐的训练数据,并且使用与关键字发现模型相同的参数。 这使我们能够部署高质量的语音活动检测器,而无需其他存储器或维护要求。

1 Introduction

关键字发现(KWS)是一项语音任务,需要检测音频信号中的特定单词,通常用作大词汇量(LV)语音识别器的“唤醒单词”。 语音活动检测(VAD)要求检测信号中的人类语音,通常是为了在大型词汇语音识别系统中终结端点。 由于计算限制和嘈杂的环境,这两项任务都具有挑战性。 为了限制计算成本,VAD模型通常依赖于手工设计的功能,需要与KWS模型分开进行培训。
相反,我们为KWS和VAD提出了一个单一的端到端神经网络体系结构。 我们开发了新颖的推理算法,使我们无需重新培训即可运行KWS和VAD任务。 我们的模型优于两个基准,仅在未对齐的字符级成绩单上进行了训练,并且仅需维护单一架构即可进行培训和部署。

2 Related Work

该模型基于端到端语音识别的工作,该工作使用连接主义语言分类损失函数和深度递归神经网络[7,8]。在这项工作中,我们为KWS和VAD任务开发了模型和推理过程。在[1]中给出了对该模型对LVCSR的好处的彻底处理。字符级CTC架构最近也被用于关键字识别[10],它优于DNN-HMM基线,而单词级CTC架构在[5]中用于关键字识别。
传统的VAD架构在历史上是针对资源非常少的环境开发的,因此它们会牺牲准确性以降低计算成本。一些简单有效的技术包括音频信号能量的阈值,零交叉点数量的阈值[11]或这些特征的组合,但是,这些方法通常对非平稳环境不可靠。我们注意到,现代LV语音环境比以前提供了更多的计算资源,并且使用较大的神经模型是可行的,尤其是对于LV ASR端点。已经为VAD提出了神经架构,特别是[9]中的RNN架构,但是这种方法依赖于帧对齐标签。

 

3 Model

对于一般的关键字搜寻器,我们对p(k | x)进行建模,其中k是关键字,x是语音窗口。 对于VAD,我们使用相同的分布,只需将k设置为空字符串即可。
我们使用连接主义者的时间分类[6](CTC)目标函数在话语和转录对语料库上训练RNN。 CTC目标为我们提供了给定发音中任何标签字符串的概率。 我们不需要比对,因为CTC可以有效地计算所有可能比对中的得分。 话语x和相应的转录l的目标函数由下式给出

align(·)函数在CTC运算符下,在发声的T个时间步长上计算转录l的可能比对的集合。 CTC运算符允许重复任何字符并插入空白字符ε,这表示在给定的时间步长没有输出。
对于在线KWS任务,我们必须确定是否已使用关键字来确定低延迟。 为了将这种模型用于KWS,我们对音频流x的移动窗口进行了评分,以便我们可以在关键字出现后立即找到它。 分数计算为pCTC(k | xt:t + w),其中k是任何关键字,xt:t + w是w帧长的语音窗口。 对于VAD任务,我们首先通过将k设置为空字符串来计算无语音的概率。 由此我们可以通过减去一个没有语音的概率来找到语音的概率。

3.1 Network Architecture

网络接受从8kHz采样的原始波形计算得出的频谱图作为输入。 第一层是二维卷积,步幅为3 [1]。 对于网络的后三层,我们使用门控循环RNN层[3] [4]。 最后一层是单仿射变换,然后是softmax。 网络直接输出到字母中的字符,包括空格和空格字符。

3.2 Inference

用于KWS检测的最佳窗口大小会根据语音速率,噪声和相邻语音而随每个语音而变化。 为了减轻算法对窗口大小参数的敏感度,我们建议对上述CTC评分算法进行修改。 对于给定的关键字k,而不是在模型下为k本身评分,我们改为对正则表达式[ˆk0] * k [ˆkn-1] *评分,其中k0和kn-1分别是k的第一个和最后一个字符。 算法1中对此进行了描述。
计算VAD分数可简化为对语音帧窗口上空白字符的对数概率求和:

4 Experiments

优化模型参数时,随机梯度下降50个周期,最小批量大小为256。我们对示例进行排序,以使微型批量由相似长度的发音组成,以提高计算效率。 选择学习速率和动量参数以优化收敛速度。 我们每5000次迭代将学习率降低0.9倍。
网络的架构如第3.1节所述。 卷积层的滤波器在时间和频率范围上分别为11 x 32。 我们在所有模型中使用32个过滤器。

4.1 Data

用于训练模型的数据包含两个数据集。第一个数据集是通过类似助手的应用程序在Android手机上收集的52.6万个转录话语的语料库。第二语料库由1544个关键字的口语示例组成,在本例中为“ Olivia”。同时在两个数据集上训练模型。在微调之前,我们不需要对大型语料库进行预训练。我们还使用从网络下载的大约一百小时的噪音和音乐的集合来生成关键字和空噪音片段的合成噪音示例。当使用嘈杂的数据进行训练时,我们将每个关键字复制10次,每次使用随机噪声片段。我们还使用57K随机采样的噪声片段(带有空白标签)作为填充语。
在550个阳性示例(例如包含关键字“ Olivia”)和从上述大型语音语料库中保留的5000个阴性示例的测试集上评估了KWS模型。在推论过程中,我们在800毫秒的窗口中每100毫秒用算法1评估发声,以便检测关键字的存在。如果从算法1的输出中发现的话语分数始终高于预设阈值,则我们将示例分类为肯定。
我们在VAD任务上评估相同的模型。正面示例与用作KWS任务的负面示例的5000个语音示例相同。我们从各种噪声背景中收集了大约10个小时的非语音音频。我们从10个小时的噪声中采样了5000个随机片段,以构建阴性样本。

4.2 Results

我们的KWS基线是kitt.ai 2的DNN关键字发现者。我们的VAD基线是帧大小为30ms的WebRTC VAD编解码器3。 我们的3层大小为256层的模型优于两个基准。对于固定的5%的误报率,与基线的96.2%相比,我们的模型在关键字发现方面达到了98.1%的真确率。对于VAD任务,对于相同的假阳性率,我们的模型达到99.8%的真实阳性率,而基线为44.6%。较大的增量可能是由于大参数神经模型相对于小参数GMM基线的表示能力存在显着差异,以及训练数据的类型和数量存在差异。
图1和2显示,随着我们增加层数和模型大小,我们的模型在检测关键字方面不断改进。增加模型的深度和大小也会提高VAD性能。但是,当层数大于128或两个以上时,VAD性能将达到饱和。大多数大型VAD模型的假阳性率固定为5.0%,可达到99.9%或更高的真阳性率。
在图3中,我们看到在训练过程中向关键字添加噪音会带来实质性的改善。假阳性率为5%时,有噪声的模型的真实阳性率为98.9%,而无噪声的模型为94.3%。进一步单独使用随机噪声数据无济于事;实际上结果稍差。在VAD任务上,随着噪声的增加,ROC曲线也有所改善。
我们的生产模型具有3层256个隐藏单元,具有约1.5M的可训练参数,与其他基于神经网络的KWS方法[2]相比,已被部署到现代智能手机中。

5 Conclusion

我们已经描述了单个神经网络体系结构,该体系结构可用于关键字发现和语音活动检测,而无需重新训练。 与以前的VAD模型相比,该模型易于训练,并且不需要对齐或逐帧标签。 我们为从基本CTC评分算法修改而来的KWS和VAD提出了推理算法,该算法允许模型执行两项任务。 尽管我们的模型是有效的,但应用神经压缩技术可能会进一步提高性能,并代表未来工作的一个有趣领域。

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值