一种基于分层循环神经网络语言模型的语音识别方法技术

技术编号:15507864 阅读:75 留言:0更新日期:2017-06-04 02:22
本发明专利技术中提出的一种基于分层循环神经网络语言模型的语音识别方法,其主要内容包括:使用RNN的字符级语言建模、用外部时钟和复位信号扩展RNN结构、具有分级RNN的字符级语言建模、进行语音识别,其过程为,先使用RNN的字符级语言建模,接着用外部时钟和复位信号扩展RNN结构,具有分级RNN的字符级语言建模,最后进行语音识别。本发明专利技术用基于分层循环神经网络语言模型替换传统的单时钟RNN字符级语言模型,具有更好的识别精度,降低了参数的数量;语言模型词汇量大,需要的存储空间更小;分层语言模型可以被扩展以处理更长时期的信息,例如句子,主题或其他上下文。

A speech recognition method based on hierarchical recurrent neural network language model

The present invention in a speech recognition method based on hierarchical recurrent neural network language model, the main contents include: using RNN character level language modeling, using an external clock and reset signals extended RNN structure, with hierarchical RNN character level language modeling, speech recognition, the process, character level language modeling using the RNN then, the extended RNN structure with external clock and reset signals, character level language modeling with RNN classification, finally speech recognition. A single clock RNN character level language model to replace the traditional recurrent neural network language model based on the invention, it has better recognition accuracy, reduces the number of parameters; language model vocabulary, smaller storage space needs; hierarchical language model can be extended to a longer period of information processing, such as sentence, topic or other context.

