一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

语音模型训练方法、装置和电子设备与流程

2021-07-09 13:32:00 来源:中国专利 TAG:语音 电子设备 装置 模型 训练


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.图1是本申请实施例提供的一种语音模型训练方法的流程图;
44.图2是本申请实施例提供的一种语音模型训练装置的结构示意图;
45.图3是本申请实施例提供的一种电子设备的结构示意图。
具体实施方式
46.下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
47.本申请的说明书和权利要求书中的术语“第一”、“第二”等是用于区别类似的对象,而不用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便本申请的实施例能够以除了在这里图示或描述的那些以外的顺序实施,且“第一”、“第二”等所区分的对象通常为一类,并不限定对象的个数,例如第一对象可以是一个,也可以是多个。此外,说明书以及权利要求中“和/或”表示所连接对象的至少其中之一,字符“/”,一般表示前后关联对象是一种“或”的关系。
48.下面结合附图,通过具体的实施例及其应用场景对本申请实施例提供的语音模型训练方法进行详细地说明。
49.请参见图1,图1为本申请实施例提供的语音模型训练方法的流程图,如图1所示,该方法包括以下步骤:
50.步骤101、获取训练数据集。
51.上述训练数据集可以是收集的包括各式语句的语音数据集,且包括唤醒词语音数据,唤醒词例如可以是“你好同学”、“小贝小贝”等用于唤醒设备的词语。
52.步骤102、将训练数据集中的训练语音数据,分别输入初始唤醒模型和预先训练好的语音识别模型中,得到初始唤醒模型的第一输出数据和语音识别模型的第二输出数据,其中,初始唤醒模型的建模单元为三音素单状态,语音识别模型的建模单元为三音素三状态,同一三音素对应的三状态和单状态之间存在映射关系,初始唤醒模型与语音识别模型除建模单元外的其他部分结构相同。
53.本申请实施例中,为保证训练的模型性能稳定,可以采用语音识别模型作为初始唤醒模型的基础结构,将语音识别模型的建模单元由三音素三状态修改为三音素单状态,也即相当于初始唤醒模型可复制语音识别模型的网络结构,并将模型的输出层重新初始化定义为三音素单状态。其中,音素是根据语音的自然属性划分出来的最小语音单位,从声学性质来看,音素是从音质角度划分出来的最小语音单位,如a只有一个音素,ai有两个音素,dai有三个音素等。三音素是指包括中心音素和上下文音素这三个单音素,如三音素g

x u,
其中,x为中心音素,g和u分别为中心音素x的上下文音素,三音素三状态是指每个三音素有三个隐马尔可夫模型(hidden markov model,hmm)状态,如包括状态1、状态2和状态3,三音素单状态则是指每个三音素对应一个hmm状态。另外,还可建立语音识别模型与初始唤醒模型之间的输出映射,即可以将相同三音素的三状态映射到对应的单状态上。
54.其中,语音识别模型可以是预先训练好的语音识别模型,该语音识别模型的训练方式可以是,采用语音识别训练数据集作为训练数据,采用梅尔频率倒谱系数(mel

frequency cepstral coefficients,mfcc)、滤波器组(filter bank,fbank)等算法对语音识别训练数据集中的训练数据进行语音特征提取,通过强制对齐得到输出的音素标签,使用交叉熵作为损失(loss)函数,利用梯度下降法训练初始语音识别模型,进而得到训练好的语音识别模型。
55.该步骤中,可以将训练数据集中的训练语音数据分别输入初始唤醒模型和语音识别模型中进行识别处理,并可分别获取初始唤醒模型的输出也即第一输出数据和语音识别模型的输出也即第二输出数据,其中初始唤醒模型在识别训练语音数据时,可以利用已建立的三状态与单状态的映射关系,将输出的三音素三状态标签转换为对应的三音素单状态标签。
56.这样,通过将语音识别模型的建模单元修改为三音素单状态,建立音素的三状态与单状态的映射关系,来得到待训练的初始唤醒模型,从而可在训练中结合语音识别模型的输出来计算模型训练损失值,进而使得训练得到的唤醒模型性能较为稳定。
57.可选的,训练数据集包括唤醒词数据集和语音识别数据集,语音识别数据集为语音识别模型的训练数据。
58.即在训练唤醒模型的过程中,可以采用唤醒词数据集和语音识别数据集的混合作为训练数据集,以保证唤醒模型的识别精度,其中,唤醒词数据集为包括各类唤醒词的语音数据组成的集合,例如,唤醒词数据集中有包括唤醒词“你好同学”的语音数据,包括唤醒词“小贝小贝”的语音数据,包括唤醒词“小爱同学”的语音数据等,语音识别数据集为语音识别模型的训练数据,其可以是包括不限于唤醒词的各种语音数据的集合,例如,语音识别数据集中有包括唤醒词“你好同学”的语音数据,包括普通语句“今天天气怎么样”的语音数据,包括普通语句“调小音量”的语音数据等。
59.可选的,初始唤醒模型的建模规则包括如下至少一项:
60.对于唤醒词中的音素,根据音素的上下文进行建模,其中,上下文不同的音素采用不同状态建模;
61.对于非唤醒词中的音素,使用第一预设词建模;
62.对于语音中的静音片段,使用第二预设词建模。
63.即对于唤醒模型,其建模单元可以采用和唤醒词相关的三音素单状态建模,且可以根据音素的上下文的不同选择使用不同的状态进行建模。例如“小爱同学”的音素序列为“x i ao a i t ong x ue”。其中“小”中的音素“x”由于上下文音素和“学”中的音素“x”的上下文音素不一致,即“小”中的音素“x”没有上文音素,下文音素为“i”,而“学”中的音素“x”的上下文音素分别为“g”和“u”,因此需采用两个不同的hmm状态分别建模,即音素“x i”和“g

