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

作为语音识别领域的一项典型任务,语音指令识别(Speech Command Recognition,SCR)是一种从连续的音频流中检测出预定义的命令的技术。SCR技术已经被广泛应用于计算资源受限的端侧设备上以实现用户对设备的语音操控,达到解放双手的目的。然而在实际应用中,由于端侧设备上部署的模型大小和算力受限,模型的能力和云端模型无法相比,发音相近的指令词之间容易发生混淆,这会严重影响用户体验。比如说在家居场景中,对于空调的温度调节,不同温度数字之间的差异可能只有一个字,再比如“制冷模式”“制热模式”两个指令的整体读音接近,这导致这些指令的识别性能相较一般指令会有所下降,主要是指令之间容易存在混淆。

近期,西工大音频语音与语言处理研究组(ASLP@NPU)发表的论文“Minimizing Sequential Confusion Error in Speech Command Recognition”被语音旗舰会议Interspeech 2022接收。本文受语音识别中区分性训练(discriminative training)的启发,结合语音指令识别的特点,提出了一种新的最小化序列混淆错误(MSCE)的训练准则,旨在解决指令词的混淆识别问题。


论文题目:Minimizing Sequential Confusion Error in Speech Command Recognition
作者列表:杨展恒,吕航,王雄,张奥,谢磊
论文原文:https://arxiv.org/abs/2207.01261


图1 发表论文截图


图2 扫码直接看论文



1. 背景动机
语音指令识别(Speech Command Recognition,SCR)是一种从连续的音频流中检测出预定义命令的技术,该技术被广泛应用于智能家居控制、控制面板和各种物联网(IoT)等边缘设备上。与关键词识别技术(Keyword spotting,KWS)类似,SCR系统通常运行在资源有限的端侧设备上,因此要求模型小尺寸和低延时。但与KWS的语音唤醒只针对一两个唤醒词不同,SCR系统通常需要同时检测多种命令,数量根据应用场景与设备的需求从十几条到上百条不等。因此,除了提高检测精度和抑制虚警外,缓解不同命令间的混淆(尤其是发音相似的命令)对用户体验至关重要,比如说在家居控制场景中,对于空调的风速调节,指令"高风速"与"低风速"之间仅有一字之差,但却会执行截然相反的操作。

SCR任务中常用的框架主要有两种,一种是基于隐马尔可夫模型(HMM)的框架[1],这种框架通常使用混合高斯模型(GMM)或深度神经网络(DNN)进行声学建模,完成从输入语音信号到声学建模单元(如音素,phone)的映射,再通过维特比(Viterbi)解码在由预设的指令集编码得到的加权有限状态机(WFST)解码图上进行搜索,输出后验概率最大的指令;另一种框架是端到端建模的神经网络框架[2],这种框架摒弃了HMM方法中的解码部分,直接用神经网络完成语音信号到最终指令或词组的映射,该框架与HMM的框架相比,整体的流程得到了简化,但随着指令词数量的增长,指令的长度灵活多变,这对于通常使用的固定感受野的神经网络模型而言,建模目标长度的不一致会识别性能下降,而另一方面,固定的指令建模单元也无法灵活地扩充新指令。

本文关注SCR任务中由于指令集存在发音相似的指令而导致的指令间的混淆识别的问题。SCR常用的训练准则(如交叉熵,CTC准则[3])通常只对目标帧或目标序列的后验概率进行优化,因此无法保证不同的目标序列在最终分类空间上的区分性。在语音识别(ASR)中,序列区分性训练(SDT)能在优化目标序列精度的同时,抑制竞争的非目标序列,这对于减轻指令间的混淆是具有启发性的。常用的SDT准则主要可以分为最大互信息准则(MMI)和最小分类错误准则(MCE[4])两类,前者旨在最大化目标序列与总体搜索空间的区分性(即最大化互信息),衍生的准则包括LF-MMI[5]、最小词错误率(MWER)、最小音素错误率(MPE)等;后者常用在分类任务中,旨在直接优化分类的错误率而非后验分布。本文受MCE准则的启发,提出了适用于SCR任务的最小序列混淆错误(MSCE)准则,旨在提高指令识别的准确性,同时减少混淆错误。本文的贡献主要包括两点:一是引入了CTC准则作为MCE的度量函数,能更好地定义每种指令的似然,从而提高指令间的区分性;二是设计了三种基于先验知识的混淆集合构建策略,能更灵活的构建混淆集合并显著降低训练成本。


2. 整体方案

本文使用的模型框架如图3所示,主要包括声学模型与解码器两个模块。前者完成输入的Fbank声学特征到音素建模单元的映射,后者完成音素建模单元到最终输出指令的映射。


    图3 本文采用的模型框架


