HI,欢迎来到起点商标网!
24小时服务QQ:2880605093

一种提高语音命令词识别性能的神经网络训练方法与流程

2021-01-28 12:01:17|224|起点商标网
一种提高语音命令词识别性能的神经网络训练方法与流程

本发明涉及语音命令词识别的技术领域,进一步说,尤其涉及一种提高语音命令词识别性能的神经网络训练方法。



背景技术:

伴随着人工智能语音识别技术的快速发展,语音命令作为一种自然快捷的控制手段,越来越多的被用于家用电器,智能车载,智能机器人及其他适合远距离控制的场合。对于特定的电器设备,控制命令词具有数目相对较多(十几条到上百条不等)、领域相关、各命令词间长度、发音不均衡等特点。同时,在实际项目应用中,客户对命令词的识别率、准确度、误触率等要求也越来越高。本发明提供一种提高语音命令词识别性能的神经网络训练方法,本发明的主要目的为,通过一系列训练方法,提高项目中命令词的识别率和准确度,同时使误触发生几率控制在可接受范围。

经检索,申请号为201910838469.5、名称为语音识别方法及装置、神经网络训练方法及装置的专利,其解决的技术问题是可以提升在复杂干扰声条件下的语音识别性能,提升用户体验;同时,第一子网络和第三子网络可以方便的整合第三方算法,具有更高灵活性。采用的技术方案是:实现语音识别的神经网络训练方法,所述神经网络包括第一至第三子网络;所述方法包括:获取样本数据,所述样本数据包括混合语音频谱及其标注音素;通过所述第一子网络从混合语音频谱中提取目标语音频谱;通过所述第二子网络对所述目标语音频谱进行适应性转换以得到中间过渡表征;通过所述第三子网络,基于所述中间过渡表征进行音素识别;根据所述音素识别的结果以及所述标注音素,对所述第一子网络、第二子网络以及第三子网络的参数进行更新。

上述技术方案以及其具体所解决的技术问题均不同于本申请方案。



技术实现要素:

本发明为解决上述技术问题而采用的技术方案是提供一种提高语音命令词识别性能的神经网络训练方法,通过调整ctc/ce联合训练loss比例,取得最佳音素识别效果,其中,具体技术方案为:

本训练方法的目标神经网络采用的输入为从原始音频中提取的n维特征值,输出为m维音素标签,训练采用ctcloss作为最终优化目标:

1)预训练基础神经网络模型:

训练方法采用音素覆盖全面的通用数据集作为预训练数据集,训练方法采用不要求输出标签强制对齐ctc损失函数作为命令词训练的最终优化目标;

2)命令词训练前的数据准备;

在语音命令词训练项目确立后,采集真人录制的近远场命令词数据,或者采用语音合成、语音转换等技术,模拟生成包含语气、音色、音调、韵律变化的多人命令词音频数据作为补充;对采集到的近场数据,进行房间脉冲相应模拟,噪声模拟,音量模拟增强变换;在准备验证集时,依照实际应用场景,采集各个命令词的等比例测试样例;

3)命令词训练过程:

a.迭代训练

在整个训练过程中,每经过s步网络参数调整后,运行测试流程,验证神经网络当前状态在验证集上的识别效果,直至识别率、误触皆满足交付指标时停止训练;

b.动态调整损失函数

当发现命令词在验证集上的识别效果出现严重不均衡时,需要启用动态损失函数调整策略进行干预;正常训练时,损失函数的定义为:

n为每批量训练中样本的数目,lossn为第n个样本产生的损失函数值;

动态调整损失函数时,根据各命令词的识别准确度更新其在loss调整中的权重比例αk;

,k为命令词类别;

某命令词识别差,则增加该命令词权重(αk>1),从而增加该命令词相关参数的调整幅度,对于其他不需要特别调整的命令词,则相应保持或减小权重(αk<=1);

c.降低误触。

