一种语音识别模型训练方法、语音识别方法及相关设备与流程



1.本发明涉及语音识别技术领域,尤其涉及一种语音识别模型训练方法、语音识别方法及相关设备。


背景技术:



2.语音识别是一种利用机器自动地将人类语音内容转换成文本的技术。近年来,随着深度神经网络的广泛应用,语音识别技术取得了长足的进步。目前的语音识别方案多为基于语音识别模型的语音识别方案,即预先利用某个类别的训练语音(比如英语的训练语音)训练得到能够对该类别的语音进行识别的语音识别模型,然后利用训练得到的语音识别模型对该类别的待识别语音进行识别。
3.可以理解的,语音识别效果取决于语音识别模型的性能,若要获得能够对某个类别的语音(比如英语语音)准确识别的语音识别模型,则需要获得该类别足够多的语音数据,然而,并不是所有类别都具有足够多的语音数据(比如小语种的语音数据匮乏),若某个类别的语音数据不足,采用上述的方案将导致无法训练得到性能较佳的语音识别模型,进而导致对该类别的待识别语音识别时无法获得准确的识别结果。


技术实现要素:



4.有鉴于此,本发明提供了一种语音识别模型训练方法、语音识别方法及相关设备,用于解决某个类别的语音数据不足时,采用现有方案无法训练得到性能较佳的语音识别模型,进而导致对该类别的待识别语音识别时无法获得准确识别结果的问题,其技术方案如下:
5.一种语音识别模型训练方法,包括:
6.利用任务总集对构建的语音识别模型进行第一阶段的训练,得到第一阶段训练后的语音识别模型;其中,所述任务总集中包括多个第一类别分别对应的任务,所述任务根据对应第一类别的训练语音构建,所述第一类别为设定的多个类别中,所具有的语音资源的总时长大于或等于第一预设时长阈值的类别,在对语音识别模型进行第一阶段训练的过程中,通过自行学习适合所述任务总集中任务的学习率来把控模型参数更新方向,通过一阶梯度的计算对模型参数进行更新;
7.利用第二类别的训练语音,对第一阶段训练后的语音识别模型进行第二阶段的训练;其中,所述第二类别为所述设定的多个类别中,所具有的语音资源的总时长小于或等于第二预设时长阈值的类别。
8.可选的,构建所述多个第一类别分别对应的任务,包括:
9.针对每个第一类别:
10.获取该第一类别的训练语音;
11.对该第一类别的训练语音提取声学特征;
12.将对该第一类别的训练语音提取的声学特征作为该第一类别对应的任务。
13.可选的,所述利用任务总集对构建的语音识别模型进行第一阶段的训练,包括:
14.从所述任务总集中获取第一数量的任务组成当前任务子集;
15.基于当前任务子集、语音识别模型,以及上一任务子集对应的模型参数和学习率,确定针对当前任务子集的一阶梯度;其中,若当前任务子集为首个任务子集,则上一任务子集对应的模型参数和学习率采用初始的模型参数和初始的学习率;
16.基于上一任务子集对应的模型参数和学习率,以及针对当前任务子集的一阶梯度,确定当前任务子集对应的模型参数和学习率,并将语音识别模型的模型参数更新为当前任务子集对应的模型参数;
17.执行所述从所述任务总集中获取第一数量的任务组成当前任务子集及后续步骤,直至满足训练结束条件。
18.可选的,所述基于当前任务子集、语音识别模型,以及上一任务子集对应的模型参数和学习率,确定针对当前任务子集的一阶梯度,包括:
19.从当前任务子集中获取未处理过的任务作为当前任务;
20.利用语音识别模型处理当前任务,并基于当前任务的处理结果和当前任务对应的标签信息,确定语音识别模型在当前任务上的预测损失;
21.根据语音识别模型在当前任务上的预测损失计算一阶梯度,计算得到的一阶梯度作为针对当前任务的一阶梯度;
22.根据针对当前任务的一阶梯度、针对上一任务的参数、上一任务子集对应的学习率,确定针对当前任务的参数,其中,语音识别模型基于针对当前任务的参数处理下一任务,其中,若当前任务为首个任务,则针对上一任务的参数采用上一任务子集对应的模型参数;
23.将针对最后处理的任务的一阶梯度,确定为针对当前任务子集的一阶梯度。
24.可选的,所述利用语音识别模型处理当前任务,并基于当前任务的处理结果和当前任务对应的标签信息,确定语音识别模型在当前任务上的预测损失,包括:
25.从当前任务中获取第二数量的数据点组成数据点集,其中,所述数据点集中的每个数据点对应有标签信息;
26.将所述数据点集输入语音识别模型进行处理,得到语音识别模型输出的处理结果;
27.根据所述语音识别模型输出的处理结果和所述数据点集中每个数据点对应的标签信息,计算语音识别模型在当前任务上的预测损失。
28.可选的,在所述确定针对当前任务的参数后,还包括:
29.判断在当前任务上的迭代次数是否达到预设的迭代次数;
30.若是,则执行所述从当前任务子集中获取未处理过的任务作为当前任务及后续步骤,若否,则执行所述从当前任务中获取第二数量的数据点组成数据点集及后续步骤。
31.可选的,所述利用第二类别的训练语音,对第一阶段训练后的语音识别模型进行第二阶段的训练,包括:
32.采用一种或多种语音扩增方式,对所述第二类别的训练语音进行扩增处理,得到扩增后语音;
33.利用所述第二类别的训练语音以及所述扩增后语音,对第一阶段训练后的语音识
别模型进行第二阶段的训练。
34.一种语音识别方法,包括:
35.获取第二类别的目标语音;
36.基于预先训练得到的语音识别模型对所述目标语音进行识别,得到所述目标语音的识别结果;
37.其中,所述语音识别模型采用上述任一项所述的语音识别模型训练方法训练得到。
38.一种语音识别模型训练装置,包括:第一训练模块和第二训练模块;
39.所述第一训练模块,用于利用任务总集对构建的语音识别模型进行第一阶段的训练,得到第一阶段训练后的语音识别模型;其中,所述任务总集中包括多个第一类别分别对应的任务,所述任务根据对应第一类别的训练语音构建,所述第一类别为设定的多个类别中,所具有的语音资源的总时长大于或等于第一预设时长阈值的类别,在对语音识别模型进行第一阶段训练的过程中,通过自行学习适合所述任务总集中任务的学习率来把控模型参数更新方向,通过一阶梯度的计算对模型参数进行更新;
40.所述第二训练模块,用于利用第二类别的训练语音,对第一阶段训练后的语音识别模型进行第二阶段的训练;其中,所述第二类别为所述多个类别中,所具有的语音资源的总时长小于或等于第二预设时长阈值的类别。
41.一种数据处理设备,包括:存储器和处理器;
42.所述存储器,用于存储程序;
43.所述处理器,用于执行所述程序,实现上述任一项所述的语音识别模型训练方法的各个步骤,和/或,实现上述的语音识别方法的各个步骤。
44.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时,实现上述任一项所述的语音识别模型训练方法的各个步骤,和/或,实现上述的语音识别方法的各个步骤。
45.本发明提供语音识别模型训练方法,首先利用任务总集对构建的语音识别模型进行第一阶段的训练,得到第一阶段训练后的语音识别模型,然后利用第二类别的训练语音,对第一阶段训练后的语音识别模型进行第二阶段的训练。本发明提供的语音识别模型训练方法采用基于具有丰富语音资源的多个第一类别的训练语音构建的任务总集和低资源语音类别的训练语音,可训练得到能够对低资源语音类别的语音具有较好识别效果且稳定性较好的语音识别模型,另外,本发明在对语音识别模型进行第一阶段训练的过程中,通过自行学习适合任务总集中任务的学习率来把控模型参数更新方向,以及,通过一阶梯度的计算对模型参数进行更新,这两种策略减少了模型训练消耗的计算时间与资源,减少了学习率手动调整的时间消耗,加快了模型收敛速度,减少了模型训练所消耗的时间。在本发明提供的语音识别模型训练方法的基础上,本发明还提供了一种语音识别方法,由于该语音识别方法采用本发明提供的语音识别模型训练方法训练得到的语音识别模型对目标语音进行识别,因此,最终可获得准确较高的语音识别结果。
附图说明
46.为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现
有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
47.图1为本发明实施例提供的语音识别模型训练方法的流程示意图;
48.图2为本发明实施例提供的利用任务总集对构建的语音识别模型进行第一阶段的训练的流程示意图;
49.图3为本发明实施例提供的利用第二类别的训练语音,对第一阶段训练后的语音识别模型进行第二阶段的训练的流程示意图;
50.图4为本发明实施例提供的语音识别模型训练装置的结构示意图;
51.图5为本发明实施例提供的数据处理设备的结构示意图。
具体实施方式
52.下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
53.下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
54.目前对于低资源类别的语音(比如低资源语言的语音)的识别方案为,利用低资源类别的训练语音训练得到语音识别模型,利用训练得到的语音识别模型对低资源类别的待识别语音进行识别。由于低资源类别的训练语音很少,因此,利用低资源类别的训练语音训练得到语音识别模型的性能很差。
55.为了能够获得对低资源类别的语音具有较好识别效果的语音识别模型,本案发明人进行了研究,起初的思路是:
56.采用多资源类别(具有丰富语音资源的类别,比如具有丰富语音资源的语言类别)的训练语音对语音识别模型进行第一阶段的训练,利用低资源类别的训练语音对第一阶段训练后的语音识别模型进行第二阶段的训练,其中,在对语音识别模型进行第一阶段的训练时,利用多资源类别的训练语音构建任务总集,利用任务总集对语音识别模型进行第一阶段的训练,在利用任务总集对语音识别模型进行第一阶段的训练时,从任务总集中采样若干任务组成任务子集t,利用任务子集t进行训练,训练过程包括如下的内循环和外循环:
57.内循环:对t中的每一个任务ti分别抽取k个数据点准备支撑集和查询集然后在支撑集上应用由参数θ影响的语音识别模型f
θ
进行学习,计算损失及梯度,并利用随机梯度下降sgd优化使损失最小化,得到每个任务ti对应参数θ
‘i,其中,α为内循环学习率,是一个数值,需要手动设置或调整。
58.外循环:在查询集上用累计的元梯度在adam优化器上执行元优
化,使得在中的损失最小化,并用下式更新模型参数θ:
59.其中,β为外循环学习率,其为设定参数。
60.本案发明人对上述思路进行研究发现,上述过程由于存在一个梯度嵌套关系,因此,在模型训练时需要计算二阶偏导数,计算二阶偏导数消耗的时间与计算资源较多,导致模型收敛比较慢,有时甚至会出现训练不稳定的可能。
61.针对上述思路存在的缺陷,发明人继续进行研究,通过不断研究,最终提出了一种语音识别模型训练方法,经由该语音识别模型训练方法可训练得到能够对低资源类别的语音具有较好识别效果且较为稳定的语音识别模型,且该方法完美克服了上述思路的缺陷。
62.本发明提供的语音识别模型训练方法可应用于具有数据处理能力的电子设备,该电子设备可以为用户侧使用的终端,比如智能手机、pc、笔记本电脑、平板电脑、掌上电脑等,电子设备也可以为服务器,服务器可以是一台服务器,也可以是由多台服务器组成的服务器集,或者是一个云计算服务器中心,服务器可以包括处理器、存储器以及网络接口等。
63.上述的终端或服务器可按本发明提供的语音识别模型训练方法训练得到性能较好的语音识别模型。本领域技术人员应能理解,上述终端和服务器仅为举例,其它现有的或今后可能出现的终端或服务器如可适用于本发明,也应包含在本发明保护范围以内,并在此以引用方式包含于此。
64.接下来通过下述实施例对本发明提供的语音识别模型训练方法进行介绍。
65.第一实施例
66.请参阅图1,示出了本发明实施例提供的语音识别模型训练方法的流程示意图,可以包括:
67.步骤s101:利用任务总集对构建的语音识别模型进行第一阶段的训练,得到第一阶段训练后的语音识别模型。
68.可选的,构建的语音识别模型可以为transformer框架的语音识别模型,当然本实施例并不限定于此,构建的语音识别模型还可以为其它框架的语音识别模型,比如,conformer框架的语音别模型,本实施例对语音识别模型的框架不做限定。
69.本实施例中的任务总集中包括多个第一类别分别对应的任务,任务总集中的每个任务根据对应第一类别的训练语音构建。
70.需要说明的是,第一类别为设定的多个类别中,所具有的语音资源的总时长大于第一预设时长阈值(比如1000小时)的类别,即,第一类别为具有丰富语音资源的类别。
71.示例性的,设定的多个类别可以为设定的多个语言类别,则多个第一类别为多个具有丰富语音资源的语言类别,任务总集中包括多个具有丰富语音资源的语言类别分别对应的任务,任务总集中的每个任务根据对应语言类别的语音数据构建,假设多个具有丰富语音资源的语言类别包括英语、德语、法语,则任务总集中包括英语、德语、法语分别对应的任务,其中,英语对应的任务根据英语的训练语音构建,德语对应的任务根据德语的训练语音构建,法语对应的任务根据法语的训练语音构建。
72.示例性的,设定的多个类别可以为同一语言类别下的多个口音类别,则多个第一
类别为多个具有丰富语音资源的口音类别,任务总集中包括多个具有丰富语音资源的口音类别分别对应的任务,任务总集中的每个任务根据对应口音类别的语音数据构建,假设多个具有丰富语音资源的口音类别包括某个语言类别下的a口音、b口音、c口音,则任务总集中包括a口音、b口音、c口音分别对应的任务,其中,a口音对应的任务根据a口音的训练语音构建,b口音对应的任务根据b口音的训练语音构建,c口音对应的任务根据c口音的训练语音构建。
73.具体的,根据一第一类别的训练语音构建该第一类别对应的任务的过程可以包括:在获得该第一类别的训练语音后,对该第一类别的训练语音提取声学特征,将对该第一类别的训练语音提取的声学特征作为该第一类别对应的任务。示例性的,对第一类别的训练语音提取的声学特征可以为fbank 40维声学特征。
74.为了加快模型收敛速度,减少第一阶段的训练时间,本发明在对语音识别模型进行第一阶段训练的过程中,引入学习率自行学习策略以及一阶梯度计算策略,即,通过自行学习适合任务总集中任务的学习率来把控模型参数更新方向,通过一阶梯度的计算对模型参数进行更新。
75.步骤s102:利用第二类别的训练语音,对第一阶段训练后的语音识别模型进行第二阶段的训练。
76.其中,第二类别为设定的多个类别中,所具有的语音资源的总时长小于或等于第二预设时长阈值的类别(比如50小时),即第二类别为具有较少语音资源的类别。需要说明的是,第二预设时长阈值小于第一预设时长阈值。
77.示例性的,设定的多个类别为设定的多个语言类别,则第二类别为具有较少语音资源的语言类别,即低资源语言类别。
78.示例性的,设定的多个类别为同一语言类别下的多个口音类别,则第二类别为具有较少语音资源的口音类别,即低资源口音类别。
79.本发明实施例提供语音识别模型训练方法,首先利用任务总集对构建的语音识别模型进行第一阶段的训练,得到第一阶段训练后的语音识别模型,然后利用第二类别的训练语音,对第一阶段训练后的语音识别模型进行第二阶段的训练。本发明实施例提供的语音识别模型训练方法采用基于具有丰富语音资源的多个第一类别的训练语音构建的任务总集和低资源语音类别的训练语,可训练得到能够对低资源语音类别的语音具有较好识别效果且稳定性较好的语音识别模型,另外,本发明实施例在对语音识别模型进行第一阶段训练的过程中,通过自行学习适合任务总集中任务的学习率来把控模型参数更新方向,以及,通过一阶梯度的计算对模型参数进行更新,这两种策略减少了模型训练消耗的计算时间与资源,减少了学习率手动调整的时间消耗,加快了模型收敛速度,减少了模型训练所消耗的时间。
80.第二实施例
81.本实施例对上述实施例中的“步骤s101:利用任务总集对构建的语音识别模型进行第一阶段的训练,得到第一阶段训练后的语音识别模型”进行介绍。
82.请参阅图2,示出了利用任务总集对构建的语音识别模型进行第一阶段的训练的流程示意图,可以包括:
83.步骤s201:从任务总集中获取第一数量的任务组成当前任务子集。
84.其中,从任务总集中获取的任务的具体数量,即第一数量的具体取值,可根据具体的应用场景设定。
85.步骤s202:基于当前任务子集、语音识别模型,以及上一任务子集对应的模型参数和学习率,确定针对当前任务子集的一阶梯度。
86.需要说明的是,对于首个任务子集而言,实际不存在“上一任务子集”,即不存在“上一任务子集对应的模型参数和学习率”,此时,步骤s202中的“上一任务子集对应的模型参数和学习率”采用初始的模型参数和初始的学习率。
87.在一种可能的实现方式中,初始的模型参数可通过随机初始化得到,在另一种可能的实现方式中,可采用已训练好的且与本实施例中的语音识别模型的框架相同的模型的模型参数作为本实施例中的语音识别模型初始的模型参数。
88.需要说明的是,初始的学习率的形状与初始的模型参数的形状相同,初始的学习率的取值可通过随机初始化得到。本发明采用学习率自行学习的策略,在语音识别模型的训练过程中,在初始的学习率的基础上,自动根据训练情况对学习率不断进行更新,而无需对学习率手动调整。
89.具体的,基于当前任务子集、语音识别模型,以及上一任务子集对应的模型参数和学习率,确定针对当前任务子集的一阶梯度的过程可以包括:
90.步骤s2021、从当前任务子集中获取一未处理过的任务,作为当前任务。
91.步骤s2022、利用语音识别模型处理当前任务,基于当前任务的处理结果和当前任务对应的标签信息,确定语音识别模型在当前任务上的预测损失。
92.其中,当前任务的处理结果能够表征语音识别模型对当前任务所对应语音的识别情况,当前任务对应的标签信息能够表征当前任务对应的语音数据的文本标注信息。
93.具体的,利用语音识别模型处理当前任务,基于当前任务的处理结果和当前任务对应的标签信息,确定语音识别模型在当前任务上的预测损失的过程可以包括:
94.步骤a1、从当前任务中获取第二数量的数据点组成数据点集。
95.其中,数据点集中的每个数据点对应有标签信息。
96.可选的,可按语音识别模型的建模单元从当前任务中获取第二数量的数据点。示例性,语音识别模型的建模单元为子词,第二数量为10240,则可从当前任务中获取10240个子词分别对应的特征信息,作为10240个数据点,即每个数据点为一子词对应的特征信息。
97.本实施例并不限定按语音识别模型的建模单元从当前任务中获取第二数量的数据点,还可采用其它方式,比如,按整条语音从当前任务中获取第二数量的数据点,假设第二数量为10,则从当前任务中获取10条语音分别对应的特征信息,按整条语音从当前任务中获取的每个数据点为一条语音对应的特征信息。
98.步骤a2、将数据点集输入语音识别模型进行处理,得到语音识别模型输出的处理结果。
99.语音识别模型对输入的数据点集中的每个数据点进行处理,输出数据点集中的每个数据点对应的处理结果,每个数据点对应的处理结果能够表征语音识别模型对该数据点对应语音的识别情况。
100.步骤a3、根据语音识别模型输出的处理结果和数据点集中的每个数据点对应的标签信息,计算语音识别模型在当前任务上的预测损失。
101.具体的,可根据语音识别模型输出的处理结果和数据点集中的每个数据点对应的标签信息,计算语音识别模型在当前遍历到的任务上的交叉熵损失,若当前任务为当前任务子集中的第i个任务ti,则语音识别模型在当前任务ti上的预测损失可通过下式计算:
[0102][0103]
其中,xj表示数据点集中的第j个数据点,yj表示数据点xj对应的标签信息,f
θ
表示语音识别模型,θ表示语音识别模型的模型参数,f
θ
(xj)表示语音识别模型对数据点xj进行处理后输出的处理结果。
[0104]
步骤s2023、根据语音识别模型在当前任务上的预测损失计算一阶梯度,计算得到的一阶梯度作为针对当前任务的一阶梯度。
[0105]
具体的,可通过将语音识别模型在当前任务上的预测损失对θ求导,来获得一阶梯度,获得的一阶梯度作为针对当前任务ti的一阶梯度可将一阶梯度可表示为梯度张量g
θ
形式。
[0106]
步骤s2024、根据针对当前任务的一阶梯度、针对上一任务的参数、上一任务子集对应的学习率,确定针对当前任务的参数。
[0107]
具体的,可根据针对当前任务的一阶梯度、针对上一任务的参数、上一任务子集对应的学习率,按下式示出的计算方式,计算针对当前任务ti的参数
[0108][0109]
其中,表示针对上一任务的参数,α
m-1
表示上一任务子集对应的学习率(假设当前任务子集为第m个任务子集),k表示数据点集中数据点的总数量(即上述的第二数量)。需要说明的是,若当前任务为当前任务子集中的首个任务,则“上一任务的参数”采用上一任务子集对应的模型参数θ
m-1

