当前位置:首页 期刊杂志

基于维特比算法的深度神经网络语音端点检测

时间:2024-07-29

李文洁,张晴晴,张鹏远,颜永红,摆 亮

(1.中国科学院 语言声学与内容理解重点实验室, 北京 100190;2.北京爱数智慧科技有限公司, 北京 100085; 3.国家计算机网络应急技术处理协调中心,北京 100029)

0 引 言

席卷全球的信息化时代的到来,语音作为人类交互最为自然和便捷的手段,逐渐成为人机交互的一个十分重要的途径。这极大地推动了语音识别、语言理解、说话人识别等技术的发展。通过语音进行信息检索,也逐渐成为应用热点[1]。在这些语音信号处理应用中,语音端点检测(voice activity detection,VAD)是预处理的一个重要环节,极大影响了语音识别、说话人识别等系统的性能[2]。

在日常的语音对话中,听起来连续的语音信号其实是由一系列的无音片段和有音片段组合起来的[3]。通常情况下,语音片段的持续时间不会超过整个说话时间的40%[4]。对于语音识别系统来说,有音片段才是真正需要关注的部分,那些仅含有噪声的无音片段,需要在送入语音识别解码之前就先过滤掉。这样做不仅能够加快识别系统的速度,同时也能一定程度上保证识别系统的性能。VAD的目的就是将这些无音片段去除掉,同时保证有音片段尽可能不丢失,再送入后端进行识别。

随着语音信号处理技术的更新,语音端点检测的相关技术也在不断改进更新。20世纪70年代,Rabiner[5]将有音片段的短时能量和短时过零率作为特征,用于检测语音的起止点;随后,F.K.Soong[6]提出一种基于复倒谱系数的分段方法; 同时Wilpon[7]提出一种基于语音信号短时谱变化的方法来确定子词的分段信息;进入20世纪90年代后Erdal[8]提出一种基于语音参数的分段方法,随后Euvaldo F[9]提出了一种基于轨迹分段的音素分段方法。1997年Start McClellan[10]提出基于谱熵(spectral entropy)的分段方法,一定程度上改进了检测的抗噪性能。

在很长一段时间里,语音端点检测主要是利用信号处理的方式通过时域或者频域的参数进行估计,采用的主要参数有短时能量、短时平均过零率、信噪比等。信号处理的方法在匹配环境下具有良好的性能,但在不同的噪声环境下,推广性较差。主要原因之一是检测算法假设语音信号是短时平稳的,并需要对噪声的情况做一定的预先估计,当这种估计错误时,其检测性能就会受到严重影响。

基于模型的语音端点检测算法受到越来越多的关注。其中最有代表性的是基于统计建模的方法,例如基于混合高斯模型(gaussian mixture model,GMM)的检测方法[11],基于支持向量机(support vector machine, SVM)的检测方法[12],以及神经网络方法[13-15]等。基于统计建模思想的出发点是针对短时噪音和语音进行统计建模,通过概率的计算来区分语音时段和噪声时段。由于统计模型有较强的非线性学习特性,通过增加多种类型的噪声训练数据,使模型学习到区分噪声和语音的关键信息,从而加强模型的泛化能力[16]。

深度神经网络(deep neural network, DNN)在很多领域都得到了成功的应用[17]。本研究是针对在现代语音处理技术中,一些现有的端点检测方法在复杂噪声条件下存在检测效果不理想的问题而提出的。研究通过将DNN引入到语音端点检测系统中,并结合维特比算法优化检测的性能。通过与当前较为常用的VAD方法,基于贝叶斯准则的混合高斯模型(GMM-Bayesian information criterion,GMM-BIC)的语音端点检测方法[18]进行实验对比,证明了这种方法在语音端点检测上的有效性与适应性。在大词汇连续语音识别系统中的实验取得了令人满意的效果。

1 深度神经网络的VAD检测

1.1 深度神经网络