【技术实现步骤摘要】
一种基于分层循环神经网络语言模型的语音识别方法
本专利技术涉及语音识别领域,尤其是涉及了一种基于分层循环神经网络语言模型的语音识别方法。
技术介绍
随着现代技术的发展,基于循环神经网络(RNN)的字符级语言模型(CLMs)在语音识别、文本生成和机器翻译等领域应用广泛。它对于自然界中未见的单词的建模非常有用。然而,它们的性能通常比词级语言模型(WLMs)差得多。而且,统计语言模型需要大的存储空间,通常超过1GB,因为不仅要考虑大量的词汇,还需要考虑它们的组合。本专利技术提出了一种基于分层循环神经网络语言模型的语音识别方法,其分级RNN架构由具有不同时钟速率的多个模块组成。尽管是多时钟结构,但是输入层和输出层都是以字符级时钟操作,这允许现有的RNN字符级语言模型训练方法可以直接应用而不需要任何修改。首先使用RNN的字符级语言建模,接着用外部时钟和复位信号扩展RNN结构,具有分级RNN的字符级语言建模,最后进行语音识别。本专利技术用基于分层循环神经网络语言模型替换传统的单时钟RNN字符级语言模型,具有更好的识别精度,降低了参数的数量;语言模型词汇量大,需要的存储空间更小;分层语言模型可以被扩展以处理更长时期的信息,例如句子,主题或其他上下文。
技术实现思路
针对识别精度不高,所占存储空间大等问题,本专利技术的目的在于提供一种基于分层循环神经网络语言模型的语音识别方法,首先使用RNN的字符级语言建模,接着用外部时钟和复位信号扩展RNN结构,具有分级RNN的字符级语言建模,最后进行语音识别。为解决上述问题,本专利技术提供一种基于分层循环神经网络语言模型的语音识别方法,其主要内容包括:(一)使用RNN的字符级语言建模;(二)用外部时钟和复位信号扩展RNN结构;(三)具有分级RNN的字符级语言建模;(四)进行语音识别。其中,所述的基于分层循环神经网络语言模型,结合了字符级和词级语言模型的有利特性;循环神经网络(RNN)由低级RNNs和高级RNNs组成;低级RNN采用字符级输入和输出,并且向作为词级RNN操作的高级RNN提供短期嵌入;高级RNN不需要复杂的输入和输出,因为它从低级网络接收特征信息,并且以压缩形式将字符预测信息发送回低级;因此,当考虑输入和输出时,所提出的网络是一个字符级语言模型(CLM),但它包含一个词级模型;低级模块使用字符输入时钟,而高级模块使用分隔字的空格(<w>)运行;该分层语言模型可以被扩展,以处理更长时期的信息,例如句子,主题或其他上下文;分层语言模型可以用基于文本的字符来进行端对端训练。其中,所述的使用RNN的字符级语言建模,对于训练RNNCLMs,训练数据应首先转换为独热编码字符向量序列xt,其中字符包括字边界符号<w>,或空格,以及可选的句子边界符号<s>;训练RNN,通过使表示下一个字符的概率分布的softmax输出的交叉熵损失最小化来预测下一个字符xt+1。其中,所述的用外部时钟和复位信号扩展RNN结构,大多数类型的RNNs可以被概括为st=f(xt,st-1)(1)yt=g(st)(2)其中,xt是输入,st是状态,yt是时间步骤t的输出,f(·)是递归函数,g(·)是输出函数;例如,Elman网络可以表示为st=ht=σ(Whxxt+Whhht-1+bh)(3)yt=ht(4)其中,ht是隐层的激活,σ(·)是激活函数,Whx和Whh是权重矩阵,bh是偏置向量;具有遗忘门和窥视孔连接的LSTMs也可以转换为泛化形式;LSTM层的前向方程如下:it=σ(Wixxt+Wihht-1+Wimmt-1+bi)(5)ft=σ(Wfxxt+Wfhht-1+Wfmmt-1+bf)(6)mt=ft°mt-1+it°tanh(Wmxxt+Wmhmt-1+bm)(7)ot=σ(Woxxt+Wohht-1+Wommt+bo)(8)ht=ottanh(mt)(9)其中,it,ft和ot分别是输入门,遗忘门和输出门的值,mt是存储器单元激活,ht是输出激活,σ(·)是逻辑S型函数,о是元素智能乘法运算符;这些方程可以通过设置st=[mt,ht]和yt=ht来概括。进一步地,所述的用外部时钟和复位信号扩展RNN结构,任何广义RNNs可以被转换为并入外部时钟信号的那些RNNs,ct,如st=(1-ct)st-1+ctf(xt,st-1)(10)yt=g(st)(11)其中,ct是0或1;RNN仅在ct=1时更新其状态和输出;否则,当ct=0时,状态和输出值保持与前一步骤相同;通过将st-1设置为0来执行RNN的重置;具体地,公式(10)变为st=(1-ct)(1-rt)st-1+ctf(xt,(1-rt)st-1)(12)其中,复位信号rt=0或1;当rt=1时,RNN忘记先前的上下文;如果原始RNN方程是可微分的,则具有时钟和复位信号的扩展方程也是可微分的;因此,可以采用用于RNNs的现有的基于梯度的训练算法,诸如通过时间反向传播(BPTT),来训练扩展版本,而不用进行任何修改。其中,所述的具有分级RNN的字符级语言建模,所提出的分层RNN(HRNN)架构具有若干具有不同时钟速率的RNN模块;较高级模块采用比较低模块更慢的时钟速率,并且在较高级的每个时钟模块重置较低级模块。进一步地,所述的不同时钟速率的RNN模块,如果有L个层级,则RNN由L个子模块组成;每个子模块l用外部时钟cl,t和复位信号rl,t操作,其中,l=1,…,L;最低级模块l=1具有最快的时钟速率,即对于所有t,有cl,t=1;而高级模块l>1具有较慢的时钟速率,并且cl,t可以仅在cl-1,t=1时为1;而较低级模块l<L由较高级时钟信号复位,即rl,t=cl+1,t;模块的隐藏激活l<L被馈送到下一较高级模块l+1,延迟一个时间步长,以避免由rl,t=cl+1,t,t=1的不期望的复位;该隐藏激活向量,或嵌入向量,包含压缩的短期上下文信息;由较高级别时钟信号的模块复位有助于模块集中于仅压缩短期信息;下一个较高级模块l+1处理这个短期信息可以生成长期上下文向量,其被反馈到较低级别模块l;这种上下文传播没有延迟。进一步地,所述的字符级语言建模,使用二级(L=2)HRNN,使l=1为字符级模块,l=2为词级模块;词级模块在字边界输入计时,<w>,通常是空格字符;输入和softmax输出层连接到字符级模块,并且当前字边界标记(例如<w>或<s>)的信息被赋给词级模块;因为HRNN具有可扩展的体系结构,所以可以通过添加句子级模块l=3来扩展HRNNCLM,为语句级上下文建模;在这种情况下,当输入字符为句子边界标记<s>时,句子级时钟c3,t变为1;此外,字级模块应当在字边界输入<w>和句子边界输入<s>两者处被计时;同样,可扩展模型以包括其他更高级别的模块,例如段落级模块或主题建模模块。进一步地,所述的两级HRNNCLM体系结构,具有两种类型,两个模型每个子模块有两个LSTM层;在HLSTM-A架构中,字符级模块中的两个LSTM层都接收一次性编码字符输入;因此,字符级模块的第二层是由上下文向量条件化的生成模型;在HLSTM-B中,字符本文档来自技高网...
一种基于分层循环神经网络语言模型的语音识别方法