声学模型:如图3(a)所示,声学模型由多个空洞时延神经网络(TDNN)模块堆叠构成,每个模块包含TDNN层、Batch  Normalization层以及dropout层。本文在基础的TDNN层基础上进行了一些改进:
  • 为了平衡模型感受野与模型尺寸,我们对TDNN层设计了不同颗粒度的空洞大小(空洞率随层数变化递增,如1,2,4),以较少的层数与卷积核得到较大的感受野。
  • 为了平衡延时与模型性能,我们使模型中的某些模块只关注历史信息,避免随着模型层数加深导致模型关注过多未来信息从而令延时增加。
建模单元:考虑到方案的可扩展性(自定义命令)和不同长度指令的兼容性,我们使用上下文依赖音素(CD-phone)作为建模单元,每个CD-phone的HMM单元定义5个子状态。另外,由于SCR任务的音素覆盖范围有限,我们使用决策树将相似HMM状态绑定在一起以限制端侧设备上部署的模型大小。
构图与解码:解码整体流程如图3(c)所示。构图方案与ASR相似,整合了HMM(H)、上下文信息(Context,C)、发音词典(Lexicon,L)和指令集信息(语法,Grammar,G),通过下式编译成WFST:

其中min和det分别表示状态机中的最小化与确定化操作。HCLG状态机的输入是绑定的HMM状态id,输出是字符id。
解码阶段得目的是在一次解码(one-pass decoding)中找到概率最大得指令路径,本文通过令牌传递算法(token passing algorithm)来实现维特比解码,并在解码过程中通过波束剪枝来节省解码占用的空间并进行解码加速。与一般的令牌传递算法相比,本文进行了一些修改以进一步减少内存消耗并提高解码速度:
  • 由于在SCR任务中,我们可以事先得到候选触发指令的长度,因此可以使用一个固定长度的数组来记录解码产生的输出标签,避免为每个标记保留一个向后指针。这样可以在触发时直接从数组中获取触发指令,避免了生成格(lattice)并回溯解码路径的过程,有助于加速和节省内存。
  • 由于不需要生成lattice并回溯,因此我们可以只动态维护当前和下一个时间步骤的两个令牌表而不需要维护一个展开的网状的lattice结构,可以在不牺牲性能的情况下减少内存和时间的消耗。


3. 最小分类错误准则(MCE)
MCE准则是通过对每个分类类别进行优化的判别函数(discriminative functions)来定义的。与最大似然估计(maximum likelihood estimation, MLE)准则相比,MCE准则无需学习真实数据的概率分布,直接优化分类误差。通常使用三步流程来对其进行定义:
  • 首先定义判别函数,需要对目标序列以及非目标序列进行定义,判别函数需要能够反映目标/非目标序列的统计特性。
  • 定义误分类测度(misclassification measure),使我们能够将决策过程嵌入到总体MCE公式中。误分类测度旨在给定输入时能区分开目标序列与其他序列,常用的度量包括:

  • 最后需要为误分类测度定义一个连续可微的损失函数来优化参数,常用比如sigmoid函数:


4. 最小序列混淆错误准则(MSCE)
在MCE准则的启发下,我们提出了一种最小序列混淆错误(MSCE)准则来缓解SCR任务中遇到的指令混淆问题,我们同样通过三步法来进行定义:
  • 对于语音任务,自然的想法就是通过CTC来进行序列建模,我们同样可以使用CTC作为判别函数来对目标/非目标序列进行定义,因为CTC的计算过程中包含了对于给定指令的所有可能的对齐。

  • 定义误分类测度的目的是在判别空间充分提高目标指令与混淆指令的区分性,具体如下:其中分子部分为目标序列的判别函数,分母部分为混淆序列的判别函数。


  • 由于CTC函数本身平滑可导,不需要额外定义损失函数。
MSCE准则定义完成后,还需要对混淆序列集合进行定义,直接的想法是使用除目标指令以外的所有指令进行构建,然而实际的训练条件通常无法满足几十个甚至上百个指令进行对齐展开。因此本文设计了以下三种不同的混淆集合构建策略:
  • 发音相似策略(Pronunciation similarity strategy, PSS):由于命令混淆错误通常发生在发音相近的指令之间,为此可以根据指令的音素序列的相似度来选择混淆命令。我们可以实现计算每一条指令与其他指令的音素序列的编辑距离,然后取top-N作为该指令的混淆集。
  • 随机选择策略(Random selection strategy,RSS):训练中每一个batch动态地随机从指令集中选取N条自身以外的指令构建混淆集。
  • 混合策略(Hybrid strategy ,HS):结合前两种策略,混淆集中既有事先定义的发音相近的指令,也包含动态随机选取的指令。
