一种声纹识别方法、系统以及电子设备与流程
- 国知局
- 2024-06-21 11:37:25
本技术涉及声纹识别,特别是一种声纹识别方法、系统以及电子设备。
背景技术:
1、声纹识别,也叫说话人识别。说话人识别指通过语音来确认说话人的身份,是和语音识别处理技术类似的一种识别技术。
2、声纹识别技术在语音识别当中是非常重要的一环,在任何领域,如机器唤醒、声音认领、声纹比对等,都有着相当重要的作用。
3、声纹识别采用的技术一般基于的是利用高阶特征向量进行分类的思想。在训练模型时,将声音的低阶特征,经过神经网络映射到高阶特征,然后经过嵌入层映射到一维矩阵作为目标用来计算损失函数值。模型使用时需要去掉嵌入层,将提取到的高阶特征作为一个人的声纹特征。
4、但是,在训练数据量庞大时,这种高阶特征间的关系是具有普遍性的,但为了一般声音的准确度还是会存在一些轻微的过拟合。在这种情况下,如果目标声音(实际使用时用到的声音)和训练数据相距甚远,比如训练数据低噪而目标数据背景噪音特别大、或者训练数据的格式和目标数据不匹配时,高阶特征的提取会产生波动,导致同一个人的相似度降低,不同人之间的相似度增加,从而造成声纹识别的准确度受到影响。
5、因此,亟需一种新的声纹识别方法。
技术实现思路
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、可选地,所述通过所述目标匹配数据训练所述组合模型,得到目标声纹模型,所述第三训练模块,包括:
48、第一训练子模块,用于通过所述目标匹配数据单独训练所述组合模型的神经网络层;
49、第二训练子模块,用于在所述组合模型的神经网络层的损失函数值下降到与所述组合模型的嵌入层的损失函数值之间的差值小于第一预设差值的情况下,通过所述目标匹配数据同时训练所述组合模型的神经网络层和嵌入层,得到所述目标声纹模型。
50、可选地,所述通过所述目标匹配数据单独训练所述组合模型的神经网络层,所述第一训练子模块,包括:
51、第一计算子单元,用于将所述目标匹配数据输入所述组合模型的神经网络层,以计算所述组合模型的神经网络层的第一损失函数值;
52、第一更新子单元,用于通过所述第一损失函数值,更新所述组合模型的神经网络层的模型参数,并保持所述组合模型的嵌入层的模型参数不变。
53、可选地,所述在所述组合模型的神经网络层的损失函数值下降到与所述组合模型的嵌入层的损失函数值之间的差值小于第一预设差值的情况下,通过所述目标匹配数据同时训练所述组合模型的神经网络层和嵌入层,得到所述目标声纹模型,所述第二训练子模块,包括:
54、第二计算子单元,用于在单独训练所述组合模型的神经网络层的次数达到第一预设次数的情况下,分别计算所述组合模型的神经网络层的第一损失函数值和所述组合模型的嵌入层的第二损失函数值;
55、判断子单元,用于判断所述组合模型的神经网络层的第一损失函数值和所述组合模型的嵌入层的第二损失函数值之间的差值是否小于所述第一预设差值;
56、若是,则通过所述目标匹配数据同时训练所述组合模型的神经网络层和所述组合模型的嵌入层,得到所述目标声纹模型;
57、若否,则继续单独训练所述组合模型的神经网络层。
58、可选地,所述通过所述目标匹配数据训练所述第二声纹模型,得到全量模型,所述第二训练模块,包括:
59、第三训练子模块,用于将所述目标匹配数据输入所述第二声纹模型,以对所述第二声纹模型进行全量训练;
60、第一计算子模块,用于每进行一次全量训练,则计算一次所述第二声纹模型的神经网络层的第三损失函数值和所述第二声纹模型的嵌入层的第四损失函数值,所述第三损失函数值用于更新所述第二声纹模型的神经网络层的模型参数,所述第四损失函数值用于更新所述第二声纹模型的嵌入层的模型参数;
61、第一获得子模块,用于在所述全量训练的训练次数达到第二预设次数,和/或所述第二声纹模型的神经网络层的损失函数值以及所述第二声纹模型的嵌入层的损失函数值均降低到第一预设损失函数值的情况下,得到所述全量模型。
62、可选地,所述通过所述增量数据训练第一原始声纹模型得到增量模型,所述第一训练模块,包括:
63、选取子模块,用于从原始训练数据库中选取所述第一原始训练数据,并从预设数据库中选取所述目标匹配数据,所述目标匹配数据包括目标数据以及与所述目标数据在所述多个维度相匹配的匹配数据,所述原始训练数据库为训练得到所述第一原始声纹模型所使用的训练数据库,所述预设数据库内存储有预先录制好的具有所述多个维度的训练数据;
64、第四训练子模块,用于将所述第一原始训练数据和所述目标匹配数据作为增量数据输入所述第一原始声纹模型,以对所述第一原始声纹模型进行增量训练;
65、第二计算子模块,用于每进行一次增量训练,则计算一次所述第一原始声纹模型的神经网络层的第五损失函数值和所述第一原始声纹模型的嵌入层的第六损失函数值,所述第五损失函数值用于更新所述第一原始声纹模型的神经网络层的模型参数,所述第六损失函数值用于更新所述第一原始声纹模型的嵌入层的模型参数;
66、第二获得子模块,用于在所述增量训练的训练次数达到第三预设次数,和/或所述第一原始声纹模型的神经网络层的第五损失函数值以及所述第一原始声纹模型的嵌入层的第六损失函数值均降低到第二预设损失函数值的情况下,得到所述增量模型。
67、可选地,所述选取所述增量模型的神经网络层和所述全量模型的嵌入层,并将所选取的神经网络层和所选取的嵌入层进行合并,得到组合模型,所述合并模块,包括:
68、第三获得子模块,用于根据所述增量模型的模型结构,获取所述增量模型的神经网络层的位置;
69、第一提取子模块,用于基于所述增量模型中所述神经网络层的位置,对所述增量模型的神经网络层进行提取;
70、第四获得子模块,用于根据所述全量模型的模型结构,获取所述全量模型的嵌入层的位置;
71、第二提取子模块,用于基于所述全量模型嵌入层的位置,对所述全量模型的嵌入层进行提取;
72、合并子模块,用于将所述全量模型的嵌入层的输出作为所述增量模型的神经网络层的输入,以使所述全量模型的嵌入层和所述增量模型的神经网络层进行组合,得到所述组合模型。
73、可选地,在训练所述增量模型之前,所述方法还包括:
74、第五获得子模块,用于获取在训练所述第一原始声纹模型时所使用的第二原始训练数据中的说话人数量;
75、第一确定子模块,用于根据所述第二原始训练数据中的说话人数量,确定所述增量数据中的说话人数量。
76、本技术实施例第三方面,提供了一种电子设备,包括存储器、处理器及存储在所述存储器上的计算机程序,所述处理器执行所述计算机程序以实现如本技术第一方面所述的声纹识别方法。
77、本技术的有益效果:
78、本技术实施例提供了一种声纹识别方法,所述方法包括:获取待识别的目标声纹数据;将所述待识别的目标声纹数据输入预先训练的目标声纹模型,得到声纹识别结果;其中,所述目标声纹模型是按照以下步骤训练得到的:获取第一预设数量的增量数据,所述增量数据包括第一原始训练数据以及目标匹配数据,所述目标匹配数据与所述待识别的目标声纹数据在多个维度相匹配,所述多个维度包括背景噪音维度和数据格式维度;通过所述增量数据训练第一原始声纹模型得到增量模型;通过所述目标匹配数据训练第二声纹模型,得到全量模型;选取所述增量模型的神经网络层和所述全量模型的嵌入层,并将所选取的神经网络层和所选取的嵌入层进行合并,得到组合模型;通过所述目标匹配数据训练所述组合模型,得到目标声纹模型。本技术通过增量数据训练原始声纹模型得到增量模型,通过目标匹配数据训练声纹模型得到全量模型,并将增量模型的神经网络层和全量模型的嵌入层进行合并得到组合模型,通过目标匹配数据对组合模型进行训练得到优化后的目标声纹模型,通过目标声纹模型来识别获取的待识别的目标声纹数据,使得模型对声纹的识别的准确度大大提高。
本文地址:https://www.jishuxx.com/zhuanli/20240618/22504.html
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 YYfuon@163.com 举报,一经查实,本站将立刻删除。