DNN是包含多个隐层的人工神经网络。相比与浅层神经网络,DNN的非线性模拟特性更好,具有更强的学习能力。一般来说,DNN的低层网络从输入的初级特征中提取高层特征,而高层网络则负责对属性类别进行分类。当输入信号的数据非常多,DNN的网络足够大的时候,DNN可以通过其强大的非线性学习到数据的本质特性,从而提升分类或预测的准确性。同时,DNN还具有学习各种复杂信号模式的能力,因此,可以学习不同噪声的特性,从而一定程度解决了传统VAD方法对差异性噪声估计困难的问题。

(1)

(1)式中,p(qi)是qi状态的先验概率,通过模型训练得到其近似值。

在本文的VAD检测系统中,DNN作为学习语音/非语音的统计模型,仅需要针对语音/非语音少数几个状态进行建模。其输入为每一帧语音的特征(包括上下文信息),输出是语音/非语音状态的概率,其模型结构示意图如图1所示。DNN的训练过程使用误差反向回传算法完成。由于文章采用的是有监督训练的DNN模型,需要事先给出每个训练样本的目标类别。在实验中,基于手工切分出的语音/非语音片段,训练一个GMM-HMM模型,利用该模型,通过强制对齐的方法[1]获取到精确到帧级别的语音/非语音分类值。用于VAD的DNN模型训练通常需要经过3个步骤,具体DNN模型训练流程如下。

1)基于手工分段的语音/非语音数据,训练一个基线的GMM-HMM模型;

2)用获得的GMM-HMM模型对训练数据进行强制对齐,获得更为准确的帧级别的类别标注信息;

3)训练语音/非语音的DNN分类模型,并用于语音端点检测概率计算。

图1 模型结构示意图Fig.1 Diagram of model architecture

1.2 维特比算法用于DNN

通过DNN模型,对语音/非语音状态进行了建模,每输入一帧语音特征,都可以通过DNN计算得到当前帧属于语音/非语音的概率。如何通过每帧属于语音/非语音的概率最终判断出语音段的起止点,文章采用了2种不同的方法。

1)阈值判断法。实验证明,经过一定量的训练数据的训练,深度神经网络用于检测语音端点时,准确率较高。所以,本文先采用了一种简单的逐帧判断的方式进行端点检测。这种方法依次把每一帧的特征送入DNN模型,得到输出语音的概率如果大于0.5,则将这一帧判断为语音,用“0”表示,反之为非语音,用“1”表示。之后经过一定窗长的中值滤波去掉某些跳变点,最终给出语音段的起止点。

2)维特比法。维特比算法是一种动态规划算法用于寻找最有可能产生观测事件序列的隐含状态序列[19]。对于VAD,DNN的输出是2个状态:语音和非语音的概率。2个状态的不同组合之间会有不同的跳转概率,通过这些概率,可以计算出一段时间内,可能出现的不同状态序列的概率。维特比算法就是运用动态规划方法,通过DNN的输出的观测序列,状态间的跳转概率,隐含序列与观测序列之间的关系,求得所需的隐含序列。从信号的起始点对语音进行逐帧地判断,不同于阈值算法,维特比算法不是仅仅考虑当前帧处于某状态的概率,而是计算整个的语音序列出现的总概率。计算方法:对于当前帧,计算之前每一帧出现语音或非语音的概率,依次乘以帧间的转移概率,得到某一序列出现的总概率。但是随着时间的推移,候选序列的数量会成指数增长,又因为许多概率小的路径几乎不可能出现,可以通过剪枝的办法把它们去除,从而提高运算速度。所以,计算过程中,只保留出现概率较大的前若干个序列以及它们出现的概率,最终概率最大路径对应的状态序列就是最有可能出现的隐含序列。

在维特比算法中,有2个参数需要预先设定:语音/非语音的状态转移概率值和语音/非语音的先验概率值。这2个值通常先根据经验选定一个恰当的值,训练时再在开发集上进行调优,然后固定下来用于其他数据的测试。

2 实验描述

本文的训练数据集为汉语普通话电话聊天口语对话数据,来自语言数据联盟(linguistic data consortium,LDC)提供的汉语普通话通用标准数据集:Call-Home, Call-Friend以及Call-HKUST(数据集描述见表1)[20]。为了研究在不匹配噪声环境下语音端点检测系统的适应性,开发集和测试集选取了与训练数据完全无关的银行客服用户对话语音数据。开发集包含了44个电话对话,全集长度大约3 h。测试集包含了39个电话对话,全集长度大约3.5 h。

