神经网络语言模型的训练方法、装置以及语音识别方法

文档序号:2826135阅读:198来源:国知局
神经网络语言模型的训练方法、装置以及语音识别方法
【专利摘要】本发明公开了一种神经网络语言模型的训练方法、装置以及语音识别方法,涉及语音识别技术。为解决现有技术在降低神经网络语言模型计算复杂度时,神经网络语言模型识别正确率降低的问题。提供的技术方案包括:在对神经网络语言模型的参数进行训练的过程中,采用输出层的归一化因子对目标代价函数进行修正,获取修正后的目标代价函数;根据修正后的目标代价函数对神经网络语言模型的参数进行更新,获取神经网络语言模型训练后的目标参数,其中,目标参数使得训练后的神经网络语言模型中归一化因子为常数。该方案可以应用在神经网络语音识别过程中。
【专利说明】神经网络语言模型的训练方法、装置以及语音识别方法

【技术领域】
[0001] 本发明涉及语音识别技术,尤其涉及一种神经网络语言模型的训练方法、装置以 及语音识别方法。

【背景技术】
[0002] 语音识别是指使用计算机将一段语音信号转换成对应文字的过程,语音识别的 结果依赖于在语音识别中使用的语言模型,其中,语言模型是对序列建模,在给定历史序列 的情况下准确地预测下一个词,或者给定带有错误的句子候选中,挑选出最符合人类语言 的候选。理想的语言模型能够保证语音识别系统输出合理的识别假设。
[0003] 在神经网络语言模型中,每一个词都被映射成为高维矢量,语法和语义等相近的 词在高维空间具有比较好的聚集性。神经网络语言模型在语音识别、机器翻译等领域中已 经取得非常好的效果。
[0004] 神经网络语言模型最大的缺点是计算复杂度过高,该模型的计算负担主要来源 于输出层。对于神经网络语言模型,给定历史上文每进行一次分数预测,都需要在输出层经 过SOftmax函数归一化成为概率,这一过程使得神经网络语言模型计算复杂度高,从而直 接限制其广泛应用。
[0005] 现有技术通常采用词语类聚或者树状结构等方法,根据人为经验对词典进行结构 化处理,以减小神经网络语言模型输出层的计算复杂度。然而,由于引入了人为因素,现有 技术采用的方法会对神经网络语言模型的性能造成影响,使得语音识别质量(识别率)降 低。


【发明内容】

[0006] 本发明的实施例提供一种神经网络语言模型的训练方法、装置以及语音识别方 法,能够在保证语音识别质量的前提下,提高语音识别速度。
[0007] 为达到上述目的,本发明的实施例采用如下技术方案:
[0008] -种神经网络语言模型的训练方法,包括:对待训练的神经网络语言模型的参数 进行初始化,获取初始化后的参数;根据给定的训练文本句子和所述初始化后的参数,获取 输出层的状态矢量;根据所述输出层的状态矢量和初始化后的参数,获取输出层的归一化 因子;根据所述归一化因子确定所述训练文本句子中待识别词语的预测概率;采用所述归 一化因子对目标代价函数进行修正,获取修正后的目标代价函数,其中,所述目标代价函数 根据所述预测概率获得;根据所述修正后的目标代价函数对所述初始化后的参数进行更 新,获取所述待训练的神经网络语言模型训练后的目标参数,其中,目标参数使得训练后的 神经网络语言模型中归一化因子为常数。
[0009] 一种神经网络语言模型的训练装置,包括:
[0010] 初始化模块,对待训练的神经网络语言模型的参数进行初始化,获取初始化后的 参数; toon] 第一获取模块,用于根据给定的训练文本句子和所述初始化模块获取的初始化后 的参数,获取输出层的状态矢量;
[0012] 第二获取模块,根据所述第一获取模块获取的输出层的状态矢量和初始化模块获 取的参数,获取输出层的归一化因子;
[0013] 第三获取模块,用于根据所述第二获取模块获取的归一化因子确定所述训练文本 句子中待识别词语的预测概率;
[0014] 修正模块,用于根据所述第三获取模块确定的预测概率获取目标代价函数,采用 所述第二获取模块获取的归一化因子对目标代价函数进行修正,获取修正后的目标代价函 数;
[0015] 更新模块,用于根据所述修正模块修正后的目标代价函数对所述初始化模块获取 的参数进行更新,获取所述待训练的神经网络语言模型训练后的目标参数,其中,目标参数 使得训练后的神经网络语言模型中归一化因子为常数。
[0016] 一种语音识别方法,包括:采用声学模型进行声学观测匹配的步骤,以及采用神经 网络语言模型进行约束搜索空间的步骤;其中,所述神经网络语言模型为采用本发明提供 的神经网络语言模型的训练方法获取的语言模型。
[0017] 本发明实施例提供的神经网络语言模型的训练方法、装置以及语音识别方法,采 用归一化因子对目标代价函数进行修正,根据修正后的目标代价函数训练神经网络语言模 型,获得目标参数,该目标参数能够使训练后的神经网络语言模型中归一化因子为常数,从 而降低了神经网络语言模型计算归一化因子的复杂度,提高了神经网络语言模型的计算速 度,进而提高了采用该语言模型进行语音识别的速度,相较于现有技术提供的技术方案,模 型的计算复杂度更低,并且,由于本发明实施例采用归一化因子对目标代价函数进行修正, 解决了现有技术通过人为经验对词典进行结构化处理,造成语音识别质量降低的问题,经 过本发明实施例提供的神经网络语言模型的训练方法、装置训练获得的语言模型,与现有 的神经网络语言模型的性能基本相同,在保障原有语言模型性能的基础上,降低了计算复 杂度,提高了计算速度,进而提高了识别速率。