x u”分别对应不同的状态。
64.非唤醒词即表示除定义的上述唤醒词之外的词,对于非唤醒词中的音素,可以使
用特定的预设词进行建模,例如,对于所有非唤醒词音素可以建模为“filler”,这样,唤醒模型在识别到输入语音中的音素不是唤醒词中的音素时,将默认输出“filler”,以表示该语音非唤醒语音。
65.对于语音中的静音片段,可以使用另一特定的预设词进行建模,例如,对于静音即没有说话声的音频,可以建模为“sil”,这样,唤醒模型在识别到输入语音中某一段为静音音频时,将默认输出“sil”,以表示该语音为静音。
66.这样,通过采用以上建模规则来对唤醒模型进行建模,可以保证唤醒模型能够很好地区分各种语音和准确识别唤醒词语音。
67.步骤103、根据第一输出数据、第二输出数据和训练语音数据中的标注数据,计算模型训练损失值。
68.上述训练语音数据中的标注数据可以是指预先对训练语音数据中的各帧音频标注的音素,例如,某段音频为“小爱”,则该段音频可标注为“xiaoai”。
69.该步骤中,可利用第一输出数据、第二输出数据和训练语音数据中的标注数据,计算模型训练损失值,以根据该损失值调整训练模型的参数。具体地,可以是对比第一输出数据与标注数据的误差,以及对比第二输出数据与标注数据的误差,来确定模型训练损失值;也可以通过构建合适的损失函数,利用第一输出数据、第二输出数据和标注数据作为损失函数的参数来计算出具体的损失值。
70.也就是说,步骤103可以包括:
71.计算第一输出数据与第二输出数据的第一相对熵;
72.计算第一输出数据与训练语音数据中的标注数据的第一交叉熵;
73.将第一相对熵与第一交叉熵进行加权求和,得到模型训练损失值。
74.即一种实施方式中,可以构建损失函数来计算模型训练损失值,该损失函数的表达式可以为模型训练损失值等于第一相对熵与第一交叉熵的加权和,其中,第一相对熵为第一输出数据与第二输出数据的第一相对熵,第一交叉熵为第一输出数据与标注数据的交叉熵,其中,交叉熵是两个概率分布间的差异性信息的度量,相对熵则是两个概率分布间差异的非对称性度量。
75.因此,在计算模型训练损失值时,可以将已获得的第一输出数据、第二输出数据和标注数据分别代入损失函数的表达式中,先计算第一输出数据与第二输出数据的第一相对熵,以及第一输出数据与标注数据的第一交叉熵,再计算出第一相对熵与第一交叉熵的加权和,便可计算得到模型训练损失值。
76.这样,通过基于该实施方式中的损失函数来计算模型训练损失值,可较为准确地评估模型和指导模型参数调整,进而保证最终训练出的模型的性能稳定。
77.进一步的,计算第一输出数据与第二输出数据的第一相对熵,可以包括:
78.将第二输出数据中包括的三个状态的概率值进行求和,得到第一和值;
79.计算第一输出数据与第一和值的第一相对熵。
80.即在计算第一输出数据与第二输出数据的相对熵时,考虑到语音识别模型的输出为三音素三状态,也即第二输出数据中将包括各音素的三个状态的概率值,因此,可以先将第二输出数据中映射到单状态的三个状态的概率值进行求和,再计算第一输出数据中单状态的概率值与第二输出数据中对应三状态的概率和值的相对熵。
81.这样,可使得第一相对熵的计算较为容易,且计算结果较为可信。
82.步骤104、基于模型训练损失值,对初始唤醒模型的模型参数进行调节,以使初始唤醒模型趋于收敛,得到训练好的唤醒模型。
83.在确定模型训练损失值后,可以基于模型训练损失值,对初始唤醒模型的模型参数进行针对性调节。例如,在模型训练损失值较大时,可以对模型参数进行粗调;在模型训练损失值较小时,可以对模型参数进行细调;还可参照模型训练损失值为正或为负,决定模型参数的调整方向,如将某个参数的值调大或调小。具体地,可以采用梯度下降法等来指导模型参数的调整,直至找到使模型训练损失值最小的目标模型参数。即,以模型训练损失值最小为目标,对模型进行训练。
84.需说明的是,在按照步骤102至步骤104每调整完一次模型参数后,可以基于调整后的模型参数,再次回到步骤102中,进行下一次训练,这样通过对模型参数进行反复调整,直至模型收敛,也即模型训练损失值最小,最终可得到训练好的唤醒模型。
85.本申请实施例中,由于唤醒模型相对语音识别模型只改变了输出层,因此对于唤醒模型的训练,可弱化模型训练超参数对模型性能的影响,使最终训练出来的模型性能稳定,且由于只改变了输出层,还可加速模型收敛,提升唤醒模型性能,能够获得更高的唤醒率和更低的误唤醒率。且由于将三状态改成了单状态输出,相当于压缩了模型输出层大小,从而可在兼顾模型性能的前提下,降低唤醒计算量和内存占用。
86.本申请实施例中的语音模型训练方法,通过将语音识别模型的建模单元修改为三音素单状态,建立三音素的三状态与单状态的映射关系,来得到待训练的初始唤醒模型,然后在训练过程中通过结合语音识别模型的输出来计算模型训练损失值,并基于该损失值调整模型参数,可弱化模型训练超参数对模型性能的影响,使得训练得到的唤醒模型性能较为稳定。
87.需要说明的是,本申请实施例提供的语音模型训练方法,执行主体可以为语音模型训练装置,或者该语音模型训练装置中的用于执行语音模型训练方法的控制模块。本申请实施例中以语音模型训练装置执行语音模型训练方法为例,说明本申请实施例提供的语音模型训练装置。
88.请参见图2,图2为本申请实施例提供的语音模型训练装置的结构示意图,如图2所示,语音模型训练装置200包括:
89.获取模块201,用于获取训练数据集;
90.输入模块202,用于将训练数据集中的训练语音数据,分别输入初始唤醒模型和预先训练好的语音识别模型中,得到初始唤醒模型的第一输出数据和语音识别模型的第二输出数据,其中,初始唤醒模型的建模单元为三音素单状态,语音识别模型的建模单元为三音素三状态,同一三音素对应的三状态和单状态之间存在映射关系,初始唤醒模型与语音识别模型除建模单元外的其他部分结构相同;
91.计算模块203,用于根据第一输出数据、第二输出数据和训练语音数据中的标注数据,计算模型训练损失值;
92.参数调节模块204,用于基于模型训练损失值,对初始唤醒模型的模型参数进行调节,以使初始唤醒模型趋于收敛,得到训练好的唤醒模型。
93.可选的,计算模块203包括:
94.第一计算单元,用于计算第一输出数据与第二输出数据的第一相对熵;
95.第二计算单元,用于计算第一输出数据与训练语音数据中的标注数据的第一交叉熵;
96.第三计算单元,用于将第一相对熵与第一交叉熵进行加权求和,得到模型训练损失值。
97.可选的,第一计算单元包括:
98.第一计算子单元,用于将第二输出数据中包括的三个状态的概率值进行求和,得到第一和值;
99.第二计算子单元,用于计算第一输出数据与第一和值的第一相对熵。
100.可选的,初始唤醒模型的建模规则包括如下至少一项:
101.对于唤醒词中的音素,根据音素的上下文进行建模,其中,上下文不同的音素采用不同状态建模;
102.对于非唤醒词中的音素,使用第一预设词建模;
103.对于语音中的静音片段,使用第二预设词建模。
104.可选的,训练数据集包括唤醒词数据集和语音识别数据集,语音识别数据集为语音识别模型的训练数据。
105.本申请实施例中的语音模型训练装置,通过采用与语音识别模型结构基本相同,仅建模单元不同的模型作为待训练的初始唤醒模型,然后在训练过程中通过结合语音识别模型的输出来计算模型训练损失值,并基于该损失值调整模型参数,可弱化模型训练超参数对模型性能的影响,使得训练得到的唤醒模型性能较为稳定。
106.本申请实施例中的语音模型训练装置可以是装置,也可以是电子设备中的部件、集成电路、或芯片。该装置可以是移动电子设备,也可以为非移动电子设备。示例性的,移动电子设备可以为手机、平板电脑、笔记本电脑、掌上电脑、车载电子设备、可穿戴设备、超级移动个人计算机(ultra

mobile personal computer,umpc)、上网本或者个人数字助理(personal digital assistant,pda)等,非移动电子设备可以为服务器、网络附属存储器(network attached storage,nas)、个人计算机(personal computer,pc)、电视机(television,tv)、柜员机或者自助机等,本申请实施例不作具体限定。
107.本申请实施例中的语音模型训练装置可以为具有操作系统的装置。该操作系统可以为安卓(android)操作系统,可以为ios操作系统,还可以为其他可能的操作系统,本申请实施例不作具体限定。
108.本申请实施例提供的语音模型训练装置能够实现图1的方法实施例实现的各个过程,为避免重复,这里不再赘述。
109.可选的,如图3所示,本申请实施例还提供一种电子设备300,包括处理器301,存储器302,存储在存储器302上并可在处理器301上运行的程序或指令,该程序或指令被处理器301执行时实现上述语音模型训练方法实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。
110.需要说明的是,本申请实施例中的电子设备包括上述移动电子设备和非移动电子设备。
111.本申请实施例还提供一种可读存储介质,可读存储介质上存储有程序或指令,该
程序或指令被处理器执行时实现上述语音模型训练方法实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。
112.其中,处理器为上述实施例中的电子设备中的处理器。可读存储介质,包括计算机可读存储介质,如计算机只读存储器(read

only memory,rom)、随机存取存储器(random access memory,ram)、磁碟或者光盘等。
113.需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。此外,需要指出的是,本申请实施方式中的方法和装置的范围不限按示出或讨论的顺序来执行功能,还可包括根据所涉及的功能按基本同时的方式或按相反的顺序来执行功能,例如,可以按不同于所描述的次序来执行所描述的方法,并且还可以添加、省去、或组合各种步骤。另外,参照某些示例所描述的特征可在其他示例中被组合。
114.通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如rom/ram、磁碟、光盘)中,包括若干指令用以使得一台终端(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本申请各个实施例中的方法。
115.上面结合附图对本申请的实施例进行了描述,但是本申请并不局限于上述的具体实施方式,上述的具体实施方式仅仅是示意性的,而不是限制性的,本领域的普通技术人员在本申请的启示下,在不脱离本申请宗旨和权利要求所保护的范围情况下,还可做出很多形式,均属于本申请的保护之内。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文章

  • 日榜
  • 周榜
  • 月榜