表1 训练数据集描述

为了加强DNN的泛化能力,通过加入噪声的方法扩充训练数据,使DNN能够更好地处理不同种类噪声下的语音端点检测。实验一共录制了9种不同的噪声,包含有马路噪声、餐厅噪声、音乐噪声、人声、风声、电脑噪声、会议噪声、地铁噪声、展览厅噪声等常见噪声类型(这些噪声都与将要测试的语音数据噪声类型无关)。对所有的训练数据等概率随机加入这9种噪声,加入信噪比控制在0~20 dB。由此训练数据的总量由最初的125 h扩大到250 h左右。

送入DNN训练的语音特征为语音识别中常用的13维MFPLP特征,以及一维基频特征和一维表征基频可信度的NCC特征[21]。所有特征都将做3阶差分,加上静态特征,总共构成了60维的输入特征。DNN的输出状态仅有2类:语音和非语音。隐藏层的大小与DNN的性能和速度息息相关,第3节中对比了隐藏层的大小对性能和速度的影响情况。

实验使用机器配置为Intel Core i5-4590 CPU@3.3 GHz, RAM 8.0 GByte。

为了能进一步了解基于DNN的检测算法的有效性,实验还对比了目前使用的语音端点检测算法GMM-BIC的性能。这是一种基于贝叶斯信息准则的VAD算法[16]。GMM-BIC分段首先将整段语音切分成非常小的片段,通过计算相邻片段的相似性,将相似度大于门限值的片段拼接起来,构成了新的分段结果。当门限值设定合理时,最终拼接出来的分段结果,可以有效地将语音和非语音分到不同的段落中,从而实现语音端点检测的目的。

3 结果及分析

研究中评价算法的有效性主要采用2套指标:漏检率-虚警率以及字错误率。漏检率-虚警率是直接对VAD精度进行评价的指标;字错误率是加入VAD以后的语音识别性能的指标。

3.1 漏检率和虚警率

本文先将检测结果与标注结果进行比对,得到语音和非语音的漏检率(miss rate)和虚警率(false alarm rate)。由于语音和非语音的漏检率和虚警率是对称存在的,所以,只需分析语音段的参数。对于语音信号,漏检率指的是没有检测出的的部分,即把语音当成非语音的情况,漏检的出现会丢失有用的信息。虚警率是指虚假地指出了语音信号,也就是把非语音当成了语音信号。

表2对比了使用GMM-BIC和使用DNN做VAD的漏检率-虚警率,采用DNN时,对比了选择阈值判断法和维特比算法的性能。GMM-BIC的结果中,漏检率很低,虚警率就比较高。这是GMM-BIC算法为了避免有效语音信号的损失,把语音段的时间拓宽,但同时也会导致虚警率偏高。而相比GMM-BIC,基于DNN的VAD在很好地控制了漏检率的同时,大幅降低了虚警率,而维特比算法相比于阈值判断法漏检率和虚警率都有了一定下降。由于维特比算法是在整个语音序列上找到最优的全局路径,相比于仅考虑当前帧是否最优的阈值判断法,维特比算法考虑了历史信息,整体判决结果更好。由此,在后续的实验中,基于DNN的VAD系统中统一采用维特比算法进行语音/非语音判决。

表2 不同VAD方法的语音漏检率和语音虚警率

3.2 字错误率

考虑到VAD的主要应用之一就是作为语音识别系统的前端,去除非语音部分,从而减少输入识别系统的噪声,来提高识别系统性能。VAD的性能好坏对语音识别的性能影响非常大:如果VAD将语音判断成了非语音,则会导致应该送入识别器的语音被丢弃,增加删除错误;如果VAD将非语音判断成了语音,一方面这部分非语音对识别性能没有帮助,却加重了解码的负担,导致识别速度变慢;另一方面如果一些非语音噪声送入识别器,还可能导致插入错误增加,影响识别性能。所以除漏检率-虚警率以外,识别系统的字错误率(character error rate,CER)也将作为指标之一,用于评价VAD的好坏。