最后,为了加速模型收敛,我们首先只使用交叉熵训练一个基础模型,再在基础模型之上应用多任务训练,结合两个代价:



5. 实验验证
实验数据:训练数据的指令集包含41条普通话家居空调控制指令,长度2到6个汉字不等,指令中包含了发音部分重叠的易混淆指令。训练集包含了1700多个说话人使用手机录制的9.5万条语音样例,每人1800-2500条,录制环境为近讲安静环境。在此基础上,使用pyroomacoustics[6]生成房间冲击响应(RIR)并扩充10倍至950k条。训练集额外加入40万条非指令数据作为负样本,包含了各种人声与环境噪声。在训练集中随机挑选5万条作为校验集。测试集包含在几个真实房间不同距离上录制的1万条样例,包含55个说话人。用于计算虚警率的测试集负样例来自于AISHELL-2[7]。
评价指标:包括ROC曲线与混淆错误的相对提升,我们定义混淆错误为解码结果不为空的误分类。
不同训练准则的对比:实验对比了交叉熵准则(基线系统)、CTC准则、LF-MMI(ASR中常用的区分性训练准则)以及我们提出的MSCE准则。如图4(a)展示的ROC曲线,与基线CE准则相比,我们提出的MSCE准则在虚警率(FAR)为0.01时,误拒绝率(FRR)相对降低33.7%,取得了最好的性能。即便与LF-MMI系统相比,在FAR=0.01时仍然能得到FRR上12.8%的相对降低。


图4 不同方案的ROC曲线对比


MSCE不同混淆集构建策略的对比:主要对比使用PSS、RSS、HS三种不同策略的性能,对比的所有策略保持混淆集大小一致。如图4(b)所示,实验表明性能由好到坏依次是HS、RSS、PSS。由于PSS策略训练过程中混淆集合固定,因此可能导致目标序列仅仅提升了与给定的混淆序列的区分度而全局的区分度反而变差;RSS能在整个训练过程中平均的优化目标序列与所有其他序列,提供了基本的混淆指令覆盖,但是优化过程缺乏侧重点;HS策略结合了两种策略的特点,在实验中得到了最好的性能。
混淆情况分析:主要选取了几个FAR较低的操作点,对比不同系统以及不同策略在混淆错误上的情况。如表1所示,混淆错误的相对提升与ROC曲线结论基本一致,最佳的方案是本文提出的MSCE准则加上HS混淆集构建策略,在三个操作点上相比基线系统能得到平均相对18.28%的提升。


表1 混淆错误的相对提升对比



6. 参考文献
[1] J. R. Rohlicek, W. Russell, S. Roukos, and H. Gish, “Continuous hidden Markov modeling for speaker-independent word spotting,” in IEEE International Conference on Acoustics, Speech, and Signal Processing (ICASSP), 1989, pp. 627–630.
[2] 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.
[3]  A. Graves, S. Fernandez, F. Gomez, and J. Schmidhuber, “Connectionist temporal classification: Labelling unsegmented sequence data with recurrent neural networks,” in ACM International Conference on Machine Learning (ICML), 2006, pp. 369–376
[4]  E. McDermott, T. J. Hazen, J. Le Roux, A. Nakamura, and S. Katagiri, “Discriminative training for large-vocabulary speech recognition using minimum classification error,” IEEE Transactions on Audio, Speech, and Language Processing (TASLP), vol. 15, no. 1, pp. 203–223, 2006.
[5] D. Povey, V. Peddinti, D. Galvez, P. Ghahremani, V. Manohar, X. Na, Y. Wang, and S. Khudanpur, “Purely sequence-trained neural networks for asr based on lattice-free MMI,” in ISCA Conference of the International Speech Communication Association (Interspeech), 2016, pp. 2751–2755.
[6] R. Scheibler, E. Bezzam, and I. Dokmanic, “Pyroomacoustics: ´A python package for audio room simulation and array processing algorithms,” in IEEE International Conference on Acoustics, Speech and Signal Processing (ICASSP), 2018, pp. 351–355.
[7]J. Du, X. Na, X. Liu, and H. Bu, “Aishell-2: Transforming Mandarin ASR research into industrial scale,” arXiv preprint arXiv:1808.10583, 2018.

相关链接

ASLPer,公众号:语音之家

论文分享丨NPU-ASLP实验室将携14篇论文参加语音旗舰会议INTERSPEECH2022