上述的一种提高语音命令词识别性能的神经网络训练方法,其中:c.降低误触,方法为,在神经网络模型识别率达到一定水平之后,运行此神经网络模型,检测背景噪音中的误触,截取背景噪音中引发误触时间点附近的音频,作为具有独立模糊音素标签的反例加入训练集,用较小的学习率对神经网络模型进行调整训练。

上述的一种提高语音命令词识别性能的神经网络训练方法,其中:c.降低误触,方法为,调整训练集中样例的标注方式,在准备训练数据时,在每个字的音素标签之间插入分隔标签<wb>;然后,针对修改过的标注,对神经网络模型进行调整训练;通过增加字间分隔标签,使神经网络模型在学习过程中,进一步将字间不确定的发音归类到字间分隔标签,从而使各命令词音素的识别更集中于有相应发音特定的音频段。

上述的一种提高语音命令词识别性能的神经网络训练方法,其中:

1)步骤中,ctc训练结果会与实际音素发生位置有时间上的偏差,为减少此偏差,本训练方法在模型预训练阶段,采用ctc损失函数为主,辅助以适量逐帧对齐的ce损失函数进行调整,使神经网络模型更精确地学习到音素对齐信息,其中,ce损失函数:

y*是真实的逐帧标签

ctc损失函数:

∏(y*)是在真实标注基础上扩展出的,包括blank标签的,所有可能出现的与输入音频逐帧对齐的标签的集合,π是该集合中的一条路径;

losstotal=lossctc+α*lossce,α∈[0,1]

如α=0,即为标准的ctc损失函数。

本发明相对于现有技术具有如下有益效果:

现有技术中,命令词识别率和误触率是判定神经网络模型训练结果的重要指标,直接关系到用户在使用产品时的体验感受。随着产品复杂性的提升,控制命令词数目也随之增多。通常训练结果往往会由于各命令词间长度、发音、数据量不均衡等音素,造成其识别率不均衡,使客户感觉某些命令词特别差。同时,频繁发生的误触,会给终端用户造成很多困扰。本申请方案中,预训练基础神经网络模型时,通过调整ctc/ce联合训练loss比例,取得最佳音素识别效果;训练时动态拼接训练语料,随机生成连续的命令词音频及标注,提高神经网络模型对实际应用中对连续命令词的识别;训练过程中,定期根据中间神经网络模型在验证集上测试结果,动态调整不同命令词对权重的贡献,从而使命令词识别结果的相对均衡;通过在命令词识别标签中加入字边界标签,进一步提高命令词的识别率,降低误触的发生。

附图说明

图1为语音命令词识别神经网络模型训练的基本流程示意图。

图2为采用ctcloss作为最终优化目标训练的示意图。

图3为命令词训练前的数据准备示意图。

具体实施方式

下面结合附图和实施例对本发明作进一步的描述。

语音命令词识别神经网络模型训练的基本流程如下图1所示。

本训练方法的目标神经网络采用的输入为从原始音频中提取的n维特征值,输出为m维音素标签。训练采用ctcloss作为最终优化目标。

具体实施过程如下:

1、预训练基础神经网络模型:

针对各项目的计算能力、性能要求确定神经网络模型结构后,先对该基础神经网络模型进行预训练,以取得更好的初始化参数。

通常,命令词只包含音素集中的一部分发音。为保证训练结果中各音素的均衡性,本训练方法采用音素覆盖全面的通用数据集作为预训练数据集。

对于各项目命令词数据,如对音频数据做逐帧音素标注及校对检查,需要花费大量时间、人力成本。因此,本训练方法采用不要求输出标签强制对齐ctc损失函数作为命令词训练的最终优化目标。但ctc训练结果会与实际音素发生位置有时间上的偏差。为减少此偏差,本训练方法在模型预训练阶段,采用ctc损失函数为主,辅助以适量逐帧对齐的ce损失函数进行调整,使神经网络模型更精确地学习到音素对齐信息。其中,ce损失函数:

y*是真实的逐帧标签

ctc损失函数:

∏(y*)是在真实标注基础上扩展出的,包括blank标签的,所有可能出现的与输入音频逐帧对齐的标签的集合。π是该集合中的一条路径。