表3中给出了基于GMM-BIC和基于DNN的VAD对最终识别性能的影响情况。结果表明,在开发集(dev set)和测试集(test set)上,基于DNN的VAD在最终字错误率上比基于GMM-BIC的VAD分别降低了2%和1%。而且,当2种VAD在插入错误率基本相当的情况下,前者在删除错误率上明显低于后者。这说明基于DNN的VAD更好地避免了将语音错判成非语音的情况。

表3开发集和测试集的字错误率对比结果

(Corr:正确率,Sub:替代错误率,Del:删除错误率,Ins:插入错误率,CER:字错误率)

Tab.3 CERs for dev set and test set

通常DNN的模型规模与分类的性能以及速度有着密切关系。实验对比了隐层节点数为128的小模型和节点数为512的大模型。隐层数目都为3层。相比于小模型,大的DNN模型的节点数更多,能够涵盖更丰富的信息量,也能进行更加复杂的判断。但是大模型所需的计算时间更长,尤其对于时间比较长的语音信号,计算时间的增加会影响系统的运行速度,对于25 min的语音数据进行处理,DNN小模型的运行时间是9.3 s,而DNN大模型的运行时间是602 s。

表4给出了客服对话数据上,在相同的端点检测参数和解码参数下,使用不同DNN模型所得到的识别结果。结果显示在字错误率上小模型仅仅比大模型差了0.1%,差别并不明显。如果语音环境比较复杂,使用大模型的鲁棒性会更好,但一般情况下小的DNN模型能满足检测的需要,且小模型在运行速度上胜于大模型。考虑到实时性,在实际应用中采用了隐层节点数为128的模型规模。

表4 不同规模的DNN-VAD模型在开发集上的识别结果

4 结 论

本文实现了基于维特比算法的深度神经网络的语音端点检测系统,并与传统的语音端点检测算法GMM-BIC进行了对比。重点研究了基于神经网络的维特比算法。在面向客服电话交谈的语音识别任务中,通过选择合适的深度神经网络模型规模,得到的结果证明不管是从端点检测的漏检率和虚警率方面,还是从语音识别的正确率方面,基于深度神经网络的语音端点检测系统性能都更好。同时,由于在神经网络的训练过程中使用的数据与测试时使用的数据来源并不相同,证明了基于深度神经网络的语音端点检测系统的适应能力较强。

将深度神经网络引入到语音端点检测中,并结合维特比算法,相关的研究还有许多理论和应用问题需要深入探讨。下一步将从语音信号的特征提取入手,选择能够反映出语音/非语音分类特性的参数。同时进一步分析语音端点检测的特点,深入研究各类神经网络的构造,寻找更为适合的网络模型。

参考文献:

[1] SCHULTZ T, KIRCHHOFF K. Multilingual Speech Processing[EB/OL]. (2010-07-23)[2015-08-12]. http://xueshu.baidu.com/s?wd=paperuri:(7131d8e177efd2be4f729e970499f2cf)&filter=sc_long_sign&sc_ks_para=q%3DMultilingual+speech+processing+challenges+and+solutions&tn=SE_baiduxueshu_c1gjeupa&ie=utf-8&sc_us=10605976704901034016.

[2] 韩立华,王博,段淑凤.语音端点检测技术研究进展[J].计算机应用研究,2010,27(4):1220-1226.

HAN Lihua, WANG Bo, DUAN Shufeng. Development of voice activity detection technology[J]. Application on Research of Computers, 2010, 27(4): 1220-1226.

[3] BENYASSINE A, SHLOMOT E, HUNA Y S, et a1.A robust low complexity voice activity detection algorithm for speech communication systems[J]. 1999 IEEE Workshop on Speech Coding For Telecommunications Proceeding,1997,7(10):97-98.

[4] VAHATALO A, JOHANSSON I.Voice activity detection for GSM adaptive multi-rate code[C]∥1999 IEEE Workshop on Speech Coding Proceedings. Piscataway, N.J:IEEE Press,1999:55-57.

[5] RABINER L R, SCHAFER R W. Digital processing of speech signals[J]. Prentice-Hall, Englewood Cliffs, 1980, 12(2): 113-120.