【专利附图】

【附图说明】
[0018] 为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现 有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本 发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以 根据这些附图获得其他的附图。
[0019] 图1为本发明实施例提供的神经网络语言模型的训练方法流程图;
[0020] 图2为现有技术中前馈神经网络语言模型示意图;
[0021] 图3为现有技术中递归神经网络语言模型示意图;
[0022] 图4为图1所示的本发明实施例提供的神经网络语言模型的训练方法中步骤102 的流程图;
[0023] 图5为图1所示的本发明实施例提供的神经网络语言模型的训练方法中步骤106 的流程图;
[0024] 图6为采用本发明实施例提供的神经网络语言模型的训练方法获得的神经网络 语言模型的性能对照图;
[0025] 图7为本发明实施例提供的神经网络语言模型的训练装置结构示意图。

【具体实施方式】
[0026] 下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完 整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于 本发明中的实施例,本领域普通技术人员在没有作出创造性劳动的前提下所获得的所有其 他实施例,都属于本发明保护的范围。
[0027] 为解决现有技术在降低神经网络语言模型计算复杂度时,神经网络语言模型识别 正确率降低的问题,本发明实施例提供一种神经网络语言模型的训练方法、装置以及语音 识别方法。
[0028] 如图1所示,本发明实施例提供一种神经网络语言模型的训练方法,包括:
[0029] 步骤101,对待训练的神经网络语言模型的参数进行初始化,获取初始化后的参 数。
[0030] 目前,神经网络语言模型主要包括两种:一种是,前馈神经网络语言模型,如图2 所示;另一种是,递归神经网络语言模型,如图3所示。
[0031] 在本实施例中,当待训练的神经网络语言模型为前馈神经网络语言模型时,该 语言模型的参数包括:投影矩阵E、输入矩阵Wihk以及预测矩阵Wh。,初始化后的参数为: EeRDXV、WihkeRhxd以及Wh。巨RVXH,其中V为字典大小,D为投影层节点数,H为隐含层节 点数。
[0032] 当待训练的神经网络语言模型为递归神经网络语言模型时,该语言模型的参数包 括:输入矩阵Wih、递归矩阵Whh以及预测矩阵Wh。,初始化后的参数为:WiheRhxvJhheRhxh 以及Wh。eRvxh,其中,,V为字典大小,D为投影层节点数,H为隐含层节点数。
[0033] 步骤102,根据给定的训练文本句子和步骤101获取的初始化后的参数,获取输出 层的状态矢量。
[0034] 在本实施例中,训练文本句子§ = (W1,W2,…Wi…,WrJ,其中,Wi是训练文本句 子g的第i个词,η是训练文本句子§的长度。词Wi在字典中的索引为q(Wi) =je[1,V]。
[0035] 进一步地,如图4所示,步骤102具体可以包括:
[0036] 步骤1021,将训练文本句子3中的每一个词Wi转换成对应的矢量Vi =[0,0,... 1, 0, . . .]TeRv,其中,只有索引为q(Wi)的位置为1,其余置0。
[0037] 步骤1022,根据步骤101获取的初始化后的参数,以及步骤1021获取的词Wi对应 的矢量Vi,确定隐含层状态矢量。
[0038] 具体地,当神经网络语言模型为前馈神经网络语言模型时,通过如下公式(1)确定 隐含层状态矢量:

【权利要求】
1. 一种神经网络语言模型的训练方法,其特征在于,包括: 对待训练的神经网络语言模型的参数进行初始化,获取初始化后的参数; 根据给定的训练文本句子和所述初始化后的参数,获取输出层的状态矢量; 根据所述输出层的状态矢量和初始化后的参数,获取输出层的归一化因子; 根据所述归一化因子确定所述训练文本句子中待识别词语的预测概率; 采用所述归一化因子对目标代价函数进行修正,获取修正后的目标代价函数,其中,所 述目标代价函数根据所述预测概率获得; 根据所述修正后的目标代价函数对所述初始化后的参数进行更新,获取所述待训练的 神经网络语言模型训练后的目标参数,其中,目标参数使得训练后的神经网络语言模型中 归一化因子为常数。
2. 根据权利要求1所述的神经网络语言模型的训练方法,其特征在于,采用所述归一 化因子以及如下公式对目标代价函数进行修正,获取修正后的目标代价函数:
其中,miiuI(O)为修正后的目标代价函数,Θ为待训练的神经网络语言模型的参数集 Θ 合;J(O)为目标代价函数
;以归一化因子为参数的修正函数,Zt 为归一化因子,n为惩罚因子,|τ|为总输入个数。
3. 根据权利要求1所述的神经网络语言模型的训练方法,其特征在于,采用所述归一 化因子以及如下公式对目标代价函数进行修正,获取修正后的目标代价函数:
其中,为修正后的目标代价函数,Θ为待训练的神经网络语言模型的参数集 合;J(O)为目标代价函数
为以归一化因子为参数的修正函数,Vt = Iog(Zt)
Zt为归一化因子,Ii为惩罚因子,|τ|为总输入个数。
4. 根据权利要求1-3中任意一项所述的神经网络语言模型的训练方法,其特征在于, 所述目标参数使得训练后的神经网络语言模型中归一化因子为1。
5. -种神经网络语言模型的训练装置,其特征在于,包括: 初始化模块,对待训练的神经网络语言模型的参数进行初始化,获取初始化后的参 数; 第一获取模块,用于根据给定的训练文本句子和所述初始化模块获取的初始化后的参 数,获取输出层的状态矢量; 第二获取模块,根据所述第一获取模块获取的输出层的状态矢量和初始化模块获取的 参数,获取输出层的归一化因子; 第三获取模块,用于根据所述第二获取模块获取的归一化因子确定所述训练文本句子 中待识别词语的预测概率; 修正模块,用于根据所述第三获取模块确定的预测概率获取目标代价函数,采用所述 第二获取模块获取的归一化因子对目标代价函数进行修正,获取修正后的目标代价函数; 更新模块,用于根据所述修正模块修正后的目标代价函数对所述初始化模块获取的参 数进行更新,获取所述待训练的神经网络语言模型训练后的目标参数,其中,目标参数使得 训练后的神经网络语言模型中归一化因子为常数。
6. -种语音识别方法,其特征在于,包括:采用声学模型进行声学观测匹配的步骤,以 及采用神经网络语言模型进行约束搜索空间的步骤;其中,所述神经网络语言模型为采用 权利要求1-3中任意一项所述的神经网络语言模型的训练方法获取的语言模型。
【文档编号】G10L15/06GK104376842SQ201310349690
【公开日】2015年2月25日 申请日期:2013年8月12日 优先权日:2013年8月12日
【发明者】刘加, 史永哲, 张卫强, 何亮, 王力劭, 王燕强 申请人:清华大学, 深圳市车音网科技有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1