编者:今年的INTERSPEECH于8月20日至24日在瑞典的斯德哥尔摩顺利召开,众多的高校研究机构和著名的公司纷纷在本次会议上介绍了各自最新的技术、系统和相关产品,而阿里巴巴集团作为钻石赞助商也派出了强大的阵容前往现场。从10月25日开始,阿里iDST语音团队和云栖社区将共同打造一系列语音技术分享会,旨在为大家分享INTERSPEECH2017会议上语音技术各个方面的进展。本期分享的主题是远场语音识别技术,以下是本次分享的主要内容:
1. 远场语音识别技术简介
1.1. 什么是远场语音识别
远场语音识别是语音交互领域的重要技术,目的在于在远距离条件下(通常1m-10m),让机器能够识别人的语音。该技术在智能家居(智能音箱、智能电视等)、会议转录、车载导航等场景都有重要的应用。远场语音识别通常采用麦克风阵列的方式收集语音,由于真实环境中存在大量的背景噪声、多径反射和混响,甚至是人声干扰,导致拾取信号的质量下降,通常远场语音识别准确率与近场语音识别相比会有大幅下降。
1.2. 远场语音识别系统
远场语音识别系统通常包含前端信号处理与后端语音识别模块,前端部分旨在通过语音增强的手段,包括解混响(Dereverberation)、波束成形(Beamforming)等方法来将含有噪声和混响的语音尽可能的处理为“干净”的语音。而后端部分与一般的语音识别系统相同,目的在于将处理后“干净”的语音识别为文字。
1.2.1. 前端信号处理
远场语音经常包含比较明显的混响,所谓混响是指声音由声源发出后,在空气中传播,传播过程中在房间的界面上产生反射、散射等波动作用,由于声音的多次反射或散射而使声音延续的现象,这种现象称为混响。声源的直达声和近次反射声相继到达人耳,延迟时间小于50ms-80ms时,一般对语音识别的准确率没有明显影响;当延迟很大时,由于信号能量的衰减,一般也不会对语音识别造成影响;会造成影响的主要是其中的Late reverberation部分,这部分混响越明显,语音识别的准确率就会越低。Weighted prediction error (WPE)是一种常见的解混响方法。
另一种常见的前端信号处理技术是Beamforming,Beamforming通过对比不同声音的到达时间和麦克风间的距离来确定声音的来源(DOA)。一确认了目标声音的位置,我们就可以采用如空间滤波等音频处理技术来减少噪音干扰并增强信号质量。常用的Beamforming技术包括Delay and Sum (DS)、Minimum variance distortionless (MVDR)等。
近年来基于深度神经网络(NN)的语音增强技术也有了快速的发展,基于NN的语音增强通常是输入带噪的语音,期望通过NN强大的非线性建模能力得到“干净”的语音,比较具有代表性的技术包括Xu2015提出的Feature mapping以及Wang2016提出的Ideal ratio mask方法。
1.2.2. 后端语音识别
后端语音识别的系统框架如下图所示,其中最主要的部分是声学模型建模模块(AM)。2011年底, DNN技术被应用在了大词汇量连续语音识别任务上,大大降低了语音识别错误率。从此以后基于DNN声学模型技术的研究变得异常火热。那么什么是DNN的?其实标准的DNN一点也不神秘,它和传统的人工神经(ANN)在结构上并没有本质的区别,只是ANN通常只包含一个隐层,而DNN则是通常包含至少3层以上的隐层,通过增加隐层数量来进行多层的非线性变换,大大的提升了模型的建模能力。
CNN被用在语音识别中已经不是一天两天了,在12、13年的时候就已经被引入到了语音识别中,那时候的卷积层和pooling层是交替出现的,并且卷积核的规模是比较大的,CNN的层数也不是特别的多,主要是用来对特征进行进一步的加工和处理,使其能更好的被用于DNN的分类。后来随着CNN技术在图像领域的发展,情况慢慢出现了变化,人们在图像领域的研究中发现多层卷积之后再接pooling层,减小卷积核的尺寸可以使得我们能够训练更深的、效果更好的CNN模型。相应的方法被借鉴到了语音识别中,并根据语音识别的特点进行了进一步的优化。
LSTM模型是一种特殊的循环神经网络(RNN)。语音识别本来就是一个时序建模问题,所以非常适合用RNN来进行建模。但是简单的RNN受限于梯度爆炸和梯度消散问题,比较难以训练。而LSTM通过输入门、输出门和遗忘门可以更好的控制信息的流动和传递,具有长短时记忆能力,并在一定程度上缓解RNN的梯度消散和梯度爆炸问题。当然它也有不足之处,计算复杂度相比DNN大幅增加,并且由于递归连接的存在难以很好的并行。
BLSTM进一步提升了该类模型的建模能力,相比LSTM还考虑了反向时序信息的影响,也即“未来”对“现在”的影响,这在语音识别中也是非常重要的。这种能力的代价就是模型计算复杂度进一步加大,并且通常需要整句进行训练:GPU显存消耗增大->并行度降低->模型训练更慢,另外在实际应用中还存在实时性问题。为了克服这些问题,我们使用了Latency-control BLSTM模型,并完成了业界第一个上线的BLSTM-DNN hybrid语音识别声学模型。
2. INTERSPEECH 2017 远场语音识别论文介绍
下面选了两篇文章介绍一下本次INTERSPEECH论文,主要从声学模型改进和远场数据模拟两个角度看看远场语音识别的前沿进展。
2.1. Residual LSTM: Design of a Deep Recurrent Architecture for Distant Speech Recognition
本文提出了一种改进的LSTM模型结构:残差LSTM(Residual LSTM)网络。研究初衷来源于深度神经网络训练中常遇到的一个问题-----Degration problem,即随着网络深度的增加训练/开发集的错误率不降反增,这个问题并不是由over-fitting产生的,而是网络学习中存在问题。针对这一问题陆续有研究人员Highway network和Residual network等结构来试图减轻其影响。本文中研究人员对传统的LSTM结构进行了改进,提出了一种Residual LSTM,它将网络中前一层的输出直连到当前层,公式及改进后的结构图如下图所示,该网络相比于传统的LSTM以及之前有研究人员提出的Highway LSTM有以下三点优势:1.网络参数相比于传统LSTM/Highway LSTM更少(在论文中的网络配置下参数量减少10%);2.网络整体更容易训练,这得益于Residual结构的两个优点,一是避免了前向计算中非线性变换对数据的过度加工,二是误差反向传播时通过直连通路,抑制了梯度消散;3.最终的识别准确率相比统LSTM/Highway LSTM有了比较明显的提升,且当神经网络加深到10层时,成功避免了Degration problem的出现。
实验在远场开源数据集AMI上进行,该数据集模拟会议场景,数据是远场实录数据并配有对应的近讲数据,测试时使用存在重合语音干扰和不存在重合语音干扰两个数据集进行测试,结果如我们之前的分析。
2.2. Generation of large-scale simulated utterances in virtual rooms to train deep-neural networks for far-field speech recognition in Google Home
本文来自Google,论文把研究点放在了如何利用近场语音数据模拟远场语音数据上。由于真实环境中存在大量的噪声、多径反射和混响,导致拾取信号的质量下降,通常远场语音识别准确率与近场语音识别相比会有大幅下降,因此我们需要大量的远场语音进行模型训练以帮助提高识别准确率。远场语音识别通常采用麦克风阵列的方式收集语音,受设备、场地等影响,录制真实远场数据比录制近场数据成本更高,大量的真实远场数据通常不易获得。研究人员利用近场数据模拟产生远场数据,用于模型训练。好的数据模拟方法可以使模拟产生远场数据与真实远场数据“更像”,从而更好的帮助到模型训练。本文模拟数据采用的公式和模拟场景如下图所示,房间冲激响应通过Image method模拟获得,噪声点的数量在0到3之间随机选择,模拟出的远场数据信噪比在0-30dB之间,目标说话人到麦克风阵列的距离为1-10m之间。
声学模型使用fCLP-LDNN模型。模型结构和最终的结果如下图所示,可以看到在有噪声和有说话人干扰的情况下,使用模拟远场数据训练得到的声学模型相比使用近场干净数据训练得到的模型,在鲁棒性方面优势明显,字错误率的相对下降可以达到40%以上。论文中的数据模拟方法被使用在了Google Home产品的模型训练中。
3.总结及技术展望
随着智能音箱、智能家居等产品和理念的推广普及,远场语音识别正变得越来越重要,同时随着技术的进步,远场语音识别也正变得越来越可用。未来一段时间内我们认为远场语音识别技术的研究重点将集中在以下几个方面:1.更好的前端处理技术,如给予深度神经网络的前端处理;2.更好的后端建模技术;3.前后端联合建模训练;4.远场数据模拟技术,这对于产品初期的模型迭代尤其重要;5.基于噪声环境、场景、SNR等的模型快速自适应。相信通过学术界和工业界的努力,远场语音识别技术会变得更加成熟、更加易用。