[6] SVENDSEN T,SOONG F K.On Automatic Segmentation of Speech Signals[C]∥ICASSP.Dallas:IEEE Press,1987:77-80.

[7] WILPON J G, RABINER L R. An investigation on the use of acoustic sub-word units for automatic speech recognition[C]∥IEEE International Conference on Acoustics.USA:IEEE Press,1987:821-824.

[8] KARRAYL R, MOKBEL C, MONNE J.Robust speech/non-speech detection on adverse conditions based on noise and speech statistics[C]∥IEEE ICASSP Library Series. Sydney: IEEE Press, 1998: 1471-1474.

[9] CABRAL E F, TATTERSALL G D. Trace-segmentation of isolated utterances for speech recognition[C]∥IEEE ICASSP. USA: IEEE Press, 1995: 365-368.

[10] STAN A. MCCLELLA N, JERRY D. Gibson. Spectral entropy: an alternative indicator for rate allocation[C]∥ICASSP 1994. Australia: IEEE Press, 1994: 201-204.

[11] JONGSEO S, NAM S K, WONYONG S. A statistical model-based voice activity detection[J]. IEEE Signal Processing Letters, 1999, 6(1):1-3.

[12] 黄啸,浦小祥.SVM核函数的研究及其在语音激活检测中的应用[J].苏州大学学报:工版,2008,28(3):56-59.

HUANG Xiao, PU Xiaoxiang. The application SVM kernel function in the voice activity detection[J]. Journal of Suzhou University Engineering: Science Edition, 2008, 28(3): 56-59.

[13] HUSSAIN A, SAMAD S A, FAH L B. Endpoint detection of speech signal using neural network[C]∥TENCON 2000, Proceedings. USA: IEEE Press, 2000:271-274.

[14] WANG Q,DU J,BAO X.A universal VAD based on jointly trained deep neural networks[C]∥2015 INTERSPEECH,16th Annual Conference of the International Speech Communication Association, Dresden: IEEE Press, 2015.

[15] WANG L, ZHANG C, WOODLAND P C. Improved DNN-based segmentation for multi-genre broadcast audio[C]∥IEEE International Conference on Acoustics, Speech and Signal Processing,New York:IEEE Press,2016.

[16] RUMELHART D E, HINTON G E, WILLIAMS R J. Learning representations by back-propagating errors[J]. Nature, 1986, 323(6088):533-536.

[17] 肖业鸣,张晴晴,宋黎明,等.深度神经网络技术在汉语语音识别声学建模中的优化策略[J].重庆邮电大学:自然科学版, 2014, 26(3): 373-379.

XIAO Yeming, ZHANG Qingqing, SONG Liming, et al. Optimization of deep neural network in acoustic modeling for mandarin speech recognition[J]. Journal of Chongqing University of Posts and Telecommunications: Natural Science Edition, 2014, 26(3): 373-379.

[18] 刘倓倓,潘接林,索洪斌,等.交叉对数似然度和贝叶斯信息判据的说话人聚类算法[J].声学技术, 2007, 26(6):1181-1185.

LIU Tantan, PAN Jielin, SUO Hongbin, et al. Speaker diarization algorithm based on CLR and BIC[J]. Technical Acoustics, 2007, 26(6): 1181-1185

[19] RABINER L R. A Tutorial on Hidden Markov Models and Selected Applications in Speech Recognition[J]. Proceedings of IEEE, 1990, 77(2):267-296.

[20] ZHANG Qingqing, PAN Jielin, YAN Yonghong. Tonal articulatory feature for Mandarin and its application to conversational LVCSR[C]∥INTERSPEECH. New York: IEEE Press, 2009:3007-3010.

[21] ZHANG Qingqing, SOONG F, QIAN Y, et al. Improved modeling for F0 generation and V/U decision in HMM-based TTS[C]∥Acoustics Speech and Signal Processing (ICASSP), 2010 IEEE International Conference on. USA: IEEE Press, 2010:4606-4609.

免责声明

我们致力于保护作者版权,注重分享,被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理! 部分文章是来自各大过期杂志,内容仅供学习参考,不准确地方联系删除处理!