语音唤醒技术:small-footprint keyword spotting
本文将介绍Interspeech 2017上关于语音唤醒技术的几篇文章。首先,什么是语音唤醒?

语音唤醒的应用领域比较广泛,例如机器人、手机、可穿戴设备、智能家居、车载等。几乎很多带有语音功能的设备都会需要语音唤醒技术作为人和机器互动的一个开始或入口。不同的产品会有不同的唤醒词,当用户需要唤醒设备时需要说出特定的唤醒词。大部分的唤醒词都是三到四个音节,音节覆盖多,音节差异大,相对唤醒效果会比较稳定。
对于一个唤醒效果好坏的判定,主要有召回率、虚警率、实时率和功耗四个指标。召回率表示正确被唤醒的次数占总的应该被唤醒次数的比例。虚警率表示不该被唤醒却被唤醒的概率。召回率越高虚警率越低就表示唤醒的性能越好,这两个指标的关系经常是一个相对关系,即一个指标的上升对应另一个指标的下降。从用户体验的角度来讲,实时率可以表现为设备反应的速度,唤醒技术对设备的反应速度要求很高。另一个指标是功耗,由于很多设备依靠电池或者是充电式的,具有低能耗才能保证设备较长时间的工作不需要充电,实际上,不同方向的产品使用场景不同,相对它的技术难点是有很大区别的,例如,车载环境下唤醒的难点在于它周围环境的噪声比较大,因此噪声环境下的召回率和虚警率就变得很重要;智能家居中的智能音箱、智能电视等也会受到环境噪声的影响,这时的噪声主要是人的声音,即其他人说话声音对本人说话声音的影响。而且多数的智能家居是充电后使用的,低功耗也成为一个非常重要的指标。唤醒其实是与实际结合非常紧密、非常重视用户体验的一种任务。
唤醒可以看成是一种小资源的关键词检索任务,其中小资源是指计算资源比较小和空间存储资源比较小,因此它的系统框架跟关键词检索的系统会有一定的区别,目前常用的系统框架主要有Keyword/Filler Hidden Markov Model System和Deep KWS System两种。


下面介绍Interspeech 2017上关于语音唤醒技术的文章,其中挑选了三篇跟大家分享。


文中采用TDNN指的就是对于图左侧的隐马可夫模型的一部分即发射概率采用TDNN来进行建模。TDNN的学习需要用到前后帧所保留下来的信息,同时还需要照顾到一些时间轴的信息,所以它的结构图跟我们平时看到的DNN结构图画法上有比较大的区别。下图中的小黑框指的是网络的隐层,这个图表示的就是时间为t的那一帧在时间维度上的一个网络结构。从图中的橙色框可以看出,越深的层它能够学习到的上下文信息是越宽的,从左往右逐个加深,对应的输入特征也是变得越来越宽的过程,对于时间为t这一帧的建模实际上用到的是t-20到t+10这30帧的一个输入特征,这个长度可以通过调节变得更加长,这种长时的信息学习是DNN不能够做到的,所以说TDNN主要的优势在于能够学习和处理更长的上下文信息。



由于TDNN比DNN的计算量大很多,为了能够满足实际使用的需求,文章中采用了一些方法来降低TDNN的计算量。一种方法叫做Sub-sampling,下图中所有的线是原始TDNN的一个形态,是一个全连接的网络,但事实上相邻时间点所包含的上下文的信息是有很大部分重叠的,因此可以采用采样的方法只保留图中部分的连接,比如像图中保留了红色线的部分,实验中显示出这样的采样可以获得与原始模型近似的效果,同时能够大大减少模型的计算量。





文章中的实验采用了单一的关键词”TalkType”,训练和测试数据来源于5000多个说话人,文中做出了非常详尽的实验。其中之一如下图是分析数据量对于性能的影响,图中横坐标表示正样本的条目数,纵坐标表示每小时应该被唤醒却没有被唤醒的次数。图中的蓝线表明正样本数据的增加对数据的影响,随着正样本数目的增加对于模型是有好处的,但是当到达一定程度时就会达到饱和,红色的×表示加入了各种负样本,可以看到相对于正样本的增加,负样本的增加能给模型带来更大程度的提升。




首先,他们之所以使用BLSTM的原因是BLSTM模型能够学习长时的上下文信息。MCE(最小分类错误)是一种鉴别性训练准则,有助于提升模型对于相似词的鉴别能力。Non-Uniform MCE的提出是因为作者发现系统当中的一个问题,事实上这一问题也存在于第一类唤醒系统当中。在第一类需要解码的唤醒系统当中,解码模块用到的声学模型训练是针对所有词的,这一目标与唤醒系统的目标存在不一致,唤醒系统更在意的是关键词的参数指标,因此作者提出了Non-Uniform MCE的准则,更偏重于模型对于关键词的训练。


最后一个实验是在Switchboard 300小时上进行的关键词任务,其中使用的关键词比较多,主题都是关于信用卡的使用。如下表格表示,相当于在DNN上做的实验结果,不同模型的性能采用FOM指标进行表示,FOM越高表示性能越好,表中列了许多不同准则训练得到的DNN性能结果,第一个CE表示交叉熵的准则,它是一个产生式的训练准则,后面的MMI、sMBR、MCE、BMCE都是鉴别性的准则。从表中可以看出,几种鉴别性的准则都会比CE的方式好一些,最后一种是作者文章中提到叫作Non-Uniform BMCE的准则,通过调整后面K1、K2的参数可以得到良好的性能。


最后更新:2017-11-06 23:03:56
上一篇:
在安防领域如此“受宠”的POE交换机到底该怎么选?
下一篇:
flume(1)
《创业在路上》对话OFO小黄车,让全世界没有陌生的角落
ITEXT实例学习与研究(二) 之 创建一个细长的浅黄色背景的页面以及纵向页面与横向页面之间的切换
C# 读取Excel中的数据
《Hadoop与大数据挖掘》一1.1 大数据概述
HDU 4741 空间几何求两直线距离最近点
Linux命令行之逗趣无极限
使用SPELLCHECK属性禁用输入框拼写检查
MaxCompute2.0 对开源系统的支持与融合
CCAI 2017 | 清华大学计算机系教授史元春:科幻与创新
『0013』 - Solidity Types - 固定大小字节数组(Fixed-size byte arrays)