[0110]
在一种可能的实现方式中,步骤s2022~步骤s2024可执行一次,为了能够获得较优的一阶梯度,在另一种可能的实现方式中,步骤s2022~步骤s2024可执行k次(k取大于1的整数,k的具体取值可根据具体应用场景设定)。
[0111]
需要说明的是,在将步骤s2022~步骤s2024执行k次的实现方式中,语音识别模型处理的数据点集不同,假设k=3,针对当前任务第一次执行步骤s2022~步骤s2024时的数据点集为d1,针对当前任务第二次执行步骤s2022~步骤s2024时的数据点集为d2,针对当前任务第三次执行步骤s2022~步骤s2024时的数据点集为d3,则d1、d2和d3为不同的数据点集。
[0112]
步骤s2025、判断当前任务子集中是否还存在未处理过的任务,若否,则执行步骤s2026,若是,则转入步骤s2021。
[0113]
步骤s2026、将针对最后处理的任务的一阶梯度,确定为针对当前任务子集的一阶梯度。
[0114]
需要说明的是,若步骤s2022~步骤s2024执行k次,则将针对最后处理的任务在第k次确定的一阶梯度,确定为针对当前任务子集的一阶梯度。
[0115]
步骤s203:基于上一任务子集对应的模型参数和学习率以及针对当前任务子集的一阶梯度,确定当前任务子集对应的模型参数和学习率,并将语音识别模型的模型参数更新为当前任务子集对应的模型参数。
[0116]
具体的,可根据上一任务子集对应的模型参数和学习率以及针对当前任务子集的一阶梯度,按下式示出的计算方式,计算得到当前任务子集对应的模型参数和学习率:
[0117]
θm=θ
m-1-βg
θ

