当前位置: 首页 > 专利查询>清华大学专利>正文

基于分布式神经网络的语言模型训练方法及其系统技术方案

技术编号:10075928 阅读:465 留言:0更新日期:2014-05-24 07:08
本发明专利技术是有关于一种基于分布式神经网络的语言模型训练方法及其系统,该方法包括:将大词表拆分为多个小词表;将每个小词表对应一个神经网络语言模型,每个神经网络语言模型的输入维数相同且独立进行第一次训练;将各神经网络语言模型的输出向量合并并进行第二次训练;得到归一化的神经网络语言模型。该系统包括:输入模块、第一次训练模块、第二次训练模块和输出模块。本发明专利技术通过多个神经网络训练学习不同词表,充分利用神经网络的学习能力,大大降低对大词表学习训练的时间,同时将大词表的输出进行归一化,实现多个神经网络的归一和共享,使得NNLM尽可能学习更多的信息,从而提高大规模语音识别和机器翻译等相关应用任务中的准确率。

【技术实现步骤摘要】

本专利技术涉及一种语言模型,特别是涉及一种基于分布式神经网络的语言模型训练方法及其系统
技术介绍
语言模型在自然语言处理中有着非常重要的作用,特别是在大规模语音识别和机器翻译中。当前主流的语言模型为基于概率的统计语言模型,特别是基于n-gram的统计模型。随着神经网络的兴起,越来越多的人利用神经网络生成统计语言模型。统计语言模型被广泛应用于各种自然语言处理问题,如语言识别、分词、机器翻译、词性标注等。简单的说,统计语言模型就是用来计算一个句子的概率的模型,即p(w1,w2,…,wk)已知一个句子(词语序列)s=w1,w2,…,wk,他们的概率可以表示为:p(s)=p(w1,w2,…,wk)=p(w1)p(w2|w1)…p(wk|w1,w2,…,wk-1)举个简单的例子,输入拼音串为nixianzaiganshenme,对应的输出可以有多种形式,如“你现在干什么”、“你西安再赶什么”,等等。那么到底哪个才是正确的转换结果呢?利用语言模型,我们知道前者的概率大于后者,因此转换成前者在多数情况下比较合理。目前使用比较多的统计语言模型是n-gram语言模型,就是将上式中条件概率部分p(wk|w1,w2,…,wk-1)简化为p(wk|w1,w2,…,wn-1)。实际应用中n一般取为n=3或n=4,即三元和四元的n-gram语言模型。基于神经网络的语言模型最早由Bengio等人在2001年发表在NIPS上的文章《A Neural Probabilistic Language Model》中提出。请参阅图1所示,wj-n+1,wj-n+2,…,wj-1就是当前词wj的前n-1个词。现在需要根据这已知的n-1个词预测词wj的概率,即计算:P(wj=i|hj)首先,从输入层到映射层(projectionlayer)由一个|V|×m维的映射矩阵C(W)完成,其中|V|表示词表的大小(语料中的总词数),m表示映射空间的维度。网络的第一层(映射层)是将C(wj-n+1),C(wj-n+2),…,C(wj-1)这n-1个向量首尾相接拼起来,形成一个(n-1)*m维的向量,记为Cl。网络的第二层(隐藏层)由映射层经过线性变换d+Hx附加一个激活函数tanh()得到,其中d是一个偏置量,tanh()定义如下:。dj=tanh(Σlmjlcl+bj)。网络的第三层(输出层)一共有|V|个节点,每个节点yi表示下一个词为i的概率。该层由隐藏层输出经过线性变换后附加softmax激活函数进行归一化得到,计算公式为:oi=Σjυijdj+kiPi=exp(oi)/(Σr(exp(or)))相比于当前主流的n-gram语言模型,基于神经网络的语言模型(NNLM)对模型参数的共享更直接有效(共享映射矩阵),因而对低频词具有天然的光滑性,因此在建模能力上具有显著优势。另一方面,NNLM也具有明显的弱点,,包括:1)训练效率低,耗时长,特别是当词表增大到超过10w时,训练时间难以接受;2)解码时间较长,不能满足实际要求;3)单个神经网络结构学习大词表能力差,一旦需要学习的信息增多,单个神经网络结构就无法满足。为了解决上述问题,可以考虑利用分布式神经网络进行大词表语言模型学习。但是,基于现有技术,在进行多个神经网络学习时,各个神经网络需要独立学习不同词汇,极易导致最后产生的语言模型的概率尺度不统一,即未归一化。因此,如何能同时解决大词表神经网络语言模型学习和多个神经网络之间的归一化问题,在大规模语音识别和机器翻译中显得尤为重要。
技术实现思路
本专利技术要解决的技术问题是提供一种基于分布式神经网络的语言模型训练方法及其系统,使其能够同时解决大词表神经网络语言模型学习和多个神经网络之间归一化的问题,从而克服现有的神经网络语言模型学习方法的不足。为解决上述技术问题,本专利技术提出一种基于分布式神经网络的语言模型训练方法,包括以下步骤:将大词表拆分为多个小词表;将每个小词表对应一个小神经网络语言模型,每个小神经网络语言模型的输入维数相同且独立进行第一次训练;将各小神经网络语言模型的输出向量合并并进行第二次训练;得到归一化的神经网络语言模型。作为本专利技术的一种改进,第二次训练神经网络的输出概率计算公式为:其中,softmax(x)=exp(xi)/(Σr(exp(xr))),P1(o)T,P2(o)T,…,Pm(o)T为每个小神经网络语言模型的输出,x为第二次训练神经网络的输入,M是映射层到隐藏层的系数矩阵,b为隐藏层节点的偏移量,V为隐藏层到输出层的系数矩阵,d为输出层节点的偏移量。所述的第一次训练神经网络的输出概率概率计算公式为:其中,wj即为该小神经网络语言模型对应词表中的第j个词,是归一化函数当w在第m小词表时,相应的较大。此外,本专利技术还提供了一种应用上述方法的基于分布式神经网络的语言模型训练系统,包括:输入模块,用于将大词表拆分为多个小词表;第一次训练模块,包括多个独立的小神经网络语言模型模块,每个小神经网络语言模型模块对应输入模块的一个小词表进行独立训练;第二次训练模块,用于将第一次训练模块中各小神经网络语言模型模块的输出向量合并,并进行第二次训练;输出模块,用于输出第二次训练模块得到归一化的神经网络语言模型。作为进一步改进,所述的第一次训练模块中的各小神经网络语言模型模块包括接收输入量的映射层、进行概率计算的隐藏层和输出层。采用这样的设计后,本专利技术至少具有以下优点和有益效果:1、通过多个神经网络训练学习不同词表,充分利用神经网络的学习能力,大大降低对大词表学习训练的时间,这样可以解决利用NNLM训练学习大词表的时间问题和未充分利用神经网络的问题;2、可以将大词表的输出进行归一化,实现多个神经网络的归一和共享,使得NNLM尽可能学习更多的信息,从而提高大规模语音识别和机器翻译的准确率。附图说明上述仅是本专利技术技术方案的概述,为了能够更清楚了解本专利技术的技术手段,以下结合附图与具体实施方式对本专利技术作进一步的详细说明。图1是现有的神经网络语言模型的示意图。图2是本专利技术基于分布式神经网络的语言模型的示意图。图3是本专利技术基于分布式神经网络的语言模型的归一模型示意图。图4是本专利技术基于分布式神经网络的语言模型的训练方法流程示意图。具体实施方式请参阅图2所示,为了解决大词表的神经网络模型训本文档来自技高网
...

