文章来源于音频语音与语言处理研究组,作者杨展恒

关键词识别(Keyword Spotting,KWS)旨在从连续的音频流中检测特定的关键词,被广泛应用于各种端侧设备中作为语音交互的入口组件,例如智能家居的设备唤醒(WuW)和设备操控(Comand&Control),智能座舱的人车语音交互。由于通常部署平台的计算资源有限,KWS技术要求较小的模型尺寸与较低的计算量。另外,模型的推理速度还需要满足实际应用中对于触发时延的要求。自定义关键词识别(Customized Keyword Spotting)可以允许用户自己定义检测的关键词,且无需重新训练模型,可以快速地满足用户的个性化需求,具有广泛的应用价值。

近期,由西工大音频语音与语言处理研究组(ASLP@NPU)和腾讯CSIG智能平台产品部合作的论文“CaTT-KWS: A Multi-stage Customized Keyword Spotting Framework based on Cascaded Transducer-Transformer”被语音旗舰会议Interspeech 2022接收。该论文提出一种基于级联Transducer-Transformer的多阶段自定义关键词识别框架,通过多个阶段的校验模块,在不明显影响关键字识别精度的前提下,有效地降低了虚警率。现对该论文进行简要的解读和分享。


论文题目:CaTT-KWS: A Multi-stage Customized Keyword Spotting Framework based on Cascaded Transducer-Transformer

作者列表:杨展恒,孙思宁,李晋,张笑铭,王雄,马龙,谢磊

论文原文:https://arxiv.org/abs/2207.01267


图1 发表论文截图


图2 扫码直接看论文


1. 背景动机

关键词检出(Keyword spotting,KWS)是指从连续的音频流中检测出预定义的关键词的一类技术,是语音识别领域的核心任务之一。KWS技术在端侧设备上有重要的应用,可以实现用户自然语音操控,解放双手的体验。除了检测单个唤醒词来作为语音交互入口(例如,“Hey Siri”,“小爱同学”和“Hi Google”)这一应用外,在指令控制或者隐私敏感的应用场景中也需要端侧具备语音指令控制的能力。这些应用需要在计算资源有限的端侧设备上运行一个全天在线的本地多指令KWS系统,因此要求KWS系统有较低的虚警率(FAR)和误拒绝率(FRR),且占用空间小、响应及时。

近年来,直接建模到关键词的端到端(E2E)神经网络方案[1]被广泛应用且取得了好的效果。然而,为了得到良好的效果,这种方案通常需要特定的关键词训练数据,且额外增加关键词需要重新的数据采集并进行训练,这种方案不利于关键词的改变与扩充(即热插拔),且无法实现根据用户的需求进行关键词定制。另外,对于全天候在线的指令系统,随着同时检测的指令数量的提升,虚警(FA)会显著的增加,严重影响用户的体验。目前对于这种情况,通常的解决方案是在指令检测系统之前串联一个单独的单唤醒词KWS系统,指令检测系统只有在KWS系统触发的情况下才在一个窗口时间内运行,以减少误触发的情况。这种折中方案能缓解虚警的问题,却给系统带来了额外的复杂度,并影响用户体验。

本文旨在设计一种自定义关键词识别框架:级联Transducer-Transformer关键词识别框架——CaTT-KWS,该框架允许用户根据自己的需求自定义关键词,并且能够把多个关键词的误唤醒压制到对于一直在线的系统可以接受的水平,而无需额外的前置KWS模块。本文提出了一种新的以神经网络为基础的多阶段自定义关键词识别框架,通过多个校验阶段逐步过滤掉识别过程中的虚警,大幅减少运行过程中的误触发。另外,识别模块使用流行的Transducer结构,推理过程中流式产生音素级别的输出,可以通过简单的解码图重构满足用户自定义关键词的需求,而不需要重新对神经网络迭代训练。

2. 方案介绍

如图3(a),(b),(c)所示,本文提出的多阶段验证框架的整个流程包括了三个阶段:一个关键词检测阶段和两个确认阶段。为了完成这三个阶段,模型也对应具有三个主要模块:Transducer检测模块、强制对齐模块和Transformer模块,其中三个模块共享一个encoder,训练过程应用多任务学习方法。以下首先介绍模型多任务学习训练方法,然后分别介绍三个模块的结构。


图3 本文提出的级联Transducer-Transformer关键词识别框架

训练方法:如图3所示,训练阶段三个模块共用同一个共享encoder,三个模块分别使用Transducer损失函数、帧级别的交叉熵损失函数以及Transformer的KL散度进行监督,按照权重组成最终的loss进行联合训练。多任务学习loss可以表示为:


Transducer检测模块:如图3(a)所示,关键词检测模块基于Transducer结构,包括流式的Tiny Transducer[2]声学模型以及基于加权有限状态机(WFST)的解码器。整体流程类似于传统的混合模型,解码器的引入为关键词自定义提供了可能性,可以通过重新构建解码图来实现关键词自定义而无需重新训练神经网络。检测阶段旨在尽可能地召回更多的关键词样例,同时也不可避免的带来了大量的虚警。具体声学模型具体结构可参照文献[2]。为了加速解码,Transducer部分采用贪婪搜索(greedy search),且只有非空的符号会被送入解码。解码图仅由词典(Lexicon)和关键词语法(Grammar)构成,构造方式如下:


其中min和det分别表示最小化和确定操作。解码过程使用维特比解码找出最可能触发的关键词,并产生关键词的出发时间戳。