/n(3)
[0118]
αm=α
m-1-βg
θ

/n(4)
[0119]
其中,θm表示当前任务子集对应的模型参数,αm表示当前任务子集对应的学习率,θ
m-1
表示上一任务子集对应的模型参数,α
m-1
表示上一任务子集对应的学习率,g
θ

表示针对当前任务子集的一阶梯度,β为设定参数,n表示当前任务子集中任务的总数量。
[0120]
步骤s204:判断当前是否满足训练结束条件,若是,则结束第一阶段的训练,若否,则转入步骤s201。
[0121]
可选的,训练结束条件可以为达到预设的训练迭代次数,当然,本实施例并不限定于此,训练结束条件还可为其它,比如,模型收敛。
[0122]
第三实施例
[0123]
本实施例对上述实施例中“步骤s102:利用第二类别的训练语音,对第一阶段训练后的语音识别模型进行第二阶段的训练”的实现过程进行介绍。
[0124]
利用第二类别的训练语音,对第一阶段训练后的语音识别模型进行第二阶段的训练的实现方式有多种,在一种可能的实现方式中,可只利用第二类别的训练语音,对第一阶段训练后的语音识别模型进行第二阶段的训练,为了获得性能更佳的语音识别模型,本实施例提供了另一种可能的实现方式,请参阅图3,示出了该实现方式的流程示意图,可以包括:
[0125]
步骤s301:采用一种或多种语音扩增方式,对第二类别的训练语音进行扩增处理,得到扩增后语音。
[0126]
具体的,针对第二类别的每条训练语音,可采用如下语音扩增方式中的一种或多种对该条训练语音进行处理:音量扩增、速度扩增(比如0.9倍速度扩增、1.1倍速度扩增)、加噪声扩增(比如加白噪声扩增)、加混响扩增(比如小房间加混响扩增、中房间加混响扩增等)等。
[0127]
示例性的,对一条语音分别按音量扩增、0.9倍速度扩增、1.1倍速度扩增、加白噪声扩增、小房间加混响扩增、中房间加混响扩增这6种方式进行扩增处理后,可获得6条扩增后语音。通过语音扩增可增加训练语音的数量。
[0128]
需要说明的是,第二类别的每条训练语音标注有文本,在对一条训练语音进行扩增得到扩增后语音后,为扩增后语音标注该条训练语音标注的文本,比如,一条训练语音a的标注文本为“今天天气真好”,对训练语音a进行扩增处理后得到的扩增语音为a

