2. 中国科学院大学, 北京 100049;
3. 中国科学院 新疆理化技术研究所, 新疆民族语音语言信息处理实验室, 乌鲁木齐 830011
2. University of Chinese Academy of Sciences, Beijing 100049, China;
3. Xinjiang Laboratory of Minority Speech and Language Information Processing, Xinjiang Technical Institute of Physics and Chemistry, Chinese Academy of Sciences, Urumchi 830011, China
在过去几十年中,Gauss混合模型-隐Markov模型(Gaussian mixture model hidden Markov model, GMM-HMM)在语音识别声学建模方法中一直起着主导作用。近年来,深度学习理论在机器学习领域兴起,其对语音识别技术同样产生了深远影响。2010年,文[1]提出基于深度神经网络-隐Markov模型(deep neural network-hidden Markov model, DNN-HMM)的混合声学建模方案,显著提升了语音识别系统性能并迅速取代传统GMM-HMM框架,成为当代主流语音识别系统的标配。此后,比简单前馈网络更为复杂的神经网络模型被提出,如长短时记忆递归神经网络(long short-term memory recurrent neural network, LSTM RNN)[2],进一步提升了识别性能。
尽管神经网络声学模型很大程度降低了远场语音识别系统的识别错误率,但识别系统对远场语音的识别准确率仍远低于对近场语音的识别准确率。远场语音中存在着背景噪声、混响以及人声干扰,如何提升对远场语音的识别准确率依然是一项充满挑战的任务[3]。目前,已提出的方法大致可以划分为两类:基于前端的方法和基于后端的方法。基于前端的方法对语音信号或语音特征增强,试图最大限度去除信号或特征中的噪声和混响,用增强后的信号或特征作为识别器的输入。基于后端的方法是从模型层面解决问题,更新变换声学模型结构或参数,使声学模型能够更有效地建模远场语音信号。本文提出的方法是基于后端的方法,通过改变模型结构和目标函数提升声学模型对远场语音的建模能力。
最近,一种基于注意力的递归神经网络模型在端到端语音识别系统中成功应用[4-5]。此系统将注意力机制嵌入到模型中,利用其学习输入特征与文本标注之间对齐。另一方面,文[6]提出将位置相关的注意力信息应用于深度卷积神经网络声学模型,得到的系统性能优于基于双向LSTM声学模型的识别系统。
基于深度神经网络的声学模型一般简单地将上下文多帧特征并联做为输入,忽略了输入层每帧的时间信息。受上述工作启发,本文针对基于LSTM的混合声学建模框架提出一种注意力机制,使其对输入层中不同时刻特征向量加权,并利用多任务学习框架提升模型鲁棒性,进一步提升对远场语音的识别准确率。多任务学习框架中,将与远场语音同步录制的近场麦克风数据的语音特征做为网络的另一个输出,训练过程中声学状态预测与干净特征映射联合优化,该模型的性能在AMI数据集[7]上得到了验证。与基线LSTM声学模型相比,基于注意力机制和多任务学习框架的LSTM模型对单通道远场语音的识别取得了1.5%的绝对词错误率(word error rate, WER)降低。
1 LSTM声学模型基于DNN-HMM声学建模的语音识别系统中,HMM建模语音信号的时变特性,DNN表达语音信号的发音多样性。用于声学建模的神经网络的输入为语音特征观察值,输出为HMM三音子状态的后验概率。随着深度学习理论的发展,更为复杂的神经网络结构被提出。与前馈神经网络相比,递归神经网络的本质特征是在隐层之间既有前馈连接又有内部的反馈连接。即不仅考虑当前信息,还引入自循环用于考虑历史信息。但在实际应用中,标准的递归神经网络对上下文信息的学习能力是有限的,原因是当隐层给定一个输入时,随着网络的自循环,网络的输出误差会逐渐消失,这将会导致记忆衰退问题[8],而在隐层中引入LSTM结构能够有效地解决此问题。实践证明,使用LSTM替代简单的前馈DNN建模声学信号可显著提升系统的识别准确率[2]。因此文中基线系统使用基于LSTM的声学模型。目前, 许多基于LSTM的变种结构被提出。
用于声学建模的LSTM网络包含输入层、输出层以及它们之间的若干递归隐层。递归隐层由若干记忆模块构成。每个模块包含一个或多个自连接的记忆单元以及控制信息流动的3个门:输入门、输出门和忘记门。图 1描述了文中使用的LSTM记忆模块的结构。
已知输入序列表示为X=(x1, x2, x3, …, xT-1, xT),递归隐层按照时刻t=1~T依次计算3个门和记忆单元的激活值。t时刻的计算公式如下。
输入门:
$ {\mathit{i}_\mathit{t}}{\rm{ = }}\mathit{\sigma }{\rm{(}}{\mathit{\boldsymbol{W}}_{\mathit{ix}}}{\mathit{x}_\mathit{t}}{\rm{ + }}{\mathit{\boldsymbol{W}}_{\mathit{ih}}}{\mathit{h}_{\mathit{t - }{\rm{1}}}}{\rm{ + }}{\mathit{\boldsymbol{W}}_{\mathit{ic}}}{\mathit{c}_{\mathit{t - }{\rm{1}}}}{\rm{ + }}{\mathit{\boldsymbol{b}}_\mathit{i}}{\rm{), }} $ | (1) |
忘记门:
$ {\mathit{f}_\mathit{t}}{\rm{ = }}\mathit{\sigma }{\rm{(}}{\mathit{\boldsymbol{W}}_{\mathit{fx}}}{\mathit{x}_\mathit{t}}{\rm{ + }}{\mathit{\boldsymbol{W}}_{\mathit{fh}}}{\mathit{h}_{\mathit{t - }{\rm{1}}}}{\rm{ + }}{\mathit{\boldsymbol{W}}_{\mathit{fc}}}{\mathit{c}_{\mathit{t - }{\rm{1}}}}{\rm{ + }}{\mathit{\boldsymbol{b}}_\mathit{f}}{\rm{), }} $ | (2) |
记忆单元:
$ {\mathit{c}_\mathit{t}}{\rm{ = }}{\mathit{f}_\mathit{t}} \odot {\mathit{c}_{\mathit{t - }{\rm{1}}}}{\rm{ + }}{\mathit{i}_\mathit{t}} \odot \mathit{\varphi }{\rm{(}}{\mathit{\boldsymbol{W}}_{\mathit{cx}}}{\mathit{x}_\mathit{t}}{\rm{ + }}{\mathit{\boldsymbol{W}}_{\mathit{ch}}}{\mathit{h}_{\mathit{t - }{\rm{1}}}}{\rm{ + }}{\mathit{\boldsymbol{b}}_\mathit{c}}{\rm{), }} $ | (3) |
输出门:
$ {\mathit{o}_\mathit{t}}{\rm{ = }}\mathit{\sigma }{\rm{(}}{\mathit{\boldsymbol{W}}_{\mathit{ox}}}{\mathit{x}_\mathit{t}}{\rm{ + }}{\mathit{\boldsymbol{W}}_{\mathit{oh}}}{\mathit{h}_{\mathit{t - }{\rm{1}}}}{\rm{ + }}{\mathit{\boldsymbol{W}}_{\mathit{oc}}}{\mathit{c}_{\mathit{t - }{\rm{1}}}}{\rm{ + }}{\mathit{\boldsymbol{b}}_\mathit{o}}{\rm{), }} $ | (4) |
隐层输出:
$ {\mathit{h}_\mathit{t}}{\rm{ = }}{\mathit{o}_\mathit{t}} \odot \phi {\rm{(}}{\mathit{c}_\mathit{t}}{\rm{)}}{\rm{.}} $ | (5) |
其中:W.x权重矩阵为来自上一隐层的输入xt与记忆模块之间的连接矩阵,W.h权重矩阵为当前隐层上一时刻的输出ht-1与记忆模块之间的连接矩阵,W.c为记忆模块内部连接3个门与记忆单元的对角矩阵,b.为偏置向量,σ为Sigmoid非线性函数,ϕ为双曲正切非线性函数,⊙为向量间的逐个元素相乘符号。当前时刻隐层的输出ht将做为下一隐层的输入。网络输出层包含矩阵线性变换和Softmax归一化函数,归一化函数的输出即为声学状态的后验概率。
2 基于注意力LSTM和多任务学习的声学建模基于注意力机制和多任务学习框架的LSTM声学模型如图 2所示,虚线方框部分为多任务学习框架引入的结构。
2.1 注意力机制
注意力机制严格意义上讲是一种思想,而不是某种模型的实现,因而它的实现方式可以完全不同。本文针对上下文扩展的输入特征提出一种注意力机制,使模型学会对来自不同时刻的帧特征给予不同的关注度。
传统的神经网络声学模型在t时刻的输入xt为L帧上下文特征扩展而成,特征向量经过若干隐层和输出层做前向计算,最终得到网络输出的后验概率。这种做法的缺点是忽略了输入L帧特征内部的时间信息,因为每帧特征对于当前时刻的贡献并不一定是相同的。注意力机制通过神经网络计算输入特征xt的注意力权值αt,对L帧特征加权。加权后的特征
$ {\mathit{e}_\mathit{t}}{\rm{ = Attend(}}{\mathit{x}_\mathit{t}}{\rm{, }}{\mathit{s}_{\mathit{t - }{\rm{1}}}}{\rm{, }}{\mathit{\alpha }_{\mathit{t - }{\rm{1}}}}{\rm{), }} $ | (6) |
$ {\mathit{\alpha }_{\mathit{tl}}}{\rm{ = }}\frac{{{\rm{exp(}}{\mathit{e}_{\mathit{tl}}}{\rm{)}}}}{{\sum\limits_{\mathit{l} = 1}^\mathit{L} {{\rm{exp(}}{\mathit{e}_{\mathit{tl}}}{\rm{)}}} }}{\rm{, }} $ | (7) |
$ {{\mathit{\boldsymbol{\hat x}}}_{\mathit{tl}}}{\rm{ = }}{\mathit{\alpha }_{\mathit{tl}}}{\mathit{\boldsymbol{ x}}_{\mathit{tl}}}{\rm{, }} $ | (8) |
$ {\mathit{y}_\mathit{t}}{\rm{ = LSTM(}}{{\mathit{\hat x}}_\mathit{t}}{\rm{)}}{\rm{.}} $ | (9) |
其中:Attend(.)表示计算注意力得分et的神经网络,LSTM(.)代表预测声学状态的LSTM网络。如式(6)所述,注意力得分取决于当前时刻的输入xt、上一时刻的预测st-1以及上一时刻的注意力权值αt-1。式(7)表示将注意力得分et通过Softmax函数规整为0~1之间的注意力权值αt。式(8)利用获得的注意力权值αtl对输入L帧特征中的特征向量xtl加权,最终得到加权后的特征表示
一般的神经网络声学模型在训练时仅优化一个准则,如交叉熵准则、最小Bayes风险准则等。然而,在多任务学习框架(multitask learning, MTL)中,神经网络的训练准则并非只有一个。文[9]提出使用多任务学习框架联合优化上下文相关和上下文无关音素的状态建模,并证明此训练方法有效地提升了模型的鲁棒性。共享隐层的多语种神经网络声学模型[10]是多任务学习框架的另一个应用实例,其完成了模型级别的跨语种神经网络声学建模。多任务学习的原理可理解为从其他信息源获取有用信息,并利用得到的信息调整模型参数达到提升模型鲁棒性的目的。
提升声学模型的噪声鲁棒性一直是语音识别系统性能改善的关键。文[11]提出特征增强与声学模型联合训练的鲁棒语音识别系统。远场麦克风录制的语音信号易受噪声的干扰, 因此特征增强可做为多任务学习框架中的辅助任务,提高声学建模的鲁棒性。本文利用与远场语音同步录制的近场语音做为特征增强辅助任务的标注。
如图 2所示,本文提出的模型有2个输出:一个是预测的三因子状态后验概率,另一个是经过神经网络映射的近场语音特征。模型的一个分支对声学特征做状态分类,另一分支对远场语音特征做去噪增强。在模型训练阶段,状态分类任务与特征增强任务分别使用交叉熵准则和最小均方误差准则优化相关模型参数。误差反向回传时,来自2个输出的梯度分别使用β与1-β加权。整个框架的模型参数通过优化插值目标函数联合更新学习。联合优化的目标函数为
$ \mathit{E}\left( \mathit{\theta } \right){\rm{ = }}\mathit{\beta }{\mathit{E}_{{\rm{ce}}}}\left( \mathit{\theta } \right){\rm{ + }}\left( {{\rm{1 - }}\mathit{\beta }} \right){\mathit{E}_{{\rm{mse}}}}\left( \mathit{\theta } \right){\rm{.}} $ | (10) |
在解码阶段,丢弃仅与语音特征增强任务有关的模型参数,即图 2虚线框内的结构。
3 实验结果与分析 3.1 实验数据及配置为验证提出模型的性能,本文在公开数据集AMI上做了一系列实验。此数据集包含大约100 h的会议录音数据。声学信号的录制采用头戴式麦克风(录制近场语音)以及麦克风阵列(录制远场语音)。实验中使用的单通道远场语音为麦克风阵列中第一个麦克风录制的数据,近场语音数据为头戴式麦克风录制的数据。依照AMI语料官方网址对数据的划分方式,录音数据分为3部分:78 h的训练集、9 h的开发集以及9 h的测试集。由于实验中开发集数据未参与任何参数的训练和调节,因此开发集数据同样被用来测试对比模型的性能。
本文基于开源工具Kaldi[12]搭建语音识别系统,用来生成数据强制对齐结果的GMM-HMM系统与文[3]中的描述一致,此处不做赘述。神经网络声学模型的训练基于40维的fbank特征。状态预测任务的网络输出在训练和解码阶段均使用5帧的目标延迟。LSTM网络递归隐层的维度为1024,每层递归隐层后衔接512维的映射层。采用截断的沿时反向传播算法(back propagation through time, BPTT)训练更新模型参数,截断长度为20帧。
基线系统为包含3层递归隐层的LSTM网络,基于注意力机制和多任务学习框架的LSTM声学模型包含3层递归隐层和一个注意力层,多任务学习引入的结构(即虚线框内的部分)为一个DNN隐层(即线性变换层与非线性函数)和一个线性变换层。模型的2个输出分别为3965维的三音子状态和映射的40维fbank语音特征。
3.2 实验结果及分析首先,在不引入多任务学习框架的情况下,探究输入帧长对注意力机制的影响。将输入层的上下文扩展帧数做为变量,寻找注意力机制下的最优配置。表 1为变化输入帧数时,基线LSTM声学模型与嵌入注意力机制的LSTM声学模型(以下简称为ALSTM)在2个数据集上的识别词错误率对比结果。表 1中第1列表示扩展的上下文,例如,由t-3到t+3的输入扩展可写为[-3, 3]。
上下文扩展 | LSTM/% | ALSTM/% | |||
Dev | Eval | Dev | Eval | ||
[-3, 3] | 43.0 | 47.5 | 43.0 | 47.6 | |
[-5, 5] | 42.8 | 47.2 | 41.7 | 46.2 | |
[-7, 7] | 43.1 | 47.3 | 42.1 | 46.7 |
从表 1可以看出,调整输入层的上下文扩展长度基本不影响基线系统的性能。但是,基于注意力机制的LSTM模型对输入帧长度的变化很敏感。在[-5, 5]扩展处ALSTM取得了最优性能,在开发集和验证集上分别有1.1%和1.0%的词错误率下降。表 1的结果表明11帧输入特征对于注意力机制来说是足够的。因此,以下的实验均采用11帧的输入窗长。
多任务学习框架引入了对远场语音特征的增强任务,将映射干净语音的40维fbank特征做为第2目标。实验中,将插值权重β设为0.9,以此平衡2个训练目标。引入多任务学习框架后,模型的性能如表 2所示。
由表 2可知,引入的多任务学习框架确实优于嵌入注意力机制的LSTM模型,其在2个数据集上均取得了0.4%的词错误率下降。此结果验证了多任务学习框架提升模型鲁棒性的结论。最终,本文提出的模型在开发集和测试集上的WER性能分别是41.3%与45.8%。与基线LSTM模型相比,本文提出的模型对单通道远场语音的识别取得了平均1.5%的绝对词错误率降低。
图 3和4表示随着训练迭代次数的增加,LSTM基线模型与基于注意力机制和多任务学习框架的LSTM模型在训练集和验证集上,对数似然概率和帧正确率的变化趋势。实线和虚线分别描述训练集和验证集上的变化趋势。
由以下两图可看出,基于注意力机制和多任务学习框架的LSTM模型,在训练集和验证集上的帧正确率上升趋势明显高于基线LSTM模型,帧级似然概率也优于基线模型。因此,可以得出引入的注意力机制和多任务学习框架有效地提升了模型对远场语音信号的建模能力。
4 结论针对远场语音识别,本文提出一种基于注意力机制和多任务学习框架的LSTM模型。注意力机制充分考虑了输入特征中的时间信息,使模型学会对输入层中来自不同时刻的帧特征给予不同的关注度。为进一步改善模型鲁棒性,模型中引入多任务学习框架,使其联合预测三因子状态与干净特征。实验结果表明,与LSTM模型相比,本文提出的模型提升了对远场语音信号的建模能力,并有效降低了语音识别系统对远场语音的识别错误率。
[1] | HINTON G, DENG L, YU D, et al. Deep neural networks for acoustic modeling in speech recognition:The shared views of four research groups[J]. IEEE Signal Processing Magazine, 2012, 29(6): 82–97. DOI:10.1109/MSP.2012.2205597 |
[2] | SAK H, SENIOR A, BEAUFAYS F. Long short-term memory recurrent neural network architectures for large scale acoustic modeling[C]//15th Annual Conference of the International Speech Communication Association. Singapore: IEEE, 2014: 338-342. |
[3] | SWIETOJANSKI P, GHOSHAL A, RENALS S. Hybrid acoustic models for distant and multichannel large vocabulary speech recognition[C]//IEEE Workshop on Automatic Speech Recognition and Understanding Workshop. Olomouc, Czech Republic: IEEE, 2013: 285-290. |
[4] | BAHDANAU D, CHOROWSKI J, SERDYUK D, et al. End-to-end attention-based large vocabulary speech recognition[C]//IEEE International Conference on Acoustics, Speech and Signal Processing. Shanghai, China: IEEE, 2016: 4945-4949. |
[5] | LU L, ZHANG X, CHO K, et al. A study of the recurrent neural network encoder-decoder for large vocabulary speech recognition[C]//16th Annual Conference of the International Speech Communication Association. Dresden, Germany: IEEE, 2015: 3249-3253. |
[6] | YU D, XIONG W, DROPPO J, et al. Deep convolutional neural networks with layer-wise context expansion and attention[C]//17th Annual Conference of the International Speech Communication Association. San Francisco, CA, USA: IEEE, 2016: 17-21. |
[7] | CARLETTA J. Unleashing the killer corpus:Experiences in creating the multi-everything AMI meeting corpus[J]. Language Resources and Evaluation, 2007, 41(2): 181–190. DOI:10.1007/s10579-007-9040-x |
[8] | BENGIO Y, SIMARD P, FRASCONI P. Learning long-term dependencies with gradient descent is diffcult[J]. IEEE Transactions on Neural Networks, 1994, 5(2): 157–166. DOI:10.1109/72.279181 |
[9] | PETER B, RENALS S. Regularization of context-dependent deep neural networks with context-independent multi-task training[C]//IEEE International Conference on Acoustics, Speech and Signal Processing. Brisbane, Australia: IEEE, 2015: 4290-4294. |
[10] | HUANG J T, LI J, YU D, et al. Cross-language knowledge transfer using multilingual deep neural network with shared hidden layers[C]//IEEE International Conference on Acoustics, Speech and Signal Processing. Vancouver, Canada: IEEE, 2013: 7304-7308. |
[11] | GAO T, DU J, DAI L, et al. Joint training of front-end and back-end deep neural networks for robust speech recognition[C]//IEEE International Conference on Acoustics, Speech and Signal Processing. South Brisbane, Australia: IEEE, 2015: 4375-4379. |
[12] | POVEY D, ARNAB G, GILLES B, et al. The Kaldi speech recognition toolkit[C]//IEEE Workshop on Automatic Speech Recognition and Understanding Workshop. Hawaii, USA: IEEE, 2011. |