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

文档序号:12475871阅读:299来源:国知局
一种基于分层循环神经网络语言模型的语音识别方法与流程

本发明涉及语音识别领域,尤其是涉及了一种基于分层循环神经网络语言模型的语音识别方法。



背景技术:

随着现代技术的发展,基于循环神经网络(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的字符级语言建模,对于训练RNN CLMs,训练数据应首先转换为独热编码字符向量序列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=ot tanh(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来扩展HRNN CLM,为语句级上下文建模;在这种情况下,当输入字符为句子边界标记<s>时,句子级时钟c3,t变为1;此外,字级模块应当在字边界输入<w>和句子边界输入<s>两者处被计时;同样,可扩展模型以包括其他更高级别的模块,例如段落级模块或主题建模模块。

进一步地,所述的两级HRNN CLM体系结构,具有两种类型,两个模型每个子模块有两个LSTM层;

在HLSTM-A架构中,字符级模块中的两个LSTM层都接收一次性编码字符输入;因此,字符级模块的第二层是由上下文向量条件化的生成模型;

在HLSTM-B中,字符级模块的第二LSTM层没有直接与字符输入连接;相反,从第一LSTM层嵌入的字被馈送到第二LSTM层,这使得字符级模块的第一和第二层一起工作,以在给出上下文向量时估计下一字符概率;

实验结果表明,HLSTM-B对于CLM应用更有效;

由于字符级模块被字边界标记(即,<w>或空白)复位,所以来自词级模块的上下文向量是字间上下文信息的唯一来源;因此,训练模型以生成包含关于下一个词的概率分布的有用信息的上下文向量;从这个角度来看,HRNN CLM架构中的字级模块可以被认为是字级RNN LM,其中输入是字嵌入向量,输出是下一个字概率的压缩描述符。

其中,所述的进行语音识别,将语音输入通过傅里叶变换转化为频谱图,利用RNNs网络进行定向搜索解码,最终产生识别结果。

附图说明

图1是本发明一种基于分层循环神经网络语言模型的语音识别方法的系统流程图。

图2是本发明一种基于分层循环神经网络语言模型的语音识别方法的训练基于RNN的CLM。

图3是本发明一种基于分层循环神经网络语言模型的语音识别方法的分层RNN。

图4是本发明一种基于分层循环神经网络语言模型的语音识别方法的CLM的两级分层LSTM(HLSTM)结构。

具体实施方式

需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互结合,下面结合附图和具体实施例对本发明作进一步详细说明。

图1是本发明一种基于分层循环神经网络语言模型的语音识别方法的系统流程图。主要包括使用RNN的字符级语言建模,用外部时钟和复位信号扩展RNN结构,具有分级RNN的字符级语言建模和进行语音识别。

其中,所述的用外部时钟和复位信号扩展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=ot tanh(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),来训练扩展版本,而不用进行任何修改。

其中,所述的进行语音识别,将语音输入通过傅里叶变换转化为频谱图,利用RNNs网络进行定向搜索解码,最终产生识别结果。

图2是本发明一种基于分层循环神经网络语言模型的语音识别方法的训练基于RNN的CLM。对于训练RNN CLMs,训练数据应首先转换为独热编码字符向量序列xt,其中字符包括字边界符号<w>,或空格,以及可选的句子边界符号<s>;训练RNN,通过使表示下一个字符的概率分布的softmax输出的交叉熵损失最小化来预测下一个字符xt+1

图3是本发明一种基于分层循环神经网络语言模型的语音识别方法的分层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来扩展HRNN CLM,为语句级上下文建模;在这种情况下,当输入字符为句子边界标记<s>时,句子级时钟c3,t变为1;此外,字级模块应当在字边界输入<w>和句子边界输入<s>两者处被计时;同样,可扩展模型以包括其他更高级别的模块,例如段落级模块或主题建模模块。

图4是本发明一种基于分层循环神经网络语言模型的语音识别方法的CLM的两级分层LSTM(HLSTM)结构。两级HRNN CLM体系结构具有两种类型,两个模型每个子模块有两个LSTM层;

在HLSTM-A架构中,字符级模块中的两个LSTM层都接收一次性编码字符输入;因此,字符级模块的第二层是由上下文向量条件化的生成模型;

在HLSTM-B中,字符级模块的第二LSTM层没有直接与字符输入连接;相反,从第一LSTM层嵌入的字被馈送到第二LSTM层,这使得字符级模块的第一和第二层一起工作,以在给出上下文向量时估计下一字符概率;

实验结果表明,HLSTM-B对于CLM应用更有效;

由于字符级模块被字边界标记(即,<w>或空白)复位,所以来自词级模块的上下文向量是字间上下文信息的唯一来源;因此,训练模型以生成包含关于下一个词的概率分布的有用信息的上下文向量;从这个角度来看,HRNN CLM架构中的字级模块可以被认为是字级RNN LM,其中输入是字嵌入向量,输出是下一个字概率的压缩描述符。

对于本领域技术人员,本发明不限制于上述实施例的细节,在不背离本发明的精神和范围的情况下,能够以其他具体形式实现本发明。此外,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围,这些改进和变型也应视为本发明的保护范围。因此,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1