ctc+ce联合损失函数:

losstotal=lossctc+a*lossce,a∈[0,1]

如α=0,即为标准的ctc损失函数。

具体训练过程如图2所示。

2、命令词训练前的数据准备,如图3所示。

在语音命令词训练项目确立后,尽可能采集真人录制的近远场命令词数据。在没有条件收集更多实际数据的情况下,可采用语音合成、语音转换等技术,模拟生成包含语气、音色、音调、韵律变化的多人命令词音频数据作为补充。

对采集到的近场数据,可进行房间脉冲相应模拟,噪声模拟,音量模拟等增强变换,丰富语音数据的真实性和多样性,使其更接近实际使用时的远场环境,从而达到更好的训练效果。

在准备验证集时,需要依照实际应用场景,采集各个命令词的等比例测试样例。保证验证集尽量真实的反映神经网络模型在真实测试例上的识别效果,也用于后期命令词识别均衡性的调整训练。

3、命令词训练过程:

a.迭代训练

在整个训练过程中,每经过s步网络参数调整后,运行测试流程,验证神经网络当前状态在验证集上的识别效果,直至识别率、误触皆满足交付指标时停止训练。

b.动态调整损失函数

当发现命令词在验证集上的识别效果出现严重不均衡时,需要启用动态损失函数调整策略进行干预。正常训练时,损失函数的定义为:

n为每批量训练中样本的数目,lossn为第n个样本产生的损失函数值。

动态调整损失函数时,根据各命令词的识别准确度更新其在loss调整中的权重比例αk。

,k为命令词类别。

如某命令词识别差,则适当增加该命令词权重(αk>1),从而增加该命令词相关参数的调整幅度。对于其他不需要特别调整的命令词,则相应保持或减小权重(αk<=1)。

c.降低误触

在训练进行到一定阶段,随着神经网络模型学习的深入,对噪声背景下的识别率会提高,同时也会引起误触率的增加。

本训练方法采取两种方式对此情况进行调整。

方法一

在神经网络模型识别率达到一定水平之后,运行此神经网络模型,检测背景噪音中的误触。截取背景噪音中引发误触时间点附近的音频,作为具有独立模糊音素标签的反例加入训练集,用较小的学习率对神经网络模型进行调整训练。

该方法维持已有训练样例的音素标注不变,简单易行,不需要改变主要训练流程及后期解码过程。通过使用独立的模糊音素标签,使神经网络模型能够更明确区分命令词发音音素与具有类似特征的背景噪声的差别,能有效压制各种环境下的误触发生几率。

方法二

调整训练集中样例的标注方式,在准备训练数据时,在每个字的音素标签(声母、韵母)之间插入分隔标签(<wb>)。然后,针对修改过的标注,对神经网络模型进行调整训练。例如,对于命令词“你好小明”,原有标注为:

nii2hao3xiao3ming2

在增加了字间分隔标签后,标注为:

<wb>nii2<wb>hao3<wb>xiao3<wb>ming2<wb>

通过增加字间分隔标签,可以使神经网络模型在学习过程中,进一步将字间不确定的发音归类到字间分隔标签,从而使各命令词音素的识别更集中于有相应发音特定的音频段。

在实际解码过程中,仍然只关注命令词标注音素,而忽略字间分隔标签,即忽略掉模糊不清的发音对命令词识别的贡献,使命令词和背景噪声最终解码信心值差距更大,更容易通过阈值进行区分,从而有效提高识别率,同时降低误触的发生。

虽然本发明已以较佳实施例揭示如上,然其并非用以限定本发明,任何本领域技术人员,在不脱离本发明的精神和范围内,当可作些许的修改和完善,因此本发明的保护范围当以权利要求书所界定的为准。

起点商标作为专业知识产权交易平台,可以帮助大家解决很多问题,如果大家想要了解更多知产交易信息请点击 【在线咨询】或添加微信 【19522093243】与客服一对一沟通,为大家解决相关问题。

此文章来源于网络,如有侵权,请联系删除

tips