APP下载

多噪声环境下的层级语音识别模型

2018-08-28曹晶晶许洁萍邵聖淇

计算机应用 2018年6期
关键词:隐层声学个数

曹晶晶,许洁萍,邵聖淇

(中国人民大学信息学院,北京100872)

(*通信作者电子邮箱xjieping@ruc.edu.cn)

0 引言

目前关于噪声鲁棒性的语音识别技术研究可划分为特征空间和模型空间两个方面[1],特征空间的研究不对模型参数进行调整,而模型空间的研究通过调整模型参数从而增强鲁棒性。

特征空间的研究从语音特征的角度出发,对语音特征进行增强即降低噪声或是噪声消减,特征映射技术[2-3]是为了降低噪声,该技术主要研究两类:一是带噪声特征到无噪声特征的映射[2];二是频域上,带噪声信号到无噪声信号的映射[3]。噪声消减技术是通过估计噪声信号的频域能量将噪声信号从源信号中减去从而达到消除噪声的目的[4],文献[5]研究了对含噪音频进行降低噪声的方法,完成了在0 dB白噪声、汽车噪声、咖啡馆噪声下的语音识别研究,其识别词错率(Word Error Rate,WER)在汽车噪声环境下表现最佳,为32.13%,但在白噪声和咖啡馆噪声下识别 WER高达75.01%和56.37%,并且此种方法针对稳定噪声,不适用于噪声不稳定的情况。

对模型空间的研究是通过调整声学模型的参数来整合噪声的影响[1]。多类型训练[6]是模型空间研究的一个常用方法,该方法基于多类噪声音频训练声学模型,但是由于训练数据噪声类型多,声学模型的参数需要适应各类噪声环境,导致在某些噪声下性能可能下降。高斯混合模型 隐马尔可夫模型(Gaussian Mixture Model-Hidden Markov Model,GMMHMM)[7]混合模型是语音识别的主导声学模型[8],随着深度学习的兴起,深度神经网络也被应用到声学模型建模中[8-9],并取得了良好的成效。近年来特征空间和模型空间的研究都引入了深度神经网络(Deep Neural Network,DNN),有学者提出混合模型,同时在特征空间和模型空间进行参数调整。文献[10]从降低噪声角度出发,提出了一个基于DNN的联合训练语音识别模型,前端使用DNN进行特征映射降低噪声,后端使用深度神经网络 隐马尔可夫模型(DNN-HMM)作为声学模型,将前端特征映射的DNN与后端声学模型的DNN调参过程相结合,即识别的误差会对特征映射部分DNN的参数产生影响,在训练集含噪语音信噪比为10 dB~15 dB、测试集信噪比为5 dB~15 dB的实验下取得了良好的成效,但对信噪比更小的情况下(如0 dB),没有进行实验研究。过往的研究[5]表明信噪比小、噪声类型干扰大的情况下,降噪和消噪技术难以取得好效果。

环境噪声由于产生场所或者干扰因素的不同有若干类别,比如咖啡馆噪声、办公室噪声、飞机噪声等。不同类别的环境噪声差异较大,对语音信号的干扰也有很大差别,环境噪声分类的研究已取得良好的效果[11-12]。

本文提出了将环境噪声作为语音识别上下文考虑的层级语音识别模型,将噪声分类与语音识别相结合,探讨了含噪语音分类对多噪声环境语音识别的影响。模型选取有代表性的五类噪声环境,旨在使含噪音频由与其噪声最相似的噪声环境下的声学模型进行识别,从而提高声学模型对含噪音频的适应度,提高识别准确率。

层级语音识别模型分为上下两层,上层采用词袋(Bag-of-Words,BOW)模型[13]和支持向量机(Support Vector Machine,SVM)[14]进行噪声语音分类,下层采用深度神经网络 隐马尔可夫模型(DNN-HMM)作为各环境噪声下的声学模型。现有降噪方法在处理较稳定且类型单一的噪声上有所改进,但在处理多类型噪声上,易导致在某些噪声环境下处理效果较差,本文模型避免了现有降噪方法在分离噪声和语音上的问题,消除了特征空间研究中对噪声稳定性的限制要求,从模型空间出发,不限制噪声稳定性,既通过噪声分类以寻找最相似噪声环境解决了多类型训练的弊端,又通过特定噪声环境下声学模型减少了含噪音频与声学模型的训练数据的差异。在此基础上,本文探讨了在语音识别任务之前进行噪声环境分类的有效性以及如何设置模型超参数以提高识别的准确率。

1 层级语音识别模型

1.1 总框架