强制对齐模块:如图3(b)所示,本模块的目标是对前一阶段检测得到的关键词时间戳进行细化,用于后续阶段的检测,并过滤部分虚警样例。由于Transducer模型具有延迟触发的特性,因此检测模块得到的时间戳起始点通常会滞后于实际的语音起始点,因此本模块旨在利用帧级别的音素判别器产生的输出进行强制对齐得到精准的时间戳。如图3(d)所示,设前一阶段Transducer产生的起始点为t0,则我们把起始点往前提td帧,对从(t0+td)到触发结束点这一段音频对应的音素判别器输出,再由一阶段产生的触发关键词音素抄本构建的线性解码图上进行维特比解码。需要注意的是,由于我们提前的td帧是基于经验得到的,因此不可避免地会引入一些非关键词部分的片段,因此我们在线性解码图第一个音素前加上一个状态用来吸收这部分垃圾片段。通过强制对齐,我们可以得到新的更精确的触发时间戳以及对应的对齐置信度S1:


对于该置信度,我们设定一个阈值以对部分虚警样例进行过滤,只有置信度通过了过滤的样例才会进行下一阶段的校验。

Transformer模块:如图3(c)所示,本模块将对触发的样例片段进行进一步校验,并最终决定是否触发。我们用前一阶段生成的时间戳截取共享encoder的输出送入Transformer解码器进行波束搜索(beam search),与一般的Transformer解码过程稍有不同,我们不需要解码直到标记产生,而是限制解码步数到触发指令词的音素抄本的长度,然后比较波束内的解码结果,如果存在符合的解码结果且解码分数高于设定阈值,则关键词最终触发,否则过滤。

3. 实验验证

实验数据:训练数据来自车载语音助手ASR数据,包含23000小时的普通话语料,校验集由训练集中随机采样得到。测试集包含6000条包含关键词的样例,关键词集合包含29个关键词(每条包含6个以上的音素),测试集均由实车采集,包含干净与带噪两种场景,前者为在高速公路上行驶时录制,后者在闹市区行驶时录制。另外还有84小时的广播、会话场景音频,用于测试误唤醒的性能。

不同模块的影响:表1展示了不同系统以及不同模块搭配的性能对比,对比S0(基线,仅包含检测模块)、S2与S3可以看出,引入额外的校验模块可以大幅减小虚警而几乎不影响识别的准确率,相比基线系统,在单个操作点上我们提出的框架能够减少90%以上的虚警,而准确率衰减小于2%。另外,对比S1和S3,可以看出,强制对齐模块提供额外的校验与精准时间戳能发挥超过仅使用Transformer校验的效果,另外,表2直观地展示了强制对齐模块得到的时间戳与真实时间戳(人工标注得到)的误差要优于Transducer检测模块得到的时间戳的误差。S4是在我们的基线系统上加上[3]中提出的多阶段检测方法,该方法主要以统计校验为主。图4展示了不同阈值下各个系统的整体性能对比,也能得到同样的结论,我们提出的框架在FA/h = 0.05甚至更低的情况下能取得性能提升。

表1 单个操作点上不同系统的正确率、虚警比较


表2 Transducer检测模块与强制对齐模块相比真实时间戳的起始点误差的对比



图4 不同系统的ROC曲线对比

Transformer decoder大小的影响:图5展示了不同Transformer decoder尺寸对最终系统性能的影响,可以看出通过增加Transformer decoder尺寸并不能进一步提升系统的性能,反而导致了更大的空间占用与推理时延,这是由于对于模式相对固定的唤醒词任务而言,过于复杂的解码器结构会带来过拟合,从而对系统带来负面影响。


图5 不同Transformer decoder尺寸的ROC曲线对比

不同的Transformer输出单元的影响:图6展示了两种主流的语音建模单元:音素(phone)与汉字(char)对于系统性能的影响,可以看出,在FA/hour较低的操作点处(>0.1),phone建模单元的性能要优于char,在FA较高的操作点则相反,可以根据实际需要对使用的建模单元进行评估,但需要注意的是,由于char建模单元数量较多,会导致Transformer decoder参数量增加。


图6 Transformer采用phone与char两种输出单元的ROC曲线对比

更多关于Tiny Transducer与CaTT-KWS的解读可参见知乎专栏:

https://zhuanlan.zhihu.com/p/534840415


4. 参考文献
[1]G. Chen, C. Parada, and G. Heigold, “Small-footprint keyword spotting using deep neural networks,” in IEEE International Conference on Acoustics, Speech and Signal Processing (ICASSP), 2014, pp. 4087–4091.
[2]Y. Zhang, S. Sun, and L. Ma, “Tiny transducer: A highly-efficient speech recognition model on edge devices,” in IEEE International Conference on Acoustics, Speech and Signal Processing. IEEE, 2021, pp. 6024–6028
[3]Z. Liu, T. Li, and P. Zhang, “Rnn-t based open-vocabulary keyword spotting in mandarin with multi-level detection,” in IEEE International Conference on Acoustics, Speech and Signal Processing. IEEE, 2021, pp. 5649–5653

语音指令识别中的最小序列混淆错误准则

杨展恒,公众号:语音之家
论文推介:语音指令识别中的最小序列混淆错误准则

相关链接

ASLPer,公众号:语音之家
论文分享丨NPU-ASLP实验室将携14篇论文参加语音旗舰会议INTERSPEECH2022