,则为a

标注“今天天气真好”。
[0129]
步骤s302:利用第二类别的训练语音以及扩增后语音,对第一阶段训练后的语音识别模型进行第二阶段的训练。
[0130]
具体的,将扩增后语音作为训练语音与原始训练语音一同组成第二阶段的训练数据集。在进行第二阶段的训练时,从训练数据集中获取训练语音,对获取的训练语音提取声
学特征(比如fbank 40维声学特征),将提取的声学特征输入第一阶段训练后的语音识别模型,以获得语音识别的输出结果,根据语音识别的输出结果和训练语音的标注文本确定预测损失,根据预测损失对语音识别模型的模型参数进行更新。按上述过程对第一阶段训练后的语音识别模型进行多次迭代训练,直至满足训练结束条件,训练结果后便得到最终的语音识别模型。
[0131]
本发明实施例提供的语音识别模型训练方法,采用基于具有丰富语音资源的多个第一类别的训练语音构建的任务总集对构建的语音识别模型进行第一阶段的训练,在第一阶段训练的基础上,本发明采用少量低资源类别的训练语音便可快速地训练出对低资源类别的语音具有较好识别效果的语音识别模型,该语音识别模型的识别效果大大超过了直接用低资源类别的训练语音训练得到的语音识别模型的识别效果,也较为稳定地超过了用传统深度学习方法以“预训练+微调”形式训练得到的语音识别模型的识别效果。采用本发明实施例提供的语音识别模型训练方法训练得到的语音识别模型具有较高的识别准确率和稳定性。
[0132]
第四实施例
[0133]
在上述实施例提供的语音识别模型训练方法的基础上,本实施例提供了一种语音识别方法,该语音识别方法可以包括:
[0134]
步骤b1、获取第二类别的目标语音。
[0135]
其中,第二类别为设定的多个类别中,所具有的语音资源的总时长小于或等于第二预设时长阈值(比如50小时)的类别,即第二类别为具有较少语音资源的类别,目标语音为待识别语音。
[0136]
步骤b2、基于预先训练得到的语音识别模型对目标语音进行识别,得到所述目标语音的识别结果。
[0137]
其中,语音识别模型采用上述实施例提供的语音识别模型训练方法训练得到。
[0138]
由于经由上述实施例提供的语音识别模型训练方法训练得到的语音识别模型为对第二类别的语音具有较好识别效果且较为稳定的语音识别模型,因此,基于其对第二类别的目标语音进行语音识别,能够获得较为准确的语音识别结果。
[0139]
第五实施例
[0140]
本发明实施例还提供了一种语音识别模型训练装置,下面对本发明实施例提供的语音识别模型训练装置进行描述,下文描述的语音识别模型训练装置与上文描述的语音识别模型训练方法可相互对应参照。
[0141]
请参阅图4,示出了本发明实施例提供的语音识别模型训练装置的结构示意图,可以包括:第一训练模块401和第二训练模块402。
[0142]
第一训练模块401,用于利用任务总集对构建的语音识别模型进行第一阶段的训练,得到第一阶段训练后的语音识别模型。
[0143]
其中,所述任务总集中包括多个第一类别分别对应的任务,所述任务根据对应第一类别的训练语音构建,所述第一类别为设定的多个类别中,所具有的语音资源的总时长大于或等于第一预设时长阈值的类别。
[0144]
其中,在对语音识别模型进行第一阶段训练的过程中,通过自行学习适合所述任务总集中任务的学习率来把控模型参数更新方向,通过一阶梯度的计算对模型参数进行更
新。
[0145]
第二训练模块402,用于利用第二类别的训练语音,对第一阶段训练后的语音识别模型进行第二阶段的训练。
[0146]
其中,所述第二类别为所述多个类别中,所具有的语音资源的总时长小于或等于第二预设时长阈值的类别。
[0147]
可选的,本发明实施例提供的语音识别模型训练装置还可包括:任务构建模块。任务构建模块,用于构建多个第一类别分别对应的任务。
[0148]
任务构建模块在构建多个第一类别分别对应的任务时,具体用于:
[0149]
针对每个第一类别:
[0150]
获取该第一类别的训练语音;
[0151]
对该第一类别的训练语音提取声学特征;
[0152]
将对该第一类别的训练语音提取的声学特征作为该第一类别对应的任务
[0153]
可选的,第一训练模块401在利用任务总集对构建的语音识别模型进行第一阶段的训练时,具体用于:
[0154]
从所述任务总集中获取第一数量的任务组成当前任务子集;
[0155]
基于当前任务子集、语音识别模型,以及上一任务子集对应的模型参数和学习率,确定针对当前任务子集的一阶梯度;其中,若当前任务子集为首个任务子集,则上一任务子集对应的模型参数和学习率采用初始的模型参数和初始的学习率;
[0156]
基于上一任务子集对应的模型参数和学习率,以及针对当前任务子集的一阶梯度,确定当前任务子集对应的模型参数和学习率,并将语音识别模型的模型参数更新为当前任务子集对应的模型参数;
[0157]
执行所述从所述任务总集中获取第一数量的任务组成当前任务子集及后续步骤,直至满足训练结束条件。
[0158]
可选的,第一训练模块401在基于当前任务子集、语音识别模型,以及上一任务子集对应的模型参数和学习率,确定针对当前任务子集的一阶梯度时,具体用于:
[0159]
从当前任务子集中获取未处理过的任务作为当前任务;
[0160]
利用语音识别模型处理当前任务,并基于当前任务的处理结果和当前任务对应的标签信息,确定语音识别模型在当前任务上的预测损失;
[0161]
根据语音识别模型在当前任务上的预测损失计算一阶梯度,计算得到的一阶梯度作为针对当前任务的一阶梯度;
[0162]
根据针对当前任务的一阶梯度、针对上一任务的参数、上一任务子集对应的学习率,确定针对当前任务的参数,其中,语音识别模型基于针对当前任务的参数处理下一任务,其中,若当前任务为首个任务,则针对上一任务的参数采用上一任务子集对应的模型参数;
[0163]
将针对最后处理的任务的一阶梯度,确定为针对当前任务子集的一阶梯度。
[0164]
可选的,第一训练模块401在利用语音识别模型处理当前任务,并基于当前任务的处理结果和当前任务对应的标签信息,确定语音识别模型在当前任务上的预测损失时,具体用于:
[0165]
从当前任务中获取第二数量的数据点组成数据点集,其中,所述数据点集中的每
个数据点对应有标签信息;
[0166]
将所述数据点集输入语音识别模型进行处理,得到语音识别模型输出的处理结果;
[0167]
根据所述语音识别模型输出的处理结果和所述数据点集中每个数据点对应的标签信息,计算语音识别模型在当前任务上的预测损失。
[0168]
可选的,第一训练模块401在确定出针对当前任务的参数后,还用于:
[0169]
判断在当前任务上的迭代次数是否达到预设的迭代次数;
[0170]
若是,则执行所述从当前任务子集中获取未处理过的任务作为当前任务及后续步骤,若否,则执行所述从当前任务中获取第二数量的数据点组成数据点集及后续步骤。
[0171]
可选的,第二训练模块402在利用第二类别的训练语音,对第一阶段训练后的语音识别模型进行第二阶段的训练时,具体用于:
[0172]
采用一种或多种语音扩增方式,对所述第二类别的训练语音进行扩增处理,得到扩增后语音;
[0173]
利用所述第二类别的训练语音以及所述扩增后语音,对第一阶段训练后的语音识别模型进行第二阶段的训练。
[0174]
本发明实施例提供语音识别模型训练装置,首先利用任务总集对构建的语音识别模型进行第一阶段的训练,得到第一阶段训练后的语音识别模型,然后利用第二类别的训练语音,对第一阶段训练后的语音识别模型进行第二阶段的训练。本发明实施例提供的语音识别模型训练装置采用基于具有丰富语音资源的多个第一类别的训练语音构建的任务总集和低资源语音类别的训练语,可训练得到能够对低资源语音类别的语音具有较好识别效果且稳定性较好的语音识别模型,另外,本发明实施例在对语音识别模型进行第一阶段训练的过程中,通过自行学习适合任务总集中任务的学习率来把控模型参数更新方向,以及,通过一阶梯度的计算对模型参数进行更新,这两种策略减少了模型训练消耗的计算时间与资源,减少了学习率手动调整的时间消耗,加快了模型收敛速度,减少了模型训练所消耗的时间。
[0175]
第六实施例
[0176]
本发明实施例还提供了一种语音识别装置,下面对本发明实施例提供的语音识别装置进行描述,下文描述的语音识别装置与上文描述的语音识别方法可相互对应参照。
[0177]
本发明实施例提供的语音识别装置可包括:语音获取模块和语音识别模块。
[0178]
语音获取模块,用于获取第二类别的目标语音。
[0179]
语音识别模块,用于基于预先训练得到的语音识别模型对所述目标语音进行识别,得到所述目标语音的识别结果。
[0180]
其中,语音识别模型采用上述实施例提供的语音识别模型训练装置训练得到。
[0181]
由于经由上述实施例提供的语音识别模型训练装置训练得到的语音识别模型为对第二类别的语音具有较好识别效果且较为稳定的语音识别模型,因此,基于其对第二类别的目标语音进行语音识别,能够获得较为准确的语音识别结果。
[0182]
第七实施例
[0183]
本发明实施例还提供了一种数据处理设备,请参阅图5,示出了该数据处理设备的结构示意图,该数据处理设备可以包括:至少一个处理器501,至少一个通信接口502,至少
一个存储器503和至少一个通信总线504;
[0184]
在本发明实施例中,处理器501、通信接口502、存储器503、通信总线504的数量为至少一个,且处理器501、通信接口502、存储器503通过通信总线504完成相互间的通信;
[0185]
处理器501可能是一个中央处理器cpu,或者是特定集成电路asic(application specific integrated circuit),或者是被配置成实施本发明实施例的一个或多个集成电路等;
[0186]
存储器503可能包含高速ram存储器,也可能还包括非易失性存储器(non-volatile memory)等,例如至少一个磁盘存储器;
[0187]
其中,存储器存储有程序,处理器可调用存储器存储的程序,所述程序用于:
[0188]
利用任务总集对构建的语音识别模型进行第一阶段的训练,得到第一阶段训练后的语音识别模型;其中,所述任务总集中包括多个第一类别分别对应的任务,所述任务根据对应第一类别的训练语音构建,所述第一类别为设定的多个类别中,所具有的语音资源的总时长大于或等于第一预设时长阈值的类别,在对语音识别模型进行第一阶段训练的过程中,通过自行学习适合所述任务总集中任务的学习率来把控模型参数更新方向,通过一阶梯度的计算对模型参数进行更新;
[0189]
利用第二类别的训练语音,对第一阶段训练后的语音识别模型进行第二阶段的训练;其中,所述第二类别为所述设定的多个类别中,所具有的语音资源的总时长小于或等于第二预设时长阈值的类别。
[0190]
可选的,所述程序的细化功能和扩展功能可参照上文描述。
[0191]
第八实施例
[0192]
本发明实施例还提供一种可读存储介质,该可读存储介质可存储有适于处理器执行的程序,所述程序用于:
[0193]
利用任务总集对构建的语音识别模型进行第一阶段的训练,得到第一阶段训练后的语音识别模型;其中,所述任务总集中包括多个第一类别分别对应的任务,所述任务根据对应第一类别的训练语音构建,所述第一类别为设定的多个类别中,所具有的语音资源的总时长大于或等于第一预设时长阈值的类别,在对语音识别模型进行第一阶段训练的过程中,通过自行学习适合所述任务总集中任务的学习率来把控模型参数更新方向,通过一阶梯度的计算对模型参数进行更新;
[0194]
利用第二类别的训练语音,对第一阶段训练后的语音识别模型进行第二阶段的训练;其中,所述第二类别为所述设定的多个类别中,所具有的语音资源的总时长小于或等于第二预设时长阈值的类别。
[0195]
可选的,所述程序的细化功能和扩展功能可参照上文描述。
[0196]
第九实施例
[0197]
本发明实施例还提供了另一种数据处理设备,该数据处理设备可以包括:至少一个处理器,至少一个通信接口,至少一个存储器和至少一个通信总线;
[0198]
在本发明实施例中,处理器、通信接口、存储器、通信总线的数量为至少一个,且处理器、通信接口、存储器通过通信总线完成相互间的通信;
[0199]
处理器可能是一个中央处理器cpu,或者是特定集成电路asic(application specific integrated circuit),或者是被配置成实施本发明实施例的一个或多个集成电
路等;
[0200]
存储器可能包含高速ram存储器,也可能还包括非易失性存储器(non-volatile memory)等,例如至少一个磁盘存储器;
[0201]
其中,存储器存储有程序,处理器可调用存储器存储的程序,所述程序用于:
[0202]
获取第二类别的目标语音;
[0203]
基于预先训练得到的语音识别模型对所述目标语音进行识别,得到所述目标语音的识别结果;
[0204]
其中,所述语音识别模型采用上述实施例提供的语音识别模型训练方法训练得到。
[0205]
可选的,所述程序的细化功能和扩展功能可参照上文描述。
[0206]
第十实施例
[0207]
本发明实施例还提供一种可读存储介质,该可读存储介质可存储有适于处理器执行的程序,所述程序用于:
[0208]
获取第二类别的目标语音;
[0209]
基于预先训练得到的语音识别模型对所述目标语音进行识别,得到所述目标语音的识别结果;
[0210]
其中,所述语音识别模型采用上述实施例提供的语音识别模型训练方法训练得到。
[0211]
可选的,所述程序的细化功能和扩展功能可参照上文描述。
[0212]
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
[0213]
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。
[0214]
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。