层级语音识别模型的结构如图1所示。该模型旨在将环境噪声作为语音上下文信息来辅助语音识别,针对不同类别的噪声构建特定噪声下的声学模型,使得每类噪声环境下的声学模型的参数更适应该类噪声。对于含噪语音,首先区分其噪声所属类别,再通过与该噪声最为相似的噪声类别下的声学模型进行识别。

图1 层级语音识别模型总框架Fig.1 General framework of hierarchical speech recognition model

1.2 含噪语音分类模型

环境噪声与说话人语音的区别在于,说话人语音只有一个来源,而环境噪声的声音来源是多方的[11]。比如咖啡馆的环境噪声可能包含来自各个方向的客人的说话声、人来回走动的声音、杯子勺子碰撞的声音、键盘敲击声等噪声。噪声包含元素复杂,因此,噪声分类的基础是更好地表示噪声。

BOW模型是一种常见的通过码本来表示文档、图像、音频的方法,通过稀疏化特征从而更好地表示目标。它起初被用于文档分类[13]中,基本思想是构建一个码本,其中包含若干词汇,将每个文档看作码本中词汇的集合,通过词汇的分布来对文档进行分类。由于BOW模型的有效性,它在图像和音频的分类[15-16]中也得到广泛应用。

本文将BOW模型应用于含噪语音分类模型中,训练过程如图2所示。首先对训练集中的含噪音频的梅尔频率倒谱系数(Mel Frequency Cepstral Coefficients,MFCC)特征进行k-means聚类,形成k=N的码本。接着对于每个含噪语音音频,通过计算其每一帧的MFCC特征与码本中单词MFCC特征的距离来判断该帧属于哪一个单词,统计音频对应单词的个数,从而形成这个音频关于码本的直方图向量。这样,每一个音频都得到一个关于码本的N维直方图向量。用向量对〈直方图向量,噪声类别〉训练SVM,从而得到含噪语音分类模型。

图2 含噪语音分类模型的训练Fig.2 Training of noisy speech classification model

1.3 DNN-HMM 声学模型

本文使用的DNN-HMM声学模型如图3所示。

在DNN-HMM声学模型中,HMM状态的后验概率由DNN产生[17]。DNN的输入层为当前帧与前后5帧,共11帧的特征拼接。实验中识别所用的特征均为40维的MFCC增强特征(Enhanced MFCC features,EMFCC)。EMFCC特征是对MFCC特征进行倒谱均值归一化处理后,将当前帧的13维MFCC特征与前后3帧的13维MFCC进行拼接,再使用线性判别分析投射到40维并进行最大似然线性转换后而得到,研究表明,使用相邻语音帧的信息可显著提高识别准确率[18];因此,实验中DNN的输入层节点个数为40×11=440个节点。

2 实验与分析

2.1 数据集

本文使用的数据集是基于清华大学发布的THCHS-30普通话语音数据集[12]构造的,数据集描述见表1。THCHS-30数据集提供了白噪声、汽车噪声、咖啡馆噪声三种较有代表性的噪声,在本文实验中,为了进一步扩充代表性噪声类别,在这三种噪声的基础上增加了飞机噪声(噪声来源:真实飞机噪声)。另外出于验证模型泛化性的考虑,选取了超市噪声(噪 声 来 源:http://sc.chinaz.com/yinxiao/161122278270.htm)作为测试噪声。

图3 DNN-HMM声学模型Fig.3 DNN-HMM acoustic model

表1 实验所用数据集Tab.1 Dataset used in experiment

实验数据集分为训练集和测试集两部分。训练集包括6种训练语料:train_clean即为THCHS-3数据集中提供的无噪声训练集;train_white、train_car、train_cafe、train_plane 分别由该无噪声训练集与白噪声、汽车噪声、咖啡馆噪声和飞机噪声按照信噪比为零进行混合得到;最后的train_mix5训练集中的每个音频则是随机选择不混合噪声或是与上述4种噪声中的任意一种按照信噪比为零进行混合得到。测试集包含两类语料:test_mix5是将THCHS-30数据集中的无噪声测试集每个音频随机选择不混合噪声或是与上述4种噪声中的任意一种按照信噪比为零进行混合;test_market则是将该无噪声测试集每个音频与超市噪声按照信噪比为零进行混合得到。训练集音频包含10 000个句子,时长约25 h,测试集音频包含2495个句子,时长约 6.25 h。

2.2 含噪语音分类

词袋模型中码本包含的单词数量k直接影响了表达能力,从而影响分类准确率。为了达到较好的分类效果,k取值通常趋于庞大,同时k值的设置通常随着目标类别的增加而加大。

为了研究k的取值对本文提出的含噪语音分类模型的分类准确率的影响,分别从 train_white、train_car、train_cafe、train_plane、train_clean中选取前1000个含噪语音,组成包含5000个含噪语音的训练集。考虑到本文目标类别仅设置了5类,将测试 k 值分别设置为 8、16、32、64、128、256、512,按照图2所示的训练过程分别训练这7种k取值下的含噪语音分类模型。

上述5个数据集在各个k值的含噪语音分类模型下的分类准确率以及5类噪声环境(包括4类噪声环境和无噪声情况)下语音在各个k值的含噪语音分类模型下的平均分类准确率如图4所示。图4结果显示:1)除无噪声环境以外的其他4类噪声环境分类准确率仅在k=8时差距较大,随着k值增加差距缩小,在k=64时达到最高,同时趋于平稳。2)无噪声语音的分类准确率明显低于其他4类噪声环境,当k=128时,分类准确率比其他4类的平均低了15.3%,而当k增加到256、512时,准确率略微回升。