【技术保护点】
一种基于分布式神经网络的语言模型训练方法,其特征在于包括以下步骤:将大词表拆分为多个小词表;将每个小词表对应一个小神经网络语言模型,每个小神经网络语言模型的输入维数相同且独立进行第一次训练;将各小神经网络语言模型的输出向量合并并进行第二次训练;得到归一化的神经网络语言模型。

【技术特征摘要】
1.一种基于分布式神经网络的语言模型训练方法,其特征在于包括以
下步骤:
将大词表拆分为多个小词表;
将每个小词表对应一个小神经网络语言模型,每个小神经网络语言模
型的输入维数相同且独立进行第一次训练;
将各小神经网络语言模型的输出向量合并并进行第二次训练;
得到归一化的神经网络语言模型。
2.根据权利要求1所述的基于分布式神经网络的语言模型训练方法,
其特征在于所述的第二次训练神经网络的输出概率计算公式为:
其中,softmax(x)=exp(xi)/(Σr(exp(xr))),
P1(o)T,P2(o)T,…,Pm(o)T为每个小神经网络语言模型的输出,
x为第二次训练神经网络的输入,M是映射层到隐藏层的系数矩阵,b
为隐藏层节点的偏移量,V为隐藏层到输出层的系数矩阵,d为输出层节点
的偏移量。
3.根据权利要求1所述的基于分布式神经网络的语言模型训练方法,<...

【专利技术属性】
技术研发人员:刘荣王东郑方
申请(专利权)人:清华大学
类型:发明
国别省市:

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

1