技术特征:


1.一种语音识别模型训练方法,其特征在于,包括:利用任务总集对构建的语音识别模型进行第一阶段的训练,得到第一阶段训练后的语音识别模型;其中,所述任务总集中包括多个第一类别分别对应的任务,所述任务根据对应第一类别的训练语音构建,所述第一类别为设定的多个类别中,所具有的语音资源的总时长大于或等于第一预设时长阈值的类别,在对语音识别模型进行第一阶段训练的过程中,通过自行学习适合所述任务总集中任务的学习率来把控模型参数更新方向,通过一阶梯度的计算对模型参数进行更新;利用第二类别的训练语音,对第一阶段训练后的语音识别模型进行第二阶段的训练;其中,所述第二类别为所述设定的多个类别中,所具有的语音资源的总时长小于或等于第二预设时长阈值的类别。2.根据权利要求1所述的语音识别模型训练方法,其特征在于,构建所述多个第一类别分别对应的任务,包括:针对每个第一类别:获取该第一类别的训练语音;对该第一类别的训练语音提取声学特征;将对该第一类别的训练语音提取的声学特征作为该第一类别对应的任务。3.根据权利要求1所述的语音识别模型训练方法,其特征在于,所述利用任务总集对构建的语音识别模型进行第一阶段的训练,包括:从所述任务总集中获取第一数量的任务组成当前任务子集;基于当前任务子集、语音识别模型,以及上一任务子集对应的模型参数和学习率,确定针对当前任务子集的一阶梯度;其中,若当前任务子集为首个任务子集,则上一任务子集对应的模型参数和学习率采用初始的模型参数和初始的学习率;基于上一任务子集对应的模型参数和学习率,以及针对当前任务子集的一阶梯度,确定当前任务子集对应的模型参数和学习率,并将语音识别模型的模型参数更新为当前任务子集对应的模型参数;执行所述从所述任务总集中获取第一数量的任务组成当前任务子集及后续步骤,直至满足训练结束条件。4.根据权利要求3所述的语音识别模型训练方法,其特征在于,所述基于当前任务子集、语音识别模型,以及上一任务子集对应的模型参数和学习率,确定针对当前任务子集的一阶梯度,包括:从当前任务子集中获取未处理过的任务作为当前任务;利用语音识别模型处理当前任务,并基于当前任务的处理结果和当前任务对应的标签信息,确定语音识别模型在当前任务上的预测损失;根据语音识别模型在当前任务上的预测损失计算一阶梯度,计算得到的一阶梯度作为针对当前任务的一阶梯度;根据针对当前任务的一阶梯度、针对上一任务的参数、上一任务子集对应的学习率,确定针对当前任务的参数,其中,语音识别模型基于针对当前任务的参数处理下一任务,其中,若当前任务为首个任务,则针对上一任务的参数采用上一任务子集对应的模型参数;将针对最后处理的任务的一阶梯度,确定为针对当前任务子集的一阶梯度。
5.根据权利要求4所述的语音识别模型训练方法,其特征在于,所述利用语音识别模型处理当前任务,并基于当前任务的处理结果和当前任务对应的标签信息,确定语音识别模型在当前任务上的预测损失,包括:从当前任务中获取第二数量的数据点组成数据点集,其中,所述数据点集中的每个数据点对应有标签信息;将所述数据点集输入语音识别模型进行处理,得到语音识别模型输出的处理结果;根据所述语音识别模型输出的处理结果和所述数据点集中每个数据点对应的标签信息,计算语音识别模型在当前任务上的预测损失。6.根据权利要求5所述的语音识别模型训练方法,其特征在于,在所述确定针对当前任务的参数后,还包括:判断在当前任务上的迭代次数是否达到预设的迭代次数;若是,则执行所述从当前任务子集中获取未处理过的任务作为当前任务及后续步骤,若否,则执行所述从当前任务中获取第二数量的数据点组成数据点集及后续步骤。7.根据权利要求1所述的语音识别模型训练方法,其特征在于,所述利用第二类别的训练语音,对第一阶段训练后的语音识别模型进行第二阶段的训练,包括:采用一种或多种语音扩增方式,对所述第二类别的训练语音进行扩增处理,得到扩增后语音;利用所述第二类别的训练语音以及所述扩增后语音,对第一阶段训练后的语音识别模型进行第二阶段的训练。8.一种语音识别方法,其特征在于,包括:获取第二类别的目标语音;基于预先训练得到的语音识别模型对所述目标语音进行识别,得到所述目标语音的识别结果;其中,所述语音识别模型采用如权利要求1~7中任一项所述的语音识别模型训练方法训练得到。9.一种语音识别模型训练装置,其特征在于,包括:第一训练模块和第二训练模块;所述第一训练模块,用于利用任务总集对构建的语音识别模型进行第一阶段的训练,得到第一阶段训练后的语音识别模型;其中,所述任务总集中包括多个第一类别分别对应的任务,所述任务根据对应第一类别的训练语音构建,所述第一类别为设定的多个类别中,所具有的语音资源的总时长大于第一预设时长阈值的类别,在对语音识别模型进行第一阶段训练的过程中,通过自行学习适合所述任务总集中任务的学习率来把控模型参数更新方向,通过一阶梯度的计算对模型参数进行更新;所述第二训练模块,用于利用第二类别的训练语音,对第一阶段训练后的语音识别模型进行第二阶段的训练;其中,所述第二类别为所述多个类别中,所具有的语音资源的总时长小于或等于第二预设时长阈值的类别。10.一种数据处理设备,其特征在于,包括:存储器和处理器;所述存储器,用于存储程序;所述处理器,用于执行所述程序,实现如权利要求1~7中任一项所述的语音识别模型训练方法的各个步骤,和/或,实现如权利要求8所述的语音识别方法的各个步骤。
11.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时,实现如权利要求1~7中任一项所述的语音识别模型训练方法的各个步骤,和/或,实现如权利要求8所述的语音识别方法的各个步骤。