图4 分类准确率随k值变化Fig.4 Change of classification accuracy with k value

通过分析噪声分类准确率混淆矩阵(如表2所示),发现无噪声语音易被误分到咖啡馆噪声和汽车噪声中,这种现象可能是由于无噪声音频不具备明显特征导致,混有其他噪声的音频既具有噪声的显著特征,也具有音频本身的特征,而无噪声音频仅具有音频本身的特征,导致其易于与含噪音频发生混淆。

表2 k=128时含噪语音分类准确率混淆矩阵 %Tab.2 Obfuscation matrix of noisy speech classification accuracy with k=128 %

2.3 DNN 参数

本文选取白噪声、汽车噪声、咖啡馆噪声、飞机噪声和无噪声这五种较有代表性的噪声环境进行实验,基于从train_white、train_car、train_cafe、train_plane、train_clean 训练集中提取的EMFCC特征分别训练这五类噪声环境下的DNN-HMM声学模型。

出于最优化DNN-HMM声学模型识别准确率的考虑,本文对DNN的超参数进行实验,设立了若干组DNN关于隐层数和节点数的对比实验。实验在每类噪声环境下各训练了16个DNN-HMM声学模型,声学模型中DNN的隐层个数分别设置为2至9,隐层节点个数分别设置为1024和2048。由于2.2节实验可知,含噪语音分类模型在码本单词量k为64时分类准确率最高,因此本节层级语音识别模型中上层含噪语音分类模型的k值取64。

实验基于test_mix5数据集对16组DNN-HMM声学模型进行测试,结果如图5所示。由图5可以看出,通常情况下,DNN-HMM声学模型中DNN的隐层个数相同时,隐层节点个数为2048时WER更低,说明一定范围下提升隐层节点个数有助于提高识别准确率;同时,WER在DNN隐层为5层时达到最低,在隐层个数进一步增加时,WER急剧增加,说明过多的隐层易导致过拟合,削弱模型在测试集上的表现。

图5 词错率随隐层个数和节点个数的变化Fig.5 Change of WER with numbers of hidden layers and nodes

一般认为通过增加隐层节点个数来降低误差,其训练效果较增加隐层个数好。因此,在隐层个数为5时,增加一组节点个数为4096的实验,在隐层个数为5,隐层节点个数分别为1024、2048和4 096 时,词错率分别为 48,9%、48.47%和48.38%,由此可见,在节点个数继续提升的情况下,识别误差可达到更低。因而进一步对这三种隐层节点个数下的DNN-HMM模型的训练耗时进行了统计,在节点个数为1024、2048、4096下模型的训练总时长分别为123 277 s、328 747 s、1112785 s。

以节点个数为1024时的WER和耗时作为基准,得到隐层个数为5,节点个数分别为1024、2048、4096的DNN-HMM声学模型的识别WER和模型耗时的变化趋势如图6所示。由图6所示,节点个数从2048增加到4096,WER降低甚小,但是模型训练耗时却显著增加。因此,综合WER和模型训练耗时,本文实验中,层级语音识别模型DNN-HMM声学模型在DNN隐层个数为5、隐层节点个数为2 048时模型表现最优。

图6 节点个数对WER和耗时的影响Fig.6 Influence of node number on WER and time consuming

2.4 结果分析

层级语音识别模型的实验数据来源于THCHS-30数据集,实验结果表明层级语音识别模型在白噪声和汽车噪声环境下,识别误差率较文献[12]模型相对降低了14.0%和0.78%,说明含噪语音通过本文提出的层级语音识别模型能得到更好的处理。