【技术保护点】
一种基于分层循环神经网络语言模型的语音识别方法,其特征在于,主要包括使用RNN的字符级语言建模(一);用外部时钟和复位信号扩展RNN结构(二);具有分级RNN的字符级语言建模(三);进行语音识别(四)。

【技术特征摘要】
1.一种基于分层循环神经网络语言模型的语音识别方法,其特征在于,主要包括使用RNN的字符级语言建模(一);用外部时钟和复位信号扩展RNN结构(二);具有分级RNN的字符级语言建模(三);进行语音识别(四)。2.基于权利要求书1所述的基于分层循环神经网络的语言模型,其特征在于,它结合了字符级和词级语言模型的有利特性;循环神经网络(RNN)由低级RNNs和高级RNNs组成;低级RNN采用字符级输入和输出,并且向作为词级RNN操作的高级RNN提供短期嵌入;高级RNN不需要复杂的输入和输出,因为它从低级网络接收特征信息,并且以压缩形式将字符预测信息发送回低级;因此,当考虑输入和输出时,所提出的网络是一个字符级语言模型(CLM),但它包含一个词级模型;低级模块使用字符输入时钟,而高级模块使用分隔字的空格(<w>)运行;该分层语言模型可以被扩展,以处理更长时期的信息,例如句子,主题或其他上下文;分层语言模型可以用基于文本的字符来进行端对端训练。3.基于权利要求书1所述的使用RNN的字符级语言建模(一),其特征在于,对于训练RNNCLMs,训练数据应首先转换为独热编码字符向量序列xt,其中字符包括字边界符号<w>,或空格,以及可选的句子边界符号<s>;训练RNN,通过使表示下一个字符的概率分布的softmax输出的交叉熵损失最小化来预测下一个字符xt+1。4.基于权利要求书1所述的用外部时钟和复位信号扩展RNN结构(二),其特征在于,大多数类型的RNNs可以被概括为st=f(xt,st-1)(1)yt=g(st)(2)其中,xt是输入,st是状态,yt是时间步骤t的输出,f(·)是递归函数,g(·)是输出函数;例如,Elman网络可以表示为st=ht=σ(Whxxt+Whhht-1+bh)(3)yt=ht(4)其中,ht是隐层的激活,σ(·)是激活函数,Whx和Whh是权重矩阵,bh是偏置向量;具有遗忘门和窥视孔连接的LSTMs也可以转换为泛化形式;LSTM层的前向方程如下:it=σ(Wixxt+Wihht-1+Wimmt-1+bi)(5)ft=σ(Wfxxt+Wfhht-1+Wfmmt-1+bf)(6)ot=σ(Woxxt+Wohht-1+Wommt+bo)(8)ht=ottanh(mt)(9)其中,it,ft和ot分别是输入门,遗忘门和输出门的值,mt是存储器单元激活,ht是输出激活,σ(·)是逻辑S型函数,是元素智能乘法运算符;这些方程可以通过设置st=[mt,ht]和yt=ht来概括。5.基于权利要求书4所述的用外部时钟和复位信号扩展RNN结构,其特征在于,任何广义RNNs可以被转换为并入外部时钟信号的那些RNNs,ct,如st=(1-ct)st-1+ctf(xt,st-1)(10)yt=g(st)(11)其中,ct是0或1;RNN仅在ct=1时更新其状态和输出;否则,当ct=0时,状态和输出值保持与前一步骤相同;通过将st-1设置为0来执行RNN的重置;具体地,公式(10)变为st=(1-ct)(1-rt)st-1+ctf(xt,(1-rt)st-1)(12)其中,复位信号rt=0或1;当rt=1时,RNN忘记先前的上下文;如果原始RNN方程是可微分的,则具有时钟和复位信号的扩展方程也是可微分的;...

【专利技术属性】
技术研发人员:夏春秋
申请(专利权)人:深圳市唯特视科技有限公司
类型:发明
国别省市:广东,44

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1