技术总结


本发明提供了一种语音识别模型训练方法、语音识别方法及相关设备,训练方法包括:利用任务总集对构建的语音识别模型进行第一阶段的训练,得到第一阶段训练后的语音识别模型,任务总集中包括多个第一类别分别对应的任务,在进行第一阶段训练的过程中,通过自行学习适合任务总集中任务的学习率来把控模型参数更新方向,通过一阶梯度的计算对模型参数进行更新;利用第二类别的训练语音,对第一阶段训练后的语音识别模型进行第二阶段的训练。采用本发明提供的语音识别模型训练方法可训练得到对第二类别的语音具有较好识别效果且具有较高稳定性的语音识别模型,利用该语音识别模型对第二类别的待识别语音进行识别,可获得准确率较高的识别结果。率较高的识别结果。率较高的识别结果。


技术研发人员:

桑宏报 方磊 何雪 杨军 方四安 柳林

受保护的技术使用者:

合肥讯飞数码科技有限公司

技术研发日:

2022.07.13

技术公布日:

2022/10/13

本文发布于:2024-09-23 18:30:43,感谢您对本站的认可!

本文链接:https://www.17tex.com/tex/1/26690.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:模型   语音识别   语音   所述
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2024 Comsenz Inc.Powered by © 易纺专利技术学习网 豫ICP备2022007602号 豫公网安备41160202000603 站长QQ:729038198 关于我们 投诉建议