实验对层级语音识别模型的两层结构进行研究,分别研究了含噪语音分类模型的优化和特定噪声环境下声学模型的优化,结果显示含噪语音分类模型最优分类准确率可达到97.28%,实现了含噪语音的正确噪声环境分类,而层级语音识别模型在多个噪声环境下的语音中的识别表现也明显优于常见的多类型训练方案,证明了噪声环境分类对语音识别任务准确率提高的有效性和可行性。

在此基础上,对比实验研究进一步验证了本文模型的可行性。

1)与GMM-HMM比较。

作为比较,实验将基于train_mix5数据集提取出EMFCC特征多类型训练[14]得到的GMM-HMM声学模型作为基准模型,test_mix5数据集在基准模型上的WER为60.79%,本文提出的层级语音识别模型较该基准模型识别误差率相对降低20.3% 。

2)与无噪声分类比较。

为了进一步说明噪声环境分类对含噪语音识别任务的有效性,基于train_mix5数据集提取的EMFCC特征训练得到一个DNN隐层个数为5、节点个数为2048的DNN-HMM模型,test_mix5在该模型上的WER为51.50%,层级语音模型较该模型的WER相对降低了5.9%,说明噪声环境分类可有效提高含噪语音的识别准确率。

3)泛化性实验比较。

本文提出的层级语音识别模型考虑了五类较有代表性的噪声环境。实际应用中,当处理一类新噪声下的含噪语音时,该模型会将其划分到五类噪声环境中与其最相似的一类噪声环境中,以此来减小模型训练数据与测试数据的差异,使得模型更适应数据,从而提高识别准确率。

为了验证本文所提出的层级语音识别模型的现实可行性,实验以含超市噪声的test_market数据集作为测试集,从分析上发现超市噪声对语音的干扰程度很大。实验研究比较了层级语音识别模型与基准模型对超市语音识别的结果,层级语音识别模型下的WER较基准模型相对降低了2.12%。

3 结语

本文提出了由含噪语音分类模型和特定噪声下声学模型这两层构成的层级语音识别模型,避免了特征空间去噪研究对含噪语音噪声稳定性的限制,对噪声本身不作要求,通过噪声环境分类和特定环境下声学模型减小了含噪语音与声学模型训练集的差异,解决了多类型训练[14]导致的某类噪声下语音识别准确率降低的问题,更进一步通过神经网络提高了识别准确率。

在未知噪声(超市噪声)上对层级语音识别模型进行验证,结果显示在层级语音识别模型的WER较基准模型相对有一定的降低。但进一步的实验研究发现:该超市噪声的数据在多环境训练得到的DNN-HMM声学模型下的WER略微优于本文的层级语音识别模型。因此,为了进一步优化本文的层级语音识别模型,考虑在后续实验中设立噪声环境分类阈值,来划分最相似噪声环境。模型结构上在五类噪声环境下声学模型的基础上,增加一类由五种噪声环境下数据进行多环境训练得到的声学模型。在含噪语音分类模型中,只有当某混噪语音的噪音类型与一类噪声的相似度大于阈值时,才由该类噪声下的声学模型对其进行识别,否则将其归类到多类型训练得到的声学模型进行识别。

信噪比为零情况下,是较强噪声干扰下的语音识别任务。本文仅针对信噪比为零下的含噪语音进行研究,实验结果表明层级语音识别模型在信噪比为零下的含噪语音识别任务中较常见多类型训练方法取得了较大改进;但随着信噪比进一步降低,层级语音识别模型的两层结构含噪语音分类模型和特定噪声环境下声学模型的反应相异,理论上噪声干扰越大,分类模型准确率越好,但声学模型的识别准确率则会有较大程度的降低,因此对信噪比更低情况下的语音识别任务,有待进一步的实验研究。

综上所述,在现阶段,本文提出的层级语音识别模型可在已知多噪声环境下的语音识别任务中取得较好表现,并不受限于干扰噪声的稳定性。在后续的研究中,我们会根据上述实验计划和改进策略对模型进行进一步的实验优化,使其能够在未知噪声环境下和更低信噪比下的语音识别任务中取得更好的表现。

猜你喜欢

隐层声学个数
基于RTD可编程逻辑门的n变量函数实现算法
一种自适应确定隐层节点数的增量半监督超限学习机算法
怎样数出小正方体的个数
一种深度梯度提升回归预测模型
爱的就是这股Hi-Fi味 Davis Acoustics(戴维斯声学)Balthus 70
怎样数出小木块的个数
基于RDPSO结构优化的三隐层BP神经网络水质预测模型及应用
Acoustical Treatment Primer:Diffusion谈谈声学处理中的“扩散”
Acoustical Treatment Primer:Absorption谈谈声学处理中的“吸声”(二)
最强大脑