语音识别中的神经网络语言模型研究文献综述

 2022-09-25 16:23:17

  1. 文献综述(或调研报告):

语音识别包括特征提取、声学模型、语言模型、解码搜索四部分,在通过训练得到声学模型和语言模型后,根据输入音频的声学特征进行解码搜索,解码图的构建采用加权有限转态传感器(Weighted Finite-State Transducers, WFST) [8],之后进行解码,常用的为维特比(Viterbi)搜索算法。

语音识别的发展历史可从[1] [4]中得到系统的梳理,语音识别的起源可以追溯到20世纪50年代,在语音识别的起步阶段主要研究的问题是针对小词汇量、单个词的孤立词语音识别,在上世纪70年代末,Baker和 Jelinek将隐含马尔科夫模型(Hidden Markov Model, HMM)引入语音识别领域,用于构建声学模型,语音识别开始采用统计学方法。语音识别研究的主流问题转变为非特定人大词汇量的连续语音识别,具有代表性的系统为李开复的第一个大词汇量说话人无关连续语音识别系统 Sphinx。Sphinx的核心框架为GMM-HMM框架,对每一个字词单元用一个三状态HMM建模,而高斯混合模型(Gaussian Mixed Model,GMM)用来对每个状态的语音分布进行建模。2006年,Hinton提出两层神经网络受限玻尔兹曼机(restricted Boltzmann machine,RBM),此举促使深度神经网络(Deep Neural Network,DNN)进入人们视野,成为新的研究热点。2009年深度神经网络应用于声学建模并在小词汇量连续语音数据库TIMIT上取得语音错误率(phone error rate,PER)为23.0%的成功,2011年微软研究院俞栋、邓力等人又在大词汇量连续语音识别中取得进展,从此GMM-HMM框架被DNN-HMM框架取代。考虑到人们在说话时有明显的上下文相关性,循环神经网络(Recurrent Neural Network,RNN)很快被用于语音识别。在RNN中引入长短时记忆模块(Long-Short Term Memory,LSTM),解决了训练过程中梯度消失等问题,有利于利用更长的时间信息。另外一种可以有效利用长时上下文语境信息的模型是卷积神经网络(convolutional neural network,CNN),其核心是具有平移不变性的卷积运算。近年来端到端的语音识别框架成为新晋热点,联结主义时序分类(Connectionist Temporal Classification,CTC)准则可以使序列与标注不再严格对齐,CTC在输入序列与标签长度不同的情况下添加blank标签,流程更加简便。

对于毕业设计中的研究重点语言模型而言,其作用在于描述自然语言内在规律的数学模型,是自动语音识别、机器翻译和信息检索等系统的重要组成部分。

基于统计学的语言模型采用计算一串词的联合概率的方法来进行预测,根据前N个单词去计算下一个词出现的概率,但由于训练语料无法涵盖真实应用中的测试语料,会因数据稀疏出现0概率,以及参数维度过高带来的模型参数计算上的困难;同时由于马尔科夫假设的限制,N-gram语言模型只能刻画短距离词之间的关系,但实际上,在进行预测时我们需要的信息不仅仅是前N个单词是什么本身,该方法的两大显著缺陷是:1.没有考虑N个词之前的词;2.没有考虑不同词之间的关联、相似性。对于上述两大缺陷的一种解决措施是使用参数共享的多层神经网络。为此, Bengio用神经网络构建语言模型[2],其目的在于:把每个词用特征向量表示,同时根据提取的特征向量来输出概率。特征向量的维度会远远小于词表数量,输出的概率值则为在当前已知词的情况下下一个词出现的条件概率。该方法有效的原因在于,在训练过程中,相似的词会自动对应相似的特征向量,由此计算出的概率值也会相近,从而不需要对0概率词汇进行平滑。

基于前馈神经网络语言模型的目标是找到一个函数,使得:

。神经网络先将每一个输入的映射为特征向量,然后通过包含一个隐藏层的前馈神经网络不断训练参数对函数进行拟合。通过实验,神经网络语言模型利用了更长的上下文信息,困惑度也要优于N-gram。

但基于前馈神经网络的语言模型对于前文信息的利用也相对有限,循环神经网络在利用上下文信息的能力上远胜于简单的前馈神经网络, Mikolov于2010年提出将递归神经网络用于语言模型的建模并详细叙述了网络结构[5]。但存在梯度消失和梯度下降的问题,而不同类型的自循环单元则可以较好的解决该问题,比如:长短期记忆单元(Long Short Term Memory,LSTM)和门控循环单元(Gate Recurrent Unit,GRU)。[6]在复调音乐建模和语音信号建模任务中评估这两种自循环单元,实验表明,LSTM和GRU结构单元比传统的递归单元如tanh单元要好,在具体任务中GRU与LSTM效果相当。

神经网络对语音模型性能有很大的提升作用,但是运算时间较长,考虑其解码搜索代价,神经网络语言模型主要用于二次解码,具体实现过程是,从一次解码生成的Lattice中提取出N-best列表,引入神经网络语言模型进行重打分,更新相应候选句子的神经网络对数似然得分,公式为:, 式中:n为词个数;为词的插入代价;为词的声学模型得分;h为词的历史;为语言模型尺度因子;为语言模型得分。最终候选句子的语言模型得分为神经网络语言模型和N-gram语言模型的插值结合,从而选出最佳结果。[7]研究了循环神经网络在二次打分中的应用,在微软语料库Speech Corpora(Version 1.0)上进行实验,结果表明:引入词类别后,模型训练时间减少为原来的20%,困惑度也有6%的提高。对于训练数据与测试数据不匹配的问题,[7]又引入了缓存神经网络模型,从而使得词错率也有下降。

剩余内容已隐藏,您需要先支付 10元 才能查看该篇文章全部内容!立即支付

课题毕业论文、开题报告、任务书、外文翻译、程序设计、图纸设计等资料